mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-09 12:37:49 +00:00
Coverage at 100%.
Model for v2 and v3 has been validated, now to build out a simple high level creation API, as well as port in 3.1 models (I think there are two). and this is ready for heavier testing.
This commit is contained in:
@@ -36,12 +36,12 @@ func (t *Tag) GoLow() *low.Tag {
|
||||
return t.low
|
||||
}
|
||||
|
||||
func (t *Tag) SetName(value string) {
|
||||
t.GoLow().Name.ValueNode.Value = value
|
||||
}
|
||||
func (t *Tag) SetDescription(value string) {
|
||||
t.GoLow().Description.ValueNode.Value = value
|
||||
}
|
||||
//func (t *Tag) SetName(value string) {
|
||||
// t.GoLow().Name.ValueNode.Value = value
|
||||
//}
|
||||
//func (t *Tag) SetDescription(value string) {
|
||||
// t.GoLow().Description.ValueNode.Value = value
|
||||
//}
|
||||
|
||||
//func (t *Tag) MarshalYAML() (interface{}, error) {
|
||||
// m := make(map[string]interface{})
|
||||
|
||||
23
datamodel/low/base/schema_proxy_test.go
Normal file
23
datamodel/low/base/schema_proxy_test.go
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright 2022 Princess B33f Heavy Industries / Dave Shanley
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package base
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"gopkg.in/yaml.v3"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSchemaProxy_Build(t *testing.T) {
|
||||
|
||||
yml := `description: something`
|
||||
|
||||
var sch SchemaProxy
|
||||
var idxNode yaml.Node
|
||||
_ = yaml.Unmarshal([]byte(yml), &idxNode)
|
||||
|
||||
err := sch.Build(&idxNode, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "something", sch.Schema().Description.Value)
|
||||
}
|
||||
@@ -24,6 +24,16 @@ func TestFindItemInMap(t *testing.T) {
|
||||
assert.Equal(t, "pie", FindItemInMap("pizza", v).Value)
|
||||
}
|
||||
|
||||
func TestFindItemInMap_WrongCase(t *testing.T) {
|
||||
v := make(map[KeyReference[string]]ValueReference[string])
|
||||
v[KeyReference[string]{
|
||||
Value: "pizza",
|
||||
}] = ValueReference[string]{
|
||||
Value: "pie",
|
||||
}
|
||||
assert.Equal(t, "pie", FindItemInMap("PIZZA", v).Value)
|
||||
}
|
||||
|
||||
func TestFindItemInMap_Error(t *testing.T) {
|
||||
v := make(map[KeyReference[string]]ValueReference[string])
|
||||
v[KeyReference[string]{
|
||||
|
||||
@@ -245,3 +245,30 @@ func TestCheckEnumForDuplicates_FailMultiple(t *testing.T) {
|
||||
yaml.Unmarshal([]byte(yml), &rootNode)
|
||||
assert.Len(t, CheckEnumForDuplicates(rootNode.Content[0].Content), 3)
|
||||
}
|
||||
|
||||
func TestExtractSpecInfo_BadVersion_OpenAPI3(t *testing.T) {
|
||||
|
||||
yml := `openapi:
|
||||
should: fail`
|
||||
|
||||
_, err := ExtractSpecInfo([]byte(yml))
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
func TestExtractSpecInfo_BadVersion_Swagger(t *testing.T) {
|
||||
|
||||
yml := `swagger:
|
||||
should: fail`
|
||||
|
||||
_, err := ExtractSpecInfo([]byte(yml))
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
func TestExtractSpecInfo_BadVersion_AsyncAPI(t *testing.T) {
|
||||
|
||||
yml := `asyncapi:
|
||||
should: fail`
|
||||
|
||||
_, err := ExtractSpecInfo([]byte(yml))
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ tags:
|
||||
highDoc := high.NewDocument(lowDoc)
|
||||
|
||||
highDoc.Info.GoLow().Title.ValueNode.Value = "let's hack this"
|
||||
highDoc.Tags[0].SetName("We are a new name now")
|
||||
highDoc.Tags[0].SetDescription("and a new description")
|
||||
//highDoc.Tags[0].SetName("We are a new name now")
|
||||
//highDoc.Tags[0].SetDescription("and a new description")
|
||||
|
||||
//newTag := lowDoc.AddTag()
|
||||
//fmt.Println(newTag)
|
||||
|
||||
Reference in New Issue
Block a user