Skip to content

Commit f903f3e

Browse files
authored
test(fmts): simplified repetitive boiler plate in test (#126)
Signed-off-by: Frederic BIDON <fredbi@yahoo.com>
1 parent 4a9c1d5 commit f903f3e

1 file changed

Lines changed: 34 additions & 19 deletions

File tree

fmts/fixture_test.go

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ package fmts
55

66
import (
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 {
3941
func 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

Comments
 (0)