@@ -5,8 +5,10 @@ package fmts
55
66import (
77 "encoding/json"
8+ "iter"
89 "os"
910 "path/filepath"
11+ "slices"
1012 "strings"
1113 "testing"
1214
@@ -39,27 +41,39 @@ func assertSpecJSON(t *testing.T, specJSON []byte) bool {
3941func assertSpecMaps (t * testing.T , actual , expected map [string ]any ) bool {
4042 t .Helper ()
4143
42- res := true
4344 if id , ok := expected ["id" ]; ok {
44- res = assert .Equal (t , id , actual ["id" ])
45+ if ! assert .Equal (t , id , actual ["id" ]) {
46+ return false
47+ }
48+ }
49+
50+ for key := range assertedKeys () {
51+ if ! assert .Equal (t , expected [key ], actual [key ]) {
52+ return false
53+ }
4554 }
46- res = res && assert .Equal (t , expected ["consumes" ], actual ["consumes" ])
47- res = res && assert .Equal (t , expected ["produces" ], actual ["produces" ])
48- res = res && assert .Equal (t , expected ["schemes" ], actual ["schemes" ])
49- res = res && assert .Equal (t , expected ["swagger" ], actual ["swagger" ])
50- res = res && assert .Equal (t , expected ["info" ], actual ["info" ])
51- res = res && assert .Equal (t , expected ["host" ], actual ["host" ])
52- res = res && assert .Equal (t , expected ["basePath" ], actual ["basePath" ])
53- res = res && assert .Equal (t , expected ["paths" ], actual ["paths" ])
54- res = res && assert .Equal (t , expected ["definitions" ], actual ["definitions" ])
55- res = res && assert .Equal (t , expected ["responses" ], actual ["responses" ])
56- res = res && assert .Equal (t , expected ["securityDefinitions" ], actual ["securityDefinitions" ])
57- res = res && assert .Equal (t , expected ["tags" ], actual ["tags" ])
58- res = res && assert .Equal (t , expected ["externalDocs" ], actual ["externalDocs" ])
59- res = res && assert .Equal (t , expected ["x-some-extension" ], actual ["x-some-extension" ])
60- res = res && assert .Equal (t , expected ["x-schemes" ], actual ["x-schemes" ])
61-
62- return res
55+
56+ return true
57+ }
58+
59+ func assertedKeys () iter.Seq [string ] {
60+ return slices .Values ([]string {
61+ "consumes" ,
62+ "produces" ,
63+ "schemes" ,
64+ "swagger" ,
65+ "info" ,
66+ "host" ,
67+ "basePath" ,
68+ "paths" ,
69+ "definitions" ,
70+ "responses" ,
71+ "securityDefinitions" ,
72+ "tags" ,
73+ "externalDocs" ,
74+ "x-some-extension" ,
75+ "x-schemes" ,
76+ })
6377}
6478
6579//nolint:unparam
@@ -69,6 +83,7 @@ func roundTripTest(t *testing.T, fixtureType, extension, fileName string, schema
6983 if extension == "yaml" {
7084 return roundTripTestYAML (t , fixtureType , fileName , schema )
7185 }
86+
7287 return roundTripTestJSON (t , fixtureType , fileName , schema )
7388}
7489
0 commit comments