mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-09 20:47:44 +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
|
return t.low
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Tag) SetName(value string) {
|
//func (t *Tag) SetName(value string) {
|
||||||
t.GoLow().Name.ValueNode.Value = value
|
// t.GoLow().Name.ValueNode.Value = value
|
||||||
}
|
//}
|
||||||
func (t *Tag) SetDescription(value string) {
|
//func (t *Tag) SetDescription(value string) {
|
||||||
t.GoLow().Description.ValueNode.Value = value
|
// t.GoLow().Description.ValueNode.Value = value
|
||||||
}
|
//}
|
||||||
|
|
||||||
//func (t *Tag) MarshalYAML() (interface{}, error) {
|
//func (t *Tag) MarshalYAML() (interface{}, error) {
|
||||||
// m := make(map[string]interface{})
|
// 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)
|
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) {
|
func TestFindItemInMap_Error(t *testing.T) {
|
||||||
v := make(map[KeyReference[string]]ValueReference[string])
|
v := make(map[KeyReference[string]]ValueReference[string])
|
||||||
v[KeyReference[string]{
|
v[KeyReference[string]{
|
||||||
|
|||||||
@@ -245,3 +245,30 @@ func TestCheckEnumForDuplicates_FailMultiple(t *testing.T) {
|
|||||||
yaml.Unmarshal([]byte(yml), &rootNode)
|
yaml.Unmarshal([]byte(yml), &rootNode)
|
||||||
assert.Len(t, CheckEnumForDuplicates(rootNode.Content[0].Content), 3)
|
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 := high.NewDocument(lowDoc)
|
||||||
|
|
||||||
highDoc.Info.GoLow().Title.ValueNode.Value = "let's hack this"
|
highDoc.Info.GoLow().Title.ValueNode.Value = "let's hack this"
|
||||||
highDoc.Tags[0].SetName("We are a new name now")
|
//highDoc.Tags[0].SetName("We are a new name now")
|
||||||
highDoc.Tags[0].SetDescription("and a new description")
|
//highDoc.Tags[0].SetDescription("and a new description")
|
||||||
|
|
||||||
//newTag := lowDoc.AddTag()
|
//newTag := lowDoc.AddTag()
|
||||||
//fmt.Println(newTag)
|
//fmt.Println(newTag)
|
||||||
|
|||||||
Reference in New Issue
Block a user