Skip to content

Commit e7288dc

Browse files
committed
TEST/MEDIUM: metadata: add metadata tests
1 parent 61bb11d commit e7288dc

5 files changed

Lines changed: 40 additions & 53 deletions

File tree

test/configuration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ global
278278
ocsp-update.mode on
279279
warn-blocked-traffic-after 50ms
280280
281-
defaults test_defaults
281+
defaults test_defaults # testing_defaults
282282
acl invalid_src src 0.0.0.0/7 224.0.0.0/3
283283
acl invalid_src src_port 0:1023
284284
acl local_dst hdr(host) -i localhost

test/convert.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,11 @@ func StructuredToTracesMap() models.Traces {
283283
return resources[""]
284284
}
285285

286-
func StructuredToDefaultsMap() map[string][]*models.Defaults {
286+
func StructuredToDefaultsMap() map[string]*models.Defaults {
287287
resources, _ := expectedResources[models.Defaults]("defaults")
288-
res := make(map[string][]*models.Defaults)
288+
res := make(map[string]*models.Defaults)
289289
for _, v := range resources {
290-
currentv := v
291-
res[v.Name] = append(res[v.Name], &currentv)
290+
res[v.Name] = &v
292291
}
293292
return res
294293
}

test/defaults_test.go

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/stretchr/testify/require"
1212
)
1313

14-
func namedDefaultsExpectation() map[string][]*models.Defaults {
14+
func namedDefaultsExpectation() map[string]*models.Defaults {
1515
initStructuredExpected()
1616
res := StructuredToDefaultsMap()
1717
return res
@@ -26,6 +26,9 @@ func TestPushDefaults(t *testing.T) {
2626
statsRealm := "Haproxy Stats"
2727
d := &models.Defaults{
2828
DefaultsBase: models.DefaultsBase{
29+
Metadata: map[string]interface{}{
30+
"comment": "my_comment",
31+
},
2932
Clitcpka: "disabled",
3033
DefaultBackend: "test2",
3134
ErrorFiles: []*models.Errorfile{
@@ -121,13 +124,11 @@ func TestPushDefaults(t *testing.T) {
121124
}
122125

123126
err := clientTest.PushDefaultsConfiguration(d, "", version)
124-
125127
if err != nil {
126128
t.Error(err.Error())
127129
} else {
128130
version++
129131
}
130-
131132
ver, defaults, err := clientTest.GetDefaultsConfiguration("")
132133
if err != nil {
133134
t.Error(err.Error())
@@ -156,22 +157,20 @@ func TestPushDefaults(t *testing.T) {
156157
}
157158

158159
err = clientTest.PushDefaultsConfiguration(d, "", 1055)
159-
160160
if err == nil {
161161
t.Error("Should have returned version conflict.")
162162
}
163163
}
164164

165165
func TestGetDefaultsSections(t *testing.T) {
166-
m := make(map[string][]*models.Defaults)
166+
m := make(map[string]*models.Defaults)
167167
v, defaults, err := clientTest.GetDefaultsSections("")
168168
if err != nil {
169169
t.Error(err.Error())
170170
}
171171

172172
for _, v := range defaults {
173-
d := *v
174-
m[d.Name] = []*models.Defaults{&d}
173+
m[v.Name] = v
175174
}
176175

177176
if len(defaults) != 3 {
@@ -185,29 +184,22 @@ func TestGetDefaultsSections(t *testing.T) {
185184
checkNamedDefaults(t, m)
186185
}
187186

188-
func checkNamedDefaults(t *testing.T, got map[string][]*models.Defaults) {
187+
func checkNamedDefaults(t *testing.T, got map[string]*models.Defaults) {
189188
exp := namedDefaultsExpectation()
190189
for k, v := range got {
191-
want, ok := exp[k]
190+
w, ok := exp[k]
192191
require.True(t, ok, "k=%s", k)
193-
require.Equal(t, len(want), len(v), "k=%s", k)
194-
for _, g := range v {
195-
for _, w := range want {
196-
if g.Name == w.Name {
197-
// This is due to the fact the unnamed defaults is modified here in TestEditCreateDeleteDefaultsSection
198-
// So value is not equal to what was in configuration_test.go is the test runs after the edit one.
199-
if g.Name != "unnamed_defaults_1" {
200-
require.True(t, g.DefaultsBase.Equal(w.DefaultsBase), "k=%s - diff %v", k, cmp.Diff(*g, *w))
201-
break
202-
}
203-
}
204-
}
192+
// This is due to the fact the unnamed defaults is modified here in TestEditCreateDeleteDefaultsSection
193+
// So value is not equal to what was in configuration_test.go is the test runs after the edit one.
194+
if v.Name != "unnamed_defaults_1" {
195+
require.True(t, v.DefaultsBase.Equal(w.DefaultsBase), "k=%s - diff %v", k, cmp.Diff(v.DefaultsBase, w.DefaultsBase))
196+
break
205197
}
206198
}
207199
}
208200

209201
func TestGetDefaultsSection(t *testing.T) {
210-
m := make(map[string][]*models.Defaults)
202+
m := make(map[string]*models.Defaults)
211203

212204
v, d, err := clientTest.GetDefaultsSection("test_defaults", "")
213205
if err != nil {
@@ -217,7 +209,7 @@ func TestGetDefaultsSection(t *testing.T) {
217209
if v != version {
218210
t.Errorf("Version %v returned, expected %v", v, version)
219211
}
220-
m["test_defaults"] = append(m[""], d)
212+
m["test_defaults"] = d
221213

222214
checkNamedDefaults(t, m)
223215
}
@@ -229,7 +221,8 @@ func TestEditCreateDeleteDefaultsSection(t *testing.T) {
229221
Name: "created",
230222
Clitcpka: "disabled",
231223
DefaultBackend: "test2",
232-
}}
224+
},
225+
}
233226
err := clientTest.CreateDefaultsSection(d, "", version)
234227
if err != nil {
235228
t.Error(err.Error())
@@ -276,7 +269,8 @@ func TestEditCreateDeleteDefaultsSection(t *testing.T) {
276269
Name: "created",
277270
Clitcpka: "enabled",
278271
DefaultBackend: "test2",
279-
}}
272+
},
273+
}
280274
err = clientTest.EditDefaultsSection("created", d, "", version)
281275
if err != nil {
282276
t.Error(err.Error())

test/expected/structured.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3164,6 +3164,9 @@
31643164
"hash_balance_factor": 150,
31653165
"maxconn": 2000,
31663166
"mode": "http",
3167+
"metadata": {
3168+
"comment": "testing_defaults"
3169+
},
31673170
"name": "test_defaults"
31683171
},
31693172
"test_defaults_2": {

test/structured_defaults_test.go

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func TestPushStructuredDefaults(t *testing.T) {
155155
ver, defaults, err := clientTest.GetStructuredDefaultsConfiguration("")
156156
require.NoError(t, err)
157157

158-
//assert.EqualValues(t, d, defaults)
158+
// assert.EqualValues(t, d, defaults)
159159
require.True(t, defaults.Equal(*d), "k=%s - diff %v", "defaults", cmp.Diff(*defaults, *d))
160160

161161
if ver != version {
@@ -175,13 +175,12 @@ func TestGetStructuredDefaultsSections(t *testing.T) {
175175
defer os.Remove(filename)
176176
version := int64(1)
177177

178-
m := make(map[string][]*models.Defaults)
178+
m := make(map[string]*models.Defaults)
179179
v, defaults, err := clientTest.GetStructuredDefaultsSections("")
180180
require.NoError(t, err)
181181

182182
for _, v := range defaults {
183-
d := *v
184-
m[d.Name] = []*models.Defaults{&d}
183+
m[v.Name] = v
185184
}
186185

187186
require.Equal(t, 3, len(defaults), "%v defaults returned, expected 2", len(defaults))
@@ -190,23 +189,14 @@ func TestGetStructuredDefaultsSections(t *testing.T) {
190189
checkNamedStructuredDefaults(t, m)
191190
}
192191

193-
func checkNamedStructuredDefaults(t *testing.T, got map[string][]*models.Defaults) {
192+
func checkNamedStructuredDefaults(t *testing.T, got map[string]*models.Defaults) {
194193
exp := namedDefaultsExpectation()
195194
for k, v := range got {
196-
want, ok := exp[k]
195+
w, ok := exp[k]
197196
require.True(t, ok, "k=%s", k)
198-
require.Equal(t, len(want), len(v), "k=%s", k)
199-
for _, g := range v {
200-
for _, w := range want {
201-
if g.Name == w.Name {
202-
// This is due to the fact the unnamed defaults is modified here in TestEditCreateDeleteDefaultsSection
203-
// So value is not equal to what was in configuration_test.go is the test runs after the edit one.
204-
if g.Name != "unnamed_defaults_1" {
205-
require.True(t, g.Equal(*w), "k=%s - diff %v", k, cmp.Diff(*g, *w))
206-
break
207-
}
208-
}
209-
}
197+
if v.Name != "unnamed_defaults_1" {
198+
require.True(t, v.Equal(*w), "k=%s - diff %v", k, cmp.Diff(*v, *w))
199+
break
210200
}
211201
}
212202
}
@@ -217,13 +207,13 @@ func TestGetStructuredDefaultsSection(t *testing.T) {
217207
defer os.Remove(filename)
218208
version := int64(1)
219209

220-
m := make(map[string][]*models.Defaults)
210+
m := make(map[string]*models.Defaults)
221211

222212
v, d, err := clientTest.GetStructuredDefaultsSection("test_defaults", "")
223213
require.NoError(t, err)
224214
require.Equal(t, version, v, "Version %v returned, expected %v", v, version)
225215

226-
m["test_defaults"] = append(m[""], d)
216+
m["test_defaults"] = d
227217
checkNamedStructuredDefaults(t, m)
228218
}
229219

@@ -239,7 +229,8 @@ func TestEditCreateDeleteStructuredDefaultsSection(t *testing.T) {
239229
Name: "created",
240230
Clitcpka: "disabled",
241231
DefaultBackend: "test2",
242-
}}
232+
},
233+
}
243234
err = clientTest.CreateStructuredDefaultsSection(d, "", version)
244235
require.NoError(t, err)
245236
version++
@@ -258,7 +249,8 @@ func TestEditCreateDeleteStructuredDefaultsSection(t *testing.T) {
258249
Name: "created",
259250
Clitcpka: "enabled",
260251
DefaultBackend: "test2",
261-
}}
252+
},
253+
}
262254
err = clientTest.EditStructuredDefaultsSection("created", d, "", version)
263255
require.NoError(t, err)
264256
version++
@@ -284,5 +276,4 @@ func TestEditCreateDeleteStructuredDefaultsSection(t *testing.T) {
284276

285277
err = clientTest.DeleteDefaultsSection("i_dont_exist", "", version)
286278
require.Error(t, err, "Should throw error, non existent defaults section")
287-
288279
}

0 commit comments

Comments
 (0)