From f8ae5759d0dde77b324d77955e39c8fd2594488d Mon Sep 17 00:00:00 2001 From: Dave Shanley Date: Wed, 18 Jan 2023 07:00:46 -0500 Subject: [PATCH] Couple of small fixes for what-changed. No breaking changes, errors and model are returned now (allows errors and model through). And a small fix to the paths hashing mechanism to ensure identical paths with different names are checked. --- datamodel/low/v3/paths.go | 2 +- document.go | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/datamodel/low/v3/paths.go b/datamodel/low/v3/paths.go index ae2b32b..52f0e38 100644 --- a/datamodel/low/v3/paths.go +++ b/datamodel/low/v3/paths.go @@ -153,7 +153,7 @@ func (p *Paths) Hash() [32]byte { } sort.Strings(l) for k := range l { - f = append(f, low.GenerateHashString(keys[l[k]].Value)) + f = append(f, fmt.Sprintf("%s-%s",l[k], low.GenerateHashString(keys[l[k]].Value))) } ekeys := make([]string, len(p.Extensions)) z = 0 diff --git a/document.go b/document.go index e4eb001..c41c53b 100644 --- a/document.go +++ b/document.go @@ -182,10 +182,7 @@ func CompareDocuments(original, updated Document) (*model.DocumentChanges, []err if len(errs) > 0 { errors = errs } - if len(errors) > 0 { - return nil, errors - } - return what_changed.CompareOpenAPIDocuments(v3ModelLeft.Model.GoLow(), v3ModelRight.Model.GoLow()), nil + return what_changed.CompareOpenAPIDocuments(v3ModelLeft.Model.GoLow(), v3ModelRight.Model.GoLow()), errors } if original.GetSpecInfo().SpecType == utils.OpenApi2 && updated.GetSpecInfo().SpecType == utils.OpenApi2 { v2ModelLeft, errs := original.BuildV2Model() @@ -196,10 +193,7 @@ func CompareDocuments(original, updated Document) (*model.DocumentChanges, []err if len(errs) > 0 { errors = errs } - if len(errors) > 0 { - return nil, errors - } - return what_changed.CompareSwaggerDocuments(v2ModelLeft.Model.GoLow(), v2ModelRight.Model.GoLow()), nil + return what_changed.CompareSwaggerDocuments(v2ModelLeft.Model.GoLow(), v2ModelRight.Model.GoLow()), errors } return nil, nil }