Fixed up what-changed tests after model fix.

Now all tests are building the model correctly and everything is passing again, confidence up much higher now.
This commit is contained in:
Dave Shanley
2022-11-04 09:58:52 -04:00
parent a184c5e909
commit 55291d42c0
29 changed files with 2043 additions and 2037 deletions

View File

@@ -44,8 +44,8 @@ propertyName: freshCakes`
// create low level objects
var lDoc Discriminator
var rDoc Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
assert.Equal(t, lDoc.Hash(), rDoc.Hash())
}

View File

@@ -149,8 +149,8 @@ x-burger: nice`
// create low level objects
var lDoc Example
var rDoc Example
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -71,8 +71,8 @@ description: the ranch`
// create low level objects
var lDoc ExternalDoc
var rDoc ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -25,8 +25,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -51,8 +51,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -77,8 +77,8 @@ name: buckaroo`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -103,8 +103,8 @@ name: buckaroo`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -128,8 +128,8 @@ email: buckaroo@pb33f.io`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -154,8 +154,8 @@ email: buckaroo@pb33f.io`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -180,8 +180,8 @@ email: dave@quobix.com`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -207,8 +207,8 @@ email: dave@quobix.com`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -232,8 +232,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.Contact
var rDoc lowbase.Contact
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -24,8 +24,8 @@ func TestCompareDiscriminator_PropertyNameChanged(t *testing.T) {
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -36,9 +36,12 @@ func TestCompareDiscriminator_PropertyNameChanged(t *testing.T) {
func TestCompareDiscriminator_PropertyNameRemoved(t *testing.T) {
left := `propertyName: chicken`
left := `mapping:
cake: burger
propertyName: chicken`
right := ``
right := `mapping:
cake: burger`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
@@ -47,8 +50,8 @@ func TestCompareDiscriminator_PropertyNameRemoved(t *testing.T) {
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -58,9 +61,12 @@ func TestCompareDiscriminator_PropertyNameRemoved(t *testing.T) {
func TestCompareDiscriminator_PropertyNameAdded(t *testing.T) {
left := ``
left := `mapping:
cake: burger
propertyName: chicken`
right := `propertyName: chicken`
right := `mapping:
cake: burger`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
@@ -69,11 +75,11 @@ func TestCompareDiscriminator_PropertyNameAdded(t *testing.T) {
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
extChanges := CompareDiscriminator(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
}
@@ -94,8 +100,8 @@ mapping:
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -130,8 +136,8 @@ mapping:
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -159,8 +165,8 @@ mapping:
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -190,8 +196,8 @@ mapping:
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -226,8 +232,8 @@ mapping:
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)
@@ -255,8 +261,8 @@ func TestCompareDiscriminator_Identical(t *testing.T) {
// create low level objects
var lDoc base.Discriminator
var rDoc base.Discriminator
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareDiscriminator(&lDoc, &rDoc)

View File

@@ -4,16 +4,16 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareEncoding(t *testing.T) {
left := `contentType: application/json
left := `contentType: application/json
headers:
aHeader:
description: a header
@@ -21,7 +21,7 @@ style: date
explode: true
allowReserved: true`
right := `contentType: application/json
right := `contentType: application/json
headers:
aHeader:
description: a header
@@ -29,26 +29,26 @@ style: date
explode: true
allowReserved: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareEncoding_Modified(t *testing.T) {
left := `contentType: application/xml
left := `contentType: application/xml
headers:
aHeader:
description: a header description
@@ -56,7 +56,7 @@ style: date
explode: false
allowReserved: false`
right := `contentType: application/json
right := `contentType: application/json
headers:
aHeader:
description: a header
@@ -64,33 +64,33 @@ style: date
explode: true
allowReserved: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
}
func TestCompareEncoding_Added(t *testing.T) {
left := `contentType: application/json
left := `contentType: application/json
explode: true
allowReserved: true`
right := `contentType: application/json
right := `contentType: application/json
headers:
aHeader:
description: a header
@@ -98,34 +98,34 @@ style: date
explode: true
allowReserved: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.HeadersLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareEncoding(&lDoc, &rDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.HeadersLabel, extChanges.Changes[0].Property)
}
func TestCompareEncoding_Removed(t *testing.T) {
left := `contentType: application/json
left := `contentType: application/json
explode: true
allowReserved: true`
right := `contentType: application/json
right := `contentType: application/json
headers:
aHeader:
description: a header
@@ -133,22 +133,22 @@ style: date
explode: true
allowReserved: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Encoding
var rDoc v3.Encoding
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareEncoding(&rDoc, &lDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
// compare.
extChanges := CompareEncoding(&rDoc, &lDoc)
assert.NotNil(t, extChanges)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
}

View File

@@ -24,8 +24,8 @@ func TestCompareExamples_SummaryModified(t *testing.T) {
// create low level objects
var lDoc base.Example
var rDoc base.Example
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -52,8 +52,8 @@ description: cure all`
// create low level objects
var lDoc base.Example
var rDoc base.Example
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -78,8 +78,8 @@ x-herbs: cure all`
// create low level objects
var lDoc base.Example
var rDoc base.Example
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -103,8 +103,8 @@ func TestCompareExamples_Identical(t *testing.T) {
// create low level objects
var lDoc base.Example
var rDoc base.Example
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,105 +4,105 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareExamplesV2(t *testing.T) {
left := `summary: magic herbs`
right := `summary: cure all`
left := `summary: magic herbs`
right := `summary: cure all`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareExamplesV2(&lDoc, &rDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.SummaryLabel, extChanges.Changes[0].Property)
assert.Equal(t, "magic herbs", extChanges.Changes[0].Original)
assert.Equal(t, "cure all", extChanges.Changes[0].New)
extChanges := CompareExamplesV2(&lDoc, &rDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.SummaryLabel, extChanges.Changes[0].Property)
assert.Equal(t, "magic herbs", extChanges.Changes[0].Original)
assert.Equal(t, "cure all", extChanges.Changes[0].New)
}
func TestCompareExamplesV2_Add(t *testing.T) {
left := `summary: magic herbs`
right := `summary: magic herbs
left := `summary: magic herbs`
right := `summary: magic herbs
yummy: coffee`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareExamplesV2(&lDoc, &rDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
extChanges := CompareExamplesV2(&lDoc, &rDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
}
func TestCompareExamplesV2_Remove(t *testing.T) {
left := `summary: magic herbs`
right := `summary: magic herbs
left := `summary: magic herbs`
right := `summary: magic herbs
yummy: coffee`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareExamplesV2(&rDoc, &lDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
extChanges := CompareExamplesV2(&rDoc, &lDoc)
assert.Equal(t, extChanges.TotalChanges(), 1)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
}
func TestCompareExamplesV2_Identical(t *testing.T) {
left := `summary: magic herbs`
right := left
left := `summary: magic herbs`
right := left
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Examples
var rDoc v2.Examples
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareExamplesV2(&rDoc, &lDoc)
extChanges := CompareExamplesV2(&rDoc, &lDoc)
assert.Nil(t, extChanges)
}

View File

@@ -4,245 +4,245 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
lowbase "github.com/pb33f/libopenapi/datamodel/low/base"
lowv3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
lowbase "github.com/pb33f/libopenapi/datamodel/low/base"
lowv3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareExternalDocs(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: this is a test
x-testing: hello`
right := `url: https://quobix.com
right := `url: https://quobix.com
description: this is another test
x-testing: hiya!`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Len(t, extChanges.ExtensionChanges.Changes, 1)
assert.Len(t, extChanges.Changes, 2)
assert.Equal(t, 3, extChanges.TotalChanges())
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Len(t, extChanges.ExtensionChanges.Changes, 1)
assert.Len(t, extChanges.Changes, 2)
assert.Equal(t, 3, extChanges.TotalChanges())
// validate property changes
urlChange := extChanges.Changes[0]
assert.Equal(t, Modified, urlChange.ChangeType)
assert.False(t, urlChange.Context.HasChanged())
assert.Equal(t, "https://pb33f.io", urlChange.Original)
assert.Equal(t, "https://quobix.com", urlChange.New)
assert.Equal(t, 1, urlChange.Context.OriginalLine)
assert.Equal(t, lowv3.URLLabel, urlChange.Property)
// validate property changes
urlChange := extChanges.Changes[0]
assert.Equal(t, Modified, urlChange.ChangeType)
assert.False(t, urlChange.Context.HasChanged())
assert.Equal(t, "https://pb33f.io", urlChange.Original)
assert.Equal(t, "https://quobix.com", urlChange.New)
assert.Equal(t, 1, urlChange.Context.OriginalLine)
assert.Equal(t, lowv3.URLLabel, urlChange.Property)
descChange := extChanges.Changes[1]
assert.Equal(t, Modified, descChange.ChangeType)
assert.False(t, descChange.Context.HasChanged())
assert.Equal(t, "this is another test", descChange.New)
assert.Equal(t, "this is a test", descChange.Original)
assert.Equal(t, 2, descChange.Context.OriginalLine)
assert.Equal(t, 14, descChange.Context.OriginalColumn)
descChange := extChanges.Changes[1]
assert.Equal(t, Modified, descChange.ChangeType)
assert.False(t, descChange.Context.HasChanged())
assert.Equal(t, "this is another test", descChange.New)
assert.Equal(t, "this is a test", descChange.Original)
assert.Equal(t, 2, descChange.Context.OriginalLine)
assert.Equal(t, 14, descChange.Context.OriginalColumn)
// validate extensions
extChange := extChanges.ExtensionChanges.Changes[0]
assert.Equal(t, Modified, extChange.ChangeType)
assert.False(t, extChange.Context.HasChanged())
assert.Equal(t, "hiya!", extChange.New)
assert.Equal(t, "hello", extChange.Original)
assert.Equal(t, 3, extChange.Context.OriginalLine)
assert.Equal(t, 12, extChange.Context.OriginalColumn)
// validate extensions
extChange := extChanges.ExtensionChanges.Changes[0]
assert.Equal(t, Modified, extChange.ChangeType)
assert.False(t, extChange.Context.HasChanged())
assert.Equal(t, "hiya!", extChange.New)
assert.Equal(t, "hello", extChange.Original)
assert.Equal(t, 3, extChange.Context.OriginalLine)
assert.Equal(t, 12, extChange.Context.OriginalColumn)
}
func TestCompareExternalDocs_Moved(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: this is a test
x-testing: hello`
right := `description: this is another test
right := `description: this is another test
x-testing: hiya!
url: https://quobix.com`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Len(t, extChanges.ExtensionChanges.Changes, 1)
assert.Len(t, extChanges.Changes, 2)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Len(t, extChanges.ExtensionChanges.Changes, 1)
assert.Len(t, extChanges.Changes, 2)
// validate property changes
urlChange := extChanges.Changes[0]
assert.Equal(t, Modified, urlChange.ChangeType)
assert.True(t, urlChange.Context.HasChanged())
assert.Equal(t, "https://pb33f.io", urlChange.Original)
assert.Equal(t, "https://quobix.com", urlChange.New)
assert.Equal(t, lowv3.URLLabel, urlChange.Property)
// validate property changes
urlChange := extChanges.Changes[0]
assert.Equal(t, Modified, urlChange.ChangeType)
assert.True(t, urlChange.Context.HasChanged())
assert.Equal(t, "https://pb33f.io", urlChange.Original)
assert.Equal(t, "https://quobix.com", urlChange.New)
assert.Equal(t, lowv3.URLLabel, urlChange.Property)
descChange := extChanges.Changes[1]
assert.Equal(t, Modified, descChange.ChangeType)
assert.True(t, descChange.Context.HasChanged())
assert.Equal(t, "this is another test", descChange.New)
assert.Equal(t, "this is a test", descChange.Original)
descChange := extChanges.Changes[1]
assert.Equal(t, Modified, descChange.ChangeType)
assert.True(t, descChange.Context.HasChanged())
assert.Equal(t, "this is another test", descChange.New)
assert.Equal(t, "this is a test", descChange.Original)
// validate extensions
extChange := extChanges.ExtensionChanges.Changes[0]
assert.Equal(t, Modified, extChange.ChangeType)
assert.True(t, extChange.Context.HasChanged())
assert.Equal(t, "hiya!", extChange.New)
assert.Equal(t, "hello", extChange.Original)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
// validate extensions
extChange := extChanges.ExtensionChanges.Changes[0]
assert.Equal(t, Modified, extChange.ChangeType)
assert.True(t, extChange.Context.HasChanged())
assert.Equal(t, "hiya!", extChange.New)
assert.Equal(t, "hello", extChange.Original)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
}
func TestCompareExternalDocs_Identical(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: this is a test
x-testing: hello`
right := `url: https://pb33f.io
right := `url: https://pb33f.io
description: this is a test
x-testing: hello`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareExternalDocs_DescriptionAdded(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
x-testing: hello`
right := `url: https://pb33f.io
right := `url: https://pb33f.io
description: this is a test
x-testing: hello`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
}
func TestCompareExternalDocs_URLAdded(t *testing.T) {
left := `description: hi!`
left := `description: hi!`
right := `description: hi!
right := `description: hi!
url: https://pb33f.io`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
}
func TestCompareExternalDocs_DescriptionRemoved(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: something`
right := `url: https://pb33f.io`
right := `url: https://pb33f.io`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
}
func TestCompareExternalDocs_URLRemoved(t *testing.T) {
left := `description: something
left := `description: something
url: https://pb33f.io`
right := `description: something`
right := `description: something`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc lowbase.ExternalDoc
var rDoc lowbase.ExternalDoc
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
// compare
extChanges := CompareExternalDocs(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
}

View File

@@ -71,8 +71,8 @@ func TestCompareHeaders_v2_identical(t *testing.T) {
// create low level objects
var lDoc v2.Header
var rDoc v2.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -114,8 +114,8 @@ x-beer: really yummy`
// create low level objects
var lDoc v2.Header
var rDoc v2.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -157,8 +157,8 @@ x-beer: yummy`
// create low level objects
var lDoc v2.Header
var rDoc v2.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -201,8 +201,8 @@ x-beer: yummy`
// create low level objects
var lDoc v2.Header
var rDoc v2.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -227,8 +227,8 @@ func TestCompareHeaders_v2_ItemsModified(t *testing.T) {
// create low level objects
var lDoc v2.Header
var rDoc v2.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -250,8 +250,8 @@ func TestCompareHeaders_v3_identical(t *testing.T) {
// create low level objects
var lDoc v3.Header
var rDoc v3.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -292,8 +292,8 @@ x-beer: yummy`
// create low level objects
var lDoc v3.Header
var rDoc v3.Header
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,17 +4,17 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/base"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/base"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareInfo_DescriptionAdded(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -23,7 +23,7 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
description: this is a description
@@ -33,28 +33,28 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.DescriptionLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.DescriptionLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_TitleRemoved(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
description: this is a description
@@ -64,7 +64,7 @@ contact:
license:
name: MIT`
right := `termsOfService: https://pb33f.io/terms
right := `termsOfService: https://pb33f.io/terms
version: '1.2.3'
description: this is a description
contact:
@@ -73,28 +73,28 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.TitleLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.TitleLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_VersionModified(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -103,7 +103,7 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '99.99'
contact:
@@ -112,28 +112,28 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.VersionLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.VersionLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_RemoveLicense(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -142,42 +142,42 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
name: buckaroo
email: buckaroo@pb33f.io`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.LicenseLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.LicenseLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_AddLicense(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
name: buckaroo
email: buckaroo@pb33f.io`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -186,28 +186,28 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.LicenseLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.LicenseLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_LicenseChanged(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -216,7 +216,7 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -225,34 +225,34 @@ contact:
license:
name: Apache`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.LicenseChanges.Changes[0].ChangeType)
assert.Equal(t, v3.NameLabel, extChanges.LicenseChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.LicenseChanges.Changes[0].ChangeType)
assert.Equal(t, v3.NameLabel, extChanges.LicenseChanges.Changes[0].Property)
}
func TestCompareInfo_AddContact(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -261,28 +261,28 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.ContactLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.ContactLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_RemoveContact(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -291,34 +291,34 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.ContactLabel, extChanges.Changes[0].Property)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, v3.ContactLabel, extChanges.Changes[0].Property)
}
func TestCompareInfo_ContactModified(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -327,7 +327,7 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -336,29 +336,29 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.ContactChanges.Changes[0].ChangeType)
assert.Equal(t, v3.NameLabel, extChanges.ContactChanges.Changes[0].Property)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.ContactChanges.Changes[0].ChangeType)
assert.Equal(t, v3.NameLabel, extChanges.ContactChanges.Changes[0].Property)
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
}
func TestCompareInfo_Equal(t *testing.T) {
left := `title: a nice spec
left := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -367,7 +367,7 @@ contact:
license:
name: MIT`
right := `title: a nice spec
right := `title: a nice spec
termsOfService: https://pb33f.io/terms
version: '1.2.3'
contact:
@@ -376,17 +376,17 @@ contact:
license:
name: MIT`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.Info
var rDoc base.Info
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareInfo(&lDoc, &rDoc)

View File

@@ -4,132 +4,132 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareItems(t *testing.T) {
left := `type: string`
left := `type: string`
right := `type: int`
right := `type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.TypeLabel, changes.Changes[0].Property)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.TypeLabel, changes.Changes[0].Property)
}
func TestCompareItems_RecursiveCheck(t *testing.T) {
left := `type: string
left := `type: string
items:
type: string`
right := `type: int
right := `type: int
items:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 2, changes.TotalChanges())
assert.Equal(t, 2, changes.TotalBreakingChanges())
assert.Equal(t, 1, changes.ItemsChanges.TotalChanges())
assert.Equal(t, v3.TypeLabel, changes.Changes[0].Property)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 2, changes.TotalChanges())
assert.Equal(t, 2, changes.TotalBreakingChanges())
assert.Equal(t, 1, changes.ItemsChanges.TotalChanges())
assert.Equal(t, v3.TypeLabel, changes.Changes[0].Property)
}
func TestCompareItems_AddItems(t *testing.T) {
left := `type: int`
left := `type: int`
right := `type: int
right := `type: int
items:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.ItemsLabel, changes.Changes[0].Property)
assert.Equal(t, PropertyAdded, changes.Changes[0].ChangeType)
// compare.
changes := CompareItems(&lDoc, &rDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.ItemsLabel, changes.Changes[0].Property)
assert.Equal(t, PropertyAdded, changes.Changes[0].ChangeType)
}
func TestCompareItems_RemoveItems(t *testing.T) {
left := `type: int`
left := `type: int`
right := `type: int
right := `type: int
items:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Items
var rDoc v2.Items
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
changes := CompareItems(&rDoc, &lDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.ItemsLabel, changes.Changes[0].Property)
assert.Equal(t, PropertyRemoved, changes.Changes[0].ChangeType)
// compare.
changes := CompareItems(&rDoc, &lDoc)
assert.NotNil(t, changes)
assert.Equal(t, 1, changes.TotalChanges())
assert.Equal(t, 1, changes.TotalBreakingChanges())
assert.Equal(t, v3.ItemsLabel, changes.Changes[0].Property)
assert.Equal(t, PropertyRemoved, changes.Changes[0].ChangeType)
}
func TestCompareItems_RefVsInlineIdentical(t *testing.T) {
left := `swagger: 2.0
left := `swagger: 2.0
definitions:
thing:
type: string
@@ -145,7 +145,7 @@ paths:
items:
$ref: '#/definitions/thing'`
right := `swagger: 2.0
right := `swagger: 2.0
definitions:
thing:
type: string
@@ -161,15 +161,15 @@ paths:
items:
type: bool`
leftDoc, rightDoc := test_BuildDocv2(left, right)
leftDoc, rightDoc := test_BuildDocv2(left, right)
// extract left reference schema and non reference schema.
lItems := leftDoc.Paths.Value.FindPath("/a/path").Value.Get.Value.Parameters.
Value[0].Value.Items.Value
rItems := rightDoc.Paths.Value.FindPath("/a/path").Value.Get.Value.Parameters.
Value[0].Value.Items.Value
// extract left reference schema and non reference schema.
lItems := leftDoc.Paths.Value.FindPath("/a/path").Value.Get.Value.Parameters.
Value[0].Value.Items.Value
rItems := rightDoc.Paths.Value.FindPath("/a/path").Value.Get.Value.Parameters.
Value[0].Value.Items.Value
// compare.
changes := CompareItems(lItems, rItems)
// compare.
changes := CompareItems(lItems, rItems)
assert.Nil(t, changes)
}

View File

@@ -25,8 +25,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -52,8 +52,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -78,8 +78,8 @@ name: buckaroo`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -104,8 +104,8 @@ name: buckaroo`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -129,8 +129,8 @@ func TestCompareLicense_URLModified(t *testing.T) {
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -155,8 +155,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -182,8 +182,8 @@ url: https://pb33f.io`
// create low level objects
var lDoc lowbase.License
var rDoc lowbase.License
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,16 +4,16 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareLinks(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -21,29 +21,29 @@ server:
parameters:
nice: rice`
right := left
right := left
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareLinks_ModifyExtension(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -52,7 +52,7 @@ parameters:
nice: rice
x-cake: tasty`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -61,29 +61,29 @@ parameters:
nice: rice
x-cake: very tasty`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ExtensionChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ExtensionChanges.Changes[0].ChangeType)
}
func TestCompareLinks_ModifyServer(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -91,7 +91,7 @@ server:
parameters:
nice: rice`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -99,34 +99,34 @@ server:
parameters:
nice: rice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ServerChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ServerChanges.Changes[0].ChangeType)
}
func TestCompareLinks_AddServer(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
parameters:
nice: rice`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -134,34 +134,34 @@ server:
parameters:
nice: rice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
}
func TestCompareLinks_RemoveServer(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
parameters:
nice: rice`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -169,28 +169,28 @@ server:
parameters:
nice: rice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareLinks(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
}
func TestCompareLinks_ModifyParam(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -198,7 +198,7 @@ server:
parameters:
nice: cake`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -206,31 +206,31 @@ server:
parameters:
nice: rice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, "nice", extChanges.Changes[0].NewObject)
assert.Equal(t, "cake", extChanges.Changes[0].Original)
assert.Equal(t, "rice", extChanges.Changes[0].New)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
assert.Equal(t, "nice", extChanges.Changes[0].NewObject)
assert.Equal(t, "cake", extChanges.Changes[0].Original)
assert.Equal(t, "rice", extChanges.Changes[0].New)
}
func TestCompareLinks_AddParam(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -238,7 +238,7 @@ server:
parameters:
nice: cake`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -247,30 +247,30 @@ parameters:
nice: cake
hot: pizza`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, "hot", extChanges.Changes[0].NewObject)
assert.Equal(t, "pizza", extChanges.Changes[0].New)
// compare.
extChanges := CompareLinks(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, "hot", extChanges.Changes[0].NewObject)
assert.Equal(t, "pizza", extChanges.Changes[0].New)
}
func TestCompareLinks_RemoveParam(t *testing.T) {
left := `operationId: someOperation
left := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -278,7 +278,7 @@ server:
parameters:
nice: cake`
right := `operationId: someOperation
right := `operationId: someOperation
requestBody: expression-says-what
description: a nice link
server:
@@ -287,23 +287,23 @@ parameters:
nice: cake
hot: pizza`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Link
var rDoc v3.Link
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareLinks(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, "hot", extChanges.Changes[0].OriginalObject)
// compare.
extChanges := CompareLinks(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, "hot", extChanges.Changes[0].OriginalObject)
assert.Equal(t, "pizza", extChanges.Changes[0].Original)
}

View File

@@ -38,8 +38,8 @@ encoding:
// create low level objects
var lDoc v3.MediaType
var rDoc v3.MediaType
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -75,8 +75,8 @@ encoding:
// create low level objects
var lDoc v3.MediaType
var rDoc v3.MediaType
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -114,8 +114,8 @@ encoding:
// create low level objects
var lDoc v3.MediaType
var rDoc v3.MediaType
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -153,8 +153,8 @@ encoding:
// create low level objects
var lDoc v3.MediaType
var rDoc v3.MediaType
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -198,8 +198,8 @@ x-tea: cup`
// create low level objects
var lDoc v3.MediaType
var rDoc v3.MediaType
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,89 +4,89 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareOAuthFlow(t *testing.T) {
left := `authorizationUrl: cheese
left := `authorizationUrl: cheese
tokenUrl: biscuits
refreshUrl: cake
scopes:
riff: raff`
right := `authorizationUrl: cheese
right := `authorizationUrl: cheese
tokenUrl: biscuits
refreshUrl: cake
scopes:
riff: raff`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareOAuthFlow_Modified(t *testing.T) {
left := `authorizationUrl: toast
left := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
riff: raff
x-burgers: nice`
right := `authorizationUrl: cheese
right := `authorizationUrl: cheese
tokenUrl: biscuits
refreshUrl: cake
scopes:
riff: raff
x-burgers: crispy`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 3, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 3, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
}
func TestCompareOAuthFlow_AddScope(t *testing.T) {
left := `authorizationUrl: toast
left := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
riff: raff
x-burgers: nice`
right := `authorizationUrl: toast
right := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
@@ -94,36 +94,36 @@ scopes:
tiff: taff
x-burgers: nice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, "taff", extChanges.Changes[0].New)
assert.Equal(t, "tiff", extChanges.Changes[0].NewObject)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, "taff", extChanges.Changes[0].New)
assert.Equal(t, "tiff", extChanges.Changes[0].NewObject)
}
func TestCompareOAuthFlow_RemoveScope(t *testing.T) {
left := `authorizationUrl: toast
left := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
riff: raff
x-burgers: nice`
right := `authorizationUrl: toast
right := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
@@ -131,66 +131,66 @@ scopes:
tiff: taff
x-burgers: nice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlow(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, "taff", extChanges.Changes[0].Original)
assert.Equal(t, "tiff", extChanges.Changes[0].OriginalObject)
// compare
extChanges := CompareOAuthFlow(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, "taff", extChanges.Changes[0].Original)
assert.Equal(t, "tiff", extChanges.Changes[0].OriginalObject)
}
func TestCompareOAuthFlow_ModifyScope(t *testing.T) {
left := `authorizationUrl: toast
left := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
riff: ruffles
x-burgers: nice`
right := `authorizationUrl: toast
right := `authorizationUrl: toast
tokenUrl: biscuits
refreshUrl: roast
scopes:
riff: raff
x-burgers: nice`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlow
var rDoc v3.OAuthFlow
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, "raff", extChanges.Changes[0].New)
assert.Equal(t, "raff", extChanges.Changes[0].NewObject)
assert.Equal(t, "ruffles", extChanges.Changes[0].Original)
assert.Equal(t, "ruffles", extChanges.Changes[0].OriginalObject)
// compare
extChanges := CompareOAuthFlow(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, "raff", extChanges.Changes[0].New)
assert.Equal(t, "raff", extChanges.Changes[0].NewObject)
assert.Equal(t, "ruffles", extChanges.Changes[0].Original)
assert.Equal(t, "ruffles", extChanges.Changes[0].OriginalObject)
}
func TestCompareOAuthFlows(t *testing.T) {
left := `implicit:
left := `implicit:
authorizationUrl: cheese
password:
authorizationUrl: cake
@@ -200,7 +200,7 @@ authorizationCode:
authorizationUrl: chalk
x-coke: cola`
right := `implicit:
right := `implicit:
authorizationUrl: cheese
password:
authorizationUrl: cake
@@ -210,27 +210,27 @@ authorizationCode:
authorizationUrl: chalk
x-coke: cola`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareOAuthFlows_AddEverything(t *testing.T) {
left := `x-coke: cola`
left := `x-coke: cola`
right := `implicit:
right := `implicit:
authorizationUrl: cheese
password:
authorizationUrl: cake
@@ -240,28 +240,28 @@ authorizationCode:
authorizationUrl: chalk
x-coke: cola`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
}
func TestCompareOAuthFlows_RemoveEverything(t *testing.T) {
left := `x-coke: cola`
left := `x-coke: cola`
right := `implicit:
right := `implicit:
authorizationUrl: cheese
password:
authorizationUrl: cake
@@ -271,26 +271,26 @@ authorizationCode:
authorizationUrl: chalk
x-coke: cola`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlows(&rDoc, &lDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 4, extChanges.TotalBreakingChanges())
// compare
extChanges := CompareOAuthFlows(&rDoc, &lDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 4, extChanges.TotalBreakingChanges())
}
func TestCompareOAuthFlows_ModifyEverything(t *testing.T) {
left := `implicit:
left := `implicit:
authorizationUrl: cheese
password:
authorizationUrl: cake
@@ -300,7 +300,7 @@ authorizationCode:
authorizationUrl: chalk
x-coke: cola`
right := `implicit:
right := `implicit:
authorizationUrl: herbs
password:
authorizationUrl: coffee
@@ -310,20 +310,20 @@ authorizationCode:
authorizationUrl: pasta
x-coke: cherry`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.OAuthFlows
var rDoc v3.OAuthFlows
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Equal(t, 5, extChanges.TotalChanges())
// compare
extChanges := CompareOAuthFlows(&lDoc, &rDoc)
assert.Equal(t, 5, extChanges.TotalChanges())
assert.Equal(t, 4, extChanges.TotalBreakingChanges())
}

File diff suppressed because it is too large Load Diff

View File

@@ -24,8 +24,8 @@ func TestCompareParameters(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -46,8 +46,8 @@ func TestCompareParameters_V3(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -70,8 +70,8 @@ func TestCompareParameters_V3_Schema(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -97,8 +97,8 @@ schema:
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -124,8 +124,8 @@ schema:
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -149,8 +149,8 @@ func TestCompareParameters_V3_Extensions(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -175,8 +175,8 @@ func TestCompareParameters_V3_ExampleChange(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -198,8 +198,8 @@ func TestCompareParameters_V3_ExampleEqual(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -221,8 +221,8 @@ example: a string`
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -246,8 +246,8 @@ example: a string`
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -274,8 +274,8 @@ func TestCompareParameters_V3_ExamplesChanged(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -305,8 +305,8 @@ func TestCompareParameters_V3_ExamplesAdded(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -336,8 +336,8 @@ func TestCompareParameters_V3_ExamplesRemoved(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -367,8 +367,8 @@ func TestCompareParameters_V3_ContentChanged(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -402,8 +402,8 @@ func TestCompareParameters_V3_ContentAdded(t *testing.T) {
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -426,8 +426,8 @@ func TestCompareParameters_V2_DefaultChange(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -451,8 +451,8 @@ func TestCompareParameters_V2_EnumChange(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -478,8 +478,8 @@ func TestCompareParameters_V2_EnumEqual_Reorder(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -501,8 +501,8 @@ example: a string`
// create low level objects
var lDoc v3.Parameter
var rDoc v3.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -525,8 +525,8 @@ func TestCompareParameters_V2_Equal(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -547,8 +547,8 @@ func TestCompareParameters_V2(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -571,8 +571,8 @@ func TestCompareParameters_V2_ItemsChange(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -598,8 +598,8 @@ items:
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -624,8 +624,8 @@ items:
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -648,8 +648,8 @@ func TestCompareParameters_V2_Extensions(t *testing.T) {
// create low level objects
var lDoc v2.Parameter
var rDoc v2.Parameter
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -162,7 +162,7 @@ func ComparePathItems(l, r any) *PathItemChanges {
compareOpenAPIPathItem(lPath, rPath, &changes, pc)
}
//CheckProperties(props)
CheckProperties(props)
pc.Changes = changes
return pc
}

View File

@@ -41,8 +41,8 @@ x-thing: thang.`
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -96,8 +96,8 @@ x-thing: ding-a-ling`
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -132,8 +132,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -172,8 +172,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -211,8 +211,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -245,8 +245,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -281,8 +281,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -322,8 +322,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -361,8 +361,8 @@ parameters:
// create low level objects
var lDoc v2.PathItem
var rDoc v2.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -407,8 +407,8 @@ x-thing: thang.`
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -475,8 +475,8 @@ x-thing: dang.`
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -501,8 +501,8 @@ parameters:
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -529,8 +529,8 @@ parameters:
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -571,8 +571,8 @@ trace:
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -611,8 +611,8 @@ trace:
// create low level objects
var lDoc v3.PathItem
var rDoc v3.PathItem
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,49 +4,49 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareRequestBodies(t *testing.T) {
left := `description: something
left := `description: something
required: true
content:
application/json:
schema:
type: int`
right := `description: something
right := `description: something
required: true
content:
application/json:
schema:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.RequestBody
var rDoc v3.RequestBody
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.RequestBody
var rDoc v3.RequestBody
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareRequestBodies(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare.
extChanges := CompareRequestBodies(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareRequestBodies_Modified(t *testing.T) {
left := `description: something
left := `description: something
required: true
x-pizza: thin
content:
@@ -54,7 +54,7 @@ content:
schema:
type: int`
right := `x-pizza: oven
right := `x-pizza: oven
description: nothing
required: false
content:
@@ -62,21 +62,21 @@ content:
schema:
type: string`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.RequestBody
var rDoc v3.RequestBody
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.RequestBody
var rDoc v3.RequestBody
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareRequestBodies(&lDoc, &rDoc)
// compare.
extChanges := CompareRequestBodies(&lDoc, &rDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
}

View File

@@ -32,8 +32,8 @@ x-toot: poot`
// create low level objects
var lDoc v2.Response
var rDoc v2.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -70,8 +70,8 @@ x-toot: poot`
// create low level objects
var lDoc v2.Response
var rDoc v2.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -103,8 +103,8 @@ examples:
// create low level objects
var lDoc v2.Response
var rDoc v2.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -136,8 +136,8 @@ examples:
// create low level objects
var lDoc v2.Response
var rDoc v2.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -169,8 +169,8 @@ x-toot: poot`
// create low level objects
var lDoc v3.Response
var rDoc v3.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -215,8 +215,8 @@ x-toot: pooty`
// create low level objects
var lDoc v3.Response
var rDoc v3.Response
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,17 +4,17 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/v2"
"github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareResponses_V2(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
default:
schema:
type: string
@@ -27,27 +27,27 @@ default:
schema:
type: string`
right := left
right := left
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Nil(t, extChanges)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareResponses_V2_ModifyCode(t *testing.T) {
left := `200:
left := `200:
description: OK response
schema:
type: int
@@ -57,7 +57,7 @@ func TestCompareResponses_V2_ModifyCode(t *testing.T) {
type: int
x-ting: tang`
right := `200:
right := `200:
description: OK response
schema:
type: string
@@ -67,27 +67,27 @@ x-ting: tang`
type: string
x-ting: tang`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ResponseChanges["404"].SchemaChanges.Changes[0].ChangeType)
assert.Equal(t, Modified, extChanges.ResponseChanges["200"].SchemaChanges.Changes[0].ChangeType)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
assert.Equal(t, Modified, extChanges.ResponseChanges["404"].SchemaChanges.Changes[0].ChangeType)
assert.Equal(t, Modified, extChanges.ResponseChanges["200"].SchemaChanges.Changes[0].ChangeType)
}
func TestCompareResponses_V2_AddSchema(t *testing.T) {
left := `x-hack: code
left := `x-hack: code
200:
description: OK response
schema:
@@ -98,7 +98,7 @@ x-apple: pie
schema:
type: int`
right := `404:
right := `404:
description: not found response
schema:
type: int
@@ -107,26 +107,26 @@ x-hack: all the code
description: OK response
x-apple: pie`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.ResponseChanges["200"].Changes[0].ChangeType)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.ResponseChanges["200"].Changes[0].ChangeType)
}
func TestCompareResponses_V2_RemoveSchema(t *testing.T) {
left := `200:
left := `200:
description: OK response
schema:
type: int
@@ -135,38 +135,38 @@ func TestCompareResponses_V2_RemoveSchema(t *testing.T) {
schema:
type: int`
right := `200:
right := `200:
description: OK response
404:
description: not found response
schema:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.ResponseChanges["200"].Changes[0].ChangeType)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.ResponseChanges["200"].Changes[0].ChangeType)
}
func TestCompareResponses_V2_AddDefault(t *testing.T) {
left := `200:
left := `200:
description: OK response
schema:
type: int`
right := `200:
right := `200:
description: OK response
schema:
type: int
@@ -175,31 +175,31 @@ default:
schema:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectAdded, extChanges.Changes[0].ChangeType)
}
func TestCompareResponses_V2_RemoveDefault(t *testing.T) {
left := `200:
left := `200:
description: OK response
schema:
type: int`
right := `200:
right := `200:
description: OK response
schema:
type: int
@@ -208,26 +208,26 @@ default:
schema:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, ObjectRemoved, extChanges.Changes[0].ChangeType)
}
func TestCompareResponses_V2_ModifyDefault(t *testing.T) {
left := `200:
left := `200:
description: OK response
schema:
type: int
@@ -236,7 +236,7 @@ default:
schema:
type: string`
right := `200:
right := `200:
description: OK response
schema:
type: int
@@ -245,26 +245,26 @@ default:
schema:
type: int`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v2.Responses
var rDoc v2.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
}
func TestCompareResponses_V3(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
default:
description: a thing
200:
@@ -272,27 +272,27 @@ default:
404:
description: not found response`
right := left
right := left
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Nil(t, extChanges)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareResponses_V3_ModifyCode(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
default:
description: a thing
200:
@@ -300,7 +300,7 @@ default:
404:
description: not found response`
right := `404:
right := `404:
description: not found response but new!
default:
description: a thing that changed
@@ -308,32 +308,32 @@ x-coffee: yum
200:
description: blast off`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 4, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
}
func TestCompareResponses_V3_AddDefault(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
200:
description: OK response
404:
description: not found response`
right := `x-coffee: roasty
right := `x-coffee: roasty
default:
description: a thing
200:
@@ -341,33 +341,33 @@ default:
404:
description: not found response`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, v3.DefaultLabel, extChanges.Changes[0].Property)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, v3.DefaultLabel, extChanges.Changes[0].Property)
}
func TestCompareResponses_V3_RemoveDefault(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
200:
description: OK response
404:
description: not found response`
right := `x-coffee: roasty
right := `x-coffee: roasty
default:
description: a thing
200:
@@ -375,27 +375,27 @@ default:
404:
description: not found response`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, v3.DefaultLabel, extChanges.Changes[0].Property)
extChanges := CompareResponses(&rDoc, &lDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, v3.DefaultLabel, extChanges.Changes[0].Property)
}
func TestCompareResponses_V3_ModifyDefault(t *testing.T) {
left := `x-coffee: roasty
left := `x-coffee: roasty
200:
description: OK response
404:
@@ -403,7 +403,7 @@ func TestCompareResponses_V3_ModifyDefault(t *testing.T) {
default:
description: a thing`
right := `x-coffee: roasty
right := `x-coffee: roasty
default:
description: a thing that changed!
200:
@@ -411,20 +411,20 @@ default:
404:
description: not found response`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Responses
var rDoc v3.Responses
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
extChanges := CompareResponses(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, v3.DescriptionLabel, extChanges.DefaultChanges.Changes[0].Property)
}

View File

@@ -27,8 +27,8 @@ x-nugget: chicken`
// create low level objects
var lDoc v2.Scopes
var rDoc v2.Scopes
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -53,8 +53,8 @@ x-nugget: chicken`
// create low level objects
var lDoc v2.Scopes
var rDoc v2.Scopes
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -81,8 +81,8 @@ x-nugget: chicken`
// create low level objects
var lDoc v2.Scopes
var rDoc v2.Scopes
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -110,8 +110,8 @@ x-nugget: soup`
// create low level objects
var lDoc v2.Scopes
var rDoc v2.Scopes
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -28,8 +28,8 @@ func TestCompareSecurityRequirement_V2(t *testing.T) {
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -61,8 +61,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -93,8 +93,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -125,8 +125,8 @@ milk:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -161,8 +161,8 @@ milk:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -196,8 +196,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -234,8 +234,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -268,8 +268,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -302,8 +302,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -334,8 +334,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -370,8 +370,8 @@ biscuit:
// create low level objects
var lDoc base.SecurityRequirement
var rDoc base.SecurityRequirement
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -400,8 +400,8 @@ biscuit:
// // create low level objects
// var lDoc v3.SecurityRequirement
// var rDoc v3.SecurityRequirement
// _ = low.BuildModel(&lNode, &lDoc)
// _ = low.BuildModel(&rNode, &rDoc)
// _ = low.BuildModel(lNode.Content[0], &lDoc)
// _ = low.BuildModel(rNode.Content[0], &rDoc)
// _ = lDoc.Build(lNode.Content[0], nil)
// _ = rDoc.Build(rNode.Content[0], nil)
//
@@ -428,8 +428,8 @@ biscuit:
// // create low level objects
// var lDoc v3.SecurityRequirement
// var rDoc v3.SecurityRequirement
// _ = low.BuildModel(&lNode, &lDoc)
// _ = low.BuildModel(&rNode, &rDoc)
// _ = low.BuildModel(lNode.Content[0], &lDoc)
// _ = low.BuildModel(rNode.Content[0], &rDoc)
// _ = lDoc.Build(lNode.Content[0], nil)
// _ = rDoc.Build(rNode.Content[0], nil)
//
@@ -458,8 +458,8 @@ biscuit:
// // create low level objects
// var lDoc v3.SecurityRequirement
// var rDoc v3.SecurityRequirement
// _ = low.BuildModel(&lNode, &lDoc)
// _ = low.BuildModel(&rNode, &rDoc)
// _ = low.BuildModel(lNode.Content[0], &lDoc)
// _ = low.BuildModel(rNode.Content[0], &rDoc)
// _ = lDoc.Build(lNode.Content[0], nil)
// _ = rDoc.Build(rNode.Content[0], nil)
//
@@ -490,8 +490,8 @@ biscuit:
// // create low level objects
// var lDoc v3.SecurityRequirement
// var rDoc v3.SecurityRequirement
// _ = low.BuildModel(&lNode, &lDoc)
// _ = low.BuildModel(&rNode, &rDoc)
// _ = low.BuildModel(lNode.Content[0], &lDoc)
// _ = low.BuildModel(rNode.Content[0], &rDoc)
// _ = lDoc.Build(lNode.Content[0], nil)
// _ = rDoc.Build(rNode.Content[0], nil)
//
@@ -522,8 +522,8 @@ biscuit:
// // create low level objects
// var lDoc v3.SecurityRequirement
// var rDoc v3.SecurityRequirement
// _ = low.BuildModel(&lNode, &lDoc)
// _ = low.BuildModel(&rNode, &rDoc)
// _ = low.BuildModel(lNode.Content[0], &lDoc)
// _ = low.BuildModel(rNode.Content[0], &rDoc)
// _ = lDoc.Build(lNode.Content[0], nil)
// _ = rDoc.Build(rNode.Content[0], nil)
//

View File

@@ -35,8 +35,8 @@ x-beer: tasty`
// create low level objects
var lDoc v2.SecurityScheme
var rDoc v2.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -64,8 +64,8 @@ x-beer: very tasty`
// create low level objects
var lDoc v2.SecurityScheme
var rDoc v2.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -95,8 +95,8 @@ scopes:
// create low level objects
var lDoc v2.SecurityScheme
var rDoc v2.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -124,8 +124,8 @@ scopes:
// create low level objects
var lDoc v2.SecurityScheme
var rDoc v2.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -153,8 +153,8 @@ func TestCompareSecuritySchemes_v2_ModifyScope(t *testing.T) {
// create low level objects
var lDoc v2.SecurityScheme
var rDoc v2.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -187,8 +187,8 @@ description: a thing`
// create low level objects
var lDoc v3.SecurityScheme
var rDoc v3.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -218,8 +218,8 @@ x-beer: cool`
// create low level objects
var lDoc v3.SecurityScheme
var rDoc v3.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -250,8 +250,8 @@ flows:
// create low level objects
var lDoc v3.SecurityScheme
var rDoc v3.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -278,8 +278,8 @@ flows:
// create low level objects
var lDoc v3.SecurityScheme
var rDoc v3.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
@@ -309,8 +309,8 @@ flows:
// create low level objects
var lDoc v3.SecurityScheme
var rDoc v3.SecurityScheme
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)

View File

@@ -4,16 +4,16 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareServers(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: a server
variables:
thing:
@@ -22,7 +22,7 @@ variables:
- biccy
default: choccy`
right := `url: https://pb33f.io
right := `url: https://pb33f.io
description: a server
variables:
thing:
@@ -31,26 +31,26 @@ variables:
- biccy
default: choccy`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Nil(t, extChanges)
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}
func TestCompareServers_Modified(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
description: a server
variables:
thing:
@@ -59,7 +59,7 @@ variables:
- biccy
default: choccy`
right := `url: https://pb33f.io/hotness
right := `url: https://pb33f.io/hotness
description: a server that is not
variables:
thing:
@@ -68,26 +68,26 @@ variables:
- biccy
default: biccy`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Equal(t, 3, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Equal(t, 3, extChanges.TotalChanges())
assert.Equal(t, 2, extChanges.TotalBreakingChanges())
}
func TestCompareServers_Added(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
variables:
thing:
enum:
@@ -95,7 +95,7 @@ variables:
- biccy
default: choccy`
right := `url: https://pb33f.io
right := `url: https://pb33f.io
description: a server
variables:
thing:
@@ -105,28 +105,28 @@ variables:
- tea
default: choccy`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, ObjectAdded, extChanges.ServerVariableChanges["thing"].Changes[0].ChangeType)
// compare.
extChanges := CompareServers(&lDoc, &rDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 0, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyAdded, extChanges.Changes[0].ChangeType)
assert.Equal(t, ObjectAdded, extChanges.ServerVariableChanges["thing"].Changes[0].ChangeType)
}
func TestCompareServers_Removed(t *testing.T) {
left := `url: https://pb33f.io
left := `url: https://pb33f.io
variables:
thing:
enum:
@@ -134,7 +134,7 @@ variables:
- biccy
default: choccy`
right := `url: https://pb33f.io
right := `url: https://pb33f.io
description: a server
variables:
thing:
@@ -144,22 +144,22 @@ variables:
- tea
default: choccy`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc v3.Server
var rDoc v3.Server
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareServers(&rDoc, &lDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, ObjectRemoved, extChanges.ServerVariableChanges["thing"].Changes[0].ChangeType)
// compare.
extChanges := CompareServers(&rDoc, &lDoc)
assert.Equal(t, 2, extChanges.TotalChanges())
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, ObjectRemoved, extChanges.ServerVariableChanges["thing"].Changes[0].ChangeType)
}

View File

@@ -32,8 +32,8 @@ enum:
// create low level objects
var lDoc v3.ServerVariable
var rDoc v3.ServerVariable
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareServerVariables(&lDoc, &rDoc)
@@ -61,8 +61,8 @@ enum:
// create low level objects
var lDoc v3.ServerVariable
var rDoc v3.ServerVariable
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareServerVariables(&lDoc, &rDoc)
@@ -94,8 +94,8 @@ enum:
// create low level objects
var lDoc v3.ServerVariable
var rDoc v3.ServerVariable
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareServerVariables(&lDoc, &rDoc)
@@ -123,8 +123,8 @@ enum:
// create low level objects
var lDoc v3.ServerVariable
var rDoc v3.ServerVariable
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareServerVariables(&lDoc, &rDoc)
@@ -153,8 +153,8 @@ enum:
// create low level objects
var lDoc v3.ServerVariable
var rDoc v3.ServerVariable
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
// compare.
extChanges := CompareServerVariables(&rDoc, &lDoc)

View File

@@ -4,141 +4,141 @@
package model
import (
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/base"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
"github.com/pb33f/libopenapi/datamodel/low"
"github.com/pb33f/libopenapi/datamodel/low/base"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v3"
"testing"
)
func TestCompareXML_NameChanged(t *testing.T) {
left := `name: xml thing
left := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true`
right := `namespace: something
right := `namespace: something
prefix: another
name: changed xml thing
attribute: true
wrapped: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, Modified, extChanges.Changes[0].ChangeType)
}
func TestCompareXML_NameRemoved(t *testing.T) {
left := `name: xml thing
left := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true`
right := `wrapped: true
right := `wrapped: true
prefix: another
attribute: true
namespace: something`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, PropertyRemoved, extChanges.Changes[0].ChangeType)
assert.Equal(t, 1, extChanges.TotalBreakingChanges())
}
func TestCompareXML_ExtensionAdded(t *testing.T) {
left := `name: xml thing
left := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true`
right := `name: xml thing
right := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true
x-coffee: time`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.ExtensionChanges.Changes[0].ChangeType)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Equal(t, 1, extChanges.TotalChanges())
assert.Equal(t, ObjectAdded, extChanges.ExtensionChanges.Changes[0].ChangeType)
}
func TestCompareXML_Identical(t *testing.T) {
left := `name: xml thing
left := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true`
right := `name: xml thing
right := `name: xml thing
namespace: something
prefix: another
attribute: true
wrapped: true`
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
var lNode, rNode yaml.Node
_ = yaml.Unmarshal([]byte(left), &lNode)
_ = yaml.Unmarshal([]byte(right), &rNode)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(&lNode, &lDoc)
_ = low.BuildModel(&rNode, &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// create low level objects
var lDoc base.XML
var rDoc base.XML
_ = low.BuildModel(lNode.Content[0], &lDoc)
_ = low.BuildModel(rNode.Content[0], &rDoc)
_ = lDoc.Build(lNode.Content[0], nil)
_ = rDoc.Build(rNode.Content[0], nil)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
// compare.
extChanges := CompareXML(&lDoc, &rDoc)
assert.Nil(t, extChanges)
}