Skip to content

Commit c440fec

Browse files
committed
upgraded to libopenapi v0.28.0
1 parent 7444778 commit c440fec

File tree

7 files changed

+43
-49
lines changed

7 files changed

+43
-49
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.24.7
55
require (
66
github.com/dlclark/regexp2 v1.11.5
77
github.com/pb33f/jsonpath v0.1.2
8-
github.com/pb33f/libopenapi v0.27.2
8+
github.com/pb33f/libopenapi v0.28.0
99
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
1010
github.com/stretchr/testify v1.11.1
1111
go.yaml.in/yaml/v4 v4.0.0-rc.2

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
1212
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
1313
github.com/pb33f/jsonpath v0.1.2 h1:PlqXjEyecMqoYJupLxYeClCGWEpAFnh4pmzgspbXDPI=
1414
github.com/pb33f/jsonpath v0.1.2/go.mod h1:TtKnUnfqZm48q7a56DxB3WtL3ipkVtukMKGKxaR/uXU=
15-
github.com/pb33f/libopenapi v0.27.2 h1:buDwqA6SKWwrG4YZwJprBV+bk8uizqLgiF4lkIV9w14=
16-
github.com/pb33f/libopenapi v0.27.2/go.mod h1:mHMHA3ZKSZDTInNAuUtqkHlKLIjPm2HN1vgsGR57afc=
15+
github.com/pb33f/libopenapi v0.28.0 h1:j8o3Tttxo1AvX/QknIVXvmF1ixiR8Bl93FOgB+OQPt0=
16+
github.com/pb33f/libopenapi v0.28.0/go.mod h1:mHMHA3ZKSZDTInNAuUtqkHlKLIjPm2HN1vgsGR57afc=
1717
github.com/pb33f/ordered-map/v2 v2.3.0 h1:k2OhVEQkhTCQMhAicQ3Z6iInzoZNQ7L9MVomwKBZ5WQ=
1818
github.com/pb33f/ordered-map/v2 v2.3.0/go.mod h1:oe5ue+6ZNhy7QN9cPZvPA23Hx0vMHnNVeMg4fGdCANw=
1919
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=

parameters/query_parameters_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ paths:
9494
doc, err := libopenapi.NewDocument([]byte(spec))
9595
require.NoError(t, err)
9696
m, errs := doc.BuildV3Model()
97-
require.Len(t, errs, 0)
97+
require.NoError(t, errs)
9898

9999
v := NewParameterValidator(&m.Model)
100100

@@ -124,7 +124,7 @@ paths:
124124
doc, err := libopenapi.NewDocument([]byte(spec))
125125
require.NoError(t, err)
126126
m, errs := doc.BuildV3Model()
127-
require.Len(t, errs, 0)
127+
require.NoError(t, errs)
128128

129129
v := NewParameterValidator(&m.Model)
130130

@@ -183,7 +183,7 @@ paths:
183183
doc, err := libopenapi.NewDocument([]byte(spec))
184184
require.NoError(t, err)
185185
m, errs := doc.BuildV3Model()
186-
require.Len(t, errs, 0)
186+
require.NoError(t, errs)
187187

188188
v := NewParameterValidator(&m.Model)
189189

@@ -213,7 +213,7 @@ paths:
213213
doc, err := libopenapi.NewDocument([]byte(spec))
214214
require.NoError(t, err)
215215
m, errs := doc.BuildV3Model()
216-
require.Len(t, errs, 0)
216+
require.NoError(t, errs)
217217

218218
v := NewParameterValidator(&m.Model)
219219

@@ -591,7 +591,7 @@ paths:
591591
doc, err := libopenapi.NewDocument([]byte(spec))
592592
require.NoError(t, err)
593593
m, errs := doc.BuildV3Model()
594-
require.Len(t, errs, 0)
594+
require.NoError(t, errs)
595595

596596
v := NewParameterValidator(&m.Model)
597597

@@ -621,7 +621,7 @@ paths:
621621
doc, err := libopenapi.NewDocument([]byte(spec))
622622
require.NoError(t, err)
623623
m, errs := doc.BuildV3Model()
624-
require.Len(t, errs, 0)
624+
require.NoError(t, errs)
625625

626626
v := NewParameterValidator(&m.Model)
627627

@@ -651,7 +651,7 @@ paths:
651651
doc, err := libopenapi.NewDocument([]byte(spec))
652652
require.NoError(t, err)
653653
m, errs := doc.BuildV3Model()
654-
require.Len(t, errs, 0)
654+
require.NoError(t, errs)
655655

656656
v := NewParameterValidator(&m.Model)
657657

@@ -681,7 +681,7 @@ paths:
681681
doc, err := libopenapi.NewDocument([]byte(spec))
682682
require.NoError(t, err)
683683
m, errs := doc.BuildV3Model()
684-
require.Len(t, errs, 0)
684+
require.NoError(t, errs)
685685

686686
v := NewParameterValidator(&m.Model)
687687

@@ -825,7 +825,7 @@ paths:
825825
doc, err := libopenapi.NewDocument([]byte(spec))
826826
require.NoError(t, err)
827827
m, errs := doc.BuildV3Model()
828-
require.Len(t, errs, 0)
828+
require.NoError(t, errs)
829829

830830
v := NewParameterValidator(&m.Model)
831831

@@ -855,7 +855,7 @@ paths:
855855
doc, err := libopenapi.NewDocument([]byte(spec))
856856
require.NoError(t, err)
857857
m, errs := doc.BuildV3Model()
858-
require.Len(t, errs, 0)
858+
require.NoError(t, errs)
859859

860860
v := NewParameterValidator(&m.Model)
861861

@@ -885,7 +885,7 @@ paths:
885885
doc, err := libopenapi.NewDocument([]byte(spec))
886886
require.NoError(t, err)
887887
m, errs := doc.BuildV3Model()
888-
require.Len(t, errs, 0)
888+
require.NoError(t, errs)
889889

890890
v := NewParameterValidator(&m.Model)
891891

@@ -914,7 +914,7 @@ paths:
914914
doc, err := libopenapi.NewDocument([]byte(spec))
915915
require.NoError(t, err)
916916
m, errs := doc.BuildV3Model()
917-
require.Len(t, errs, 0)
917+
require.NoError(t, errs)
918918

919919
v := NewParameterValidator(&m.Model)
920920

@@ -3329,7 +3329,7 @@ components:
33293329
doc, _ := libopenapi.NewDocument([]byte(spec))
33303330

33313331
m, err := doc.BuildV3Model()
3332-
assert.Len(t, err, 1) // path build will fail because of missing schema.
3332+
assert.Error(t, err) // path build will fail because of missing schema.
33333333

33343334
v := NewParameterValidator(&m.Model)
33353335

@@ -3377,7 +3377,7 @@ components:
33773377
doc, _ := libopenapi.NewDocument([]byte(spec))
33783378

33793379
m, err := doc.BuildV3Model()
3380-
assert.Len(t, err, 0) // no patch build here
3380+
assert.NoError(t, err)
33813381

33823382
v := NewParameterValidator(&m.Model)
33833383

@@ -3467,7 +3467,7 @@ components:
34673467
doc, _ := libopenapi.NewDocument([]byte(spec))
34683468

34693469
m, err := doc.BuildV3Model()
3470-
assert.Len(t, err, 0) // no patch build here
3470+
assert.NoError(t, err)
34713471

34723472
v := NewParameterValidator(&m.Model)
34733473

@@ -3508,7 +3508,7 @@ paths:
35083508
doc, _ := libopenapi.NewDocument([]byte(spec))
35093509

35103510
m, err := doc.BuildV3Model()
3511-
assert.Len(t, err, 0)
3511+
assert.NoError(t, err)
35123512

35133513
v := NewParameterValidator(&m.Model)
35143514

@@ -3560,7 +3560,7 @@ paths:
35603560
doc, _ := libopenapi.NewDocument([]byte(spec))
35613561

35623562
m, err := doc.BuildV3Model()
3563-
assert.Len(t, err, 0)
3563+
assert.NoError(t, err)
35643564

35653565
v := NewParameterValidator(&m.Model)
35663566

@@ -3611,7 +3611,7 @@ paths:
36113611
doc, _ := libopenapi.NewDocument([]byte(spec))
36123612

36133613
m, err := doc.BuildV3Model()
3614-
assert.Len(t, err, 0)
3614+
assert.NoError(t, err)
36153615

36163616
v := NewParameterValidator(&m.Model)
36173617

parameters/validate_parameter_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func TestHeaderSchemaNoType(t *testing.T) {
8888
req.Header.Set("apiKey", "headerValue")
8989

9090
v3Model, errs := doc.BuildV3Model()
91-
if len(errs) > 0 {
91+
if errs != nil {
9292
t.Fatalf("error while building v3 model: %v", errs)
9393
}
9494

@@ -179,7 +179,7 @@ func TestHeaderSchemaNoType_AllPoly(t *testing.T) {
179179
req.Header.Set("apiKey", "headerValue")
180180

181181
v3Model, errs := doc.BuildV3Model()
182-
if len(errs) > 0 {
182+
if errs != nil {
183183
t.Fatalf("error while building v3 model: %v", errs)
184184
}
185185

@@ -242,7 +242,7 @@ func TestUnifiedErrorFormatWithFormatValidation(t *testing.T) {
242242
}
243243

244244
v3Model, errs := doc.BuildV3Model()
245-
if len(errs) > 0 {
245+
if errs != nil {
246246
t.Fatalf("error while building v3 model: %v", errs)
247247
}
248248

@@ -387,7 +387,7 @@ func TestHeaderSchemaStringNoJSON(t *testing.T) {
387387
req.Header.Set("apiKey", "headerValue")
388388

389389
v3Model, errs := doc.BuildV3Model()
390-
if len(errs) > 0 {
390+
if errs != nil {
391391
t.Fatalf("error while building v3 model: %v", errs)
392392
}
393393

@@ -450,7 +450,7 @@ func TestComplexRegexSchemaCompilationError(t *testing.T) {
450450
}
451451

452452
v3Model, errs := doc.BuildV3Model()
453-
if len(errs) > 0 {
453+
if errs != nil {
454454
t.Fatalf("error while building v3 model: %v", errs)
455455
}
456456

requests/validate_body_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1432,7 +1432,7 @@ func TestValidateBody_SchemaNoType_Issue75(t *testing.T) {
14321432
req.Header.Set("Content-Type", "application/json")
14331433

14341434
v3Model, errs := doc.BuildV3Model()
1435-
if len(errs) > 0 {
1435+
if errs != nil {
14361436
fmt.Println("error while building a Open API spec V3 model", errs)
14371437
return
14381438
}

validator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ type Validator interface {
7070
func NewValidator(document libopenapi.Document, opts ...config.Option) (Validator, []error) {
7171
m, errs := document.BuildV3Model()
7272
if errs != nil {
73-
return nil, errs
73+
return nil, []error{errs}
7474
}
7575
v := NewValidatorFromV3Model(&m.Model, opts...)
7676
v.(*validator).document = document

validator_test.go

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,21 +1797,18 @@ components:
17971797
circ := model.Index.GetCircularReferences()
17981798
fmt.Println("Circular references: ", len(circ))
17991799

1800-
if len(errs) > 0 {
1801-
for i := range errs {
1802-
fmt.Printf("model error: %e\n", errs[i])
1803-
}
1804-
panic(fmt.Sprintf("failed to create v3 model from document: %d errors reported", len(errs)))
1800+
if errs != nil {
1801+
panic(fmt.Sprintf("failed to create v3 model from document: %e", errs))
18051802
}
18061803

18071804
fmt.Println("Successfully parsed OpenAPI spec")
18081805

1809-
oapiValidator, errs := NewValidator(document)
1810-
if errs != nil {
1811-
panic(fmt.Sprintf("failed to create validator: %v", errs))
1806+
oapiValidator, merrs := NewValidator(document)
1807+
if merrs != nil {
1808+
panic(fmt.Sprintf("failed to create validator: %v", merrs))
18121809
}
1813-
if ok, errs := oapiValidator.ValidateDocument(); !ok {
1814-
panic(fmt.Sprintf("document validation errors: %v", errs))
1810+
if ok, merrs := oapiValidator.ValidateDocument(); !ok {
1811+
panic(fmt.Sprintf("document validation errors: %v", merrs))
18151812
}
18161813

18171814
req := &http.Request{
@@ -1874,21 +1871,18 @@ components:
18741871
circ := model.Index.GetCircularReferences()
18751872
fmt.Println("Circular references: ", len(circ))
18761873

1877-
if len(errs) > 0 {
1878-
for i := range errs {
1879-
fmt.Printf("model error: %e\n", errs[i])
1880-
}
1881-
panic(fmt.Sprintf("failed to create v3 model from document: %d errors reported", len(errs)))
1874+
if errs != nil {
1875+
panic(fmt.Sprintf("failed to create v3 model from document: %e", errs))
18821876
}
18831877

18841878
fmt.Println("Successfully parsed OpenAPI spec")
18851879

1886-
oapiValidator, errs := NewValidator(document)
1887-
if errs != nil {
1888-
panic(fmt.Sprintf("failed to create validator: %v", errs))
1880+
oapiValidator, merrs := NewValidator(document)
1881+
if merrs != nil {
1882+
panic(fmt.Sprintf("failed to create validator: %v", merrs))
18891883
}
1890-
if ok, errs := oapiValidator.ValidateDocument(); !ok {
1891-
panic(fmt.Sprintf("document validation errors: %v", errs))
1884+
if ok, merrs := oapiValidator.ValidateDocument(); !ok {
1885+
panic(fmt.Sprintf("document validation errors: %v", merrs))
18921886
}
18931887

18941888
req := &http.Request{
@@ -1942,7 +1936,7 @@ components:
19421936
model, errs := document.BuildV3Model()
19431937

19441938
if errs != nil {
1945-
panic(fmt.Sprintf("failed to create v3 model from document: %d errors reported", len(errs)))
1939+
panic(fmt.Sprintf("failed to create v3 model from document: %e", errs))
19461940
}
19471941

19481942
v := NewValidatorFromV3Model(&model.Model)

0 commit comments

Comments
 (0)