@@ -269,6 +269,7 @@ func TestMatchKeyNames(t *testing.T) {
269
269
input I
270
270
result bool
271
271
output O
272
+ err ValueAssertionFunc
272
273
}
273
274
274
275
tcs := []TC {
@@ -278,48 +279,63 @@ func TestMatchKeyNames(t *testing.T) {
278
279
input : I {},
279
280
result : false ,
280
281
output : O {},
282
+ err : assert .Nil ,
281
283
},
282
284
{
283
285
name : "MatchAny" ,
284
286
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchAny },
285
287
input : I {"key1" : {}, "key2" : {}},
286
288
result : true ,
287
289
output : O {{"Name" : "key1" }, {"Name" : "key2" }},
290
+ err : assert .Nil ,
288
291
},
289
292
{
290
293
name : "MatchExists" ,
291
294
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchExists },
292
295
input : I {"key1" : {}, "key2" : {}},
293
296
result : true ,
294
297
output : O {{"Name" : "key1" }, {"Name" : "key2" }},
298
+ err : assert .Nil ,
295
299
},
296
300
{
297
301
name : "MatchDoesNotExist" ,
298
302
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchDoesNotExist },
299
303
input : I {"key1" : {}, "key2" : {}},
300
304
result : false ,
301
305
output : O {},
306
+ err : assert .Nil ,
302
307
},
303
308
{
304
309
name : "MatchIn matches" ,
305
310
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchIn , Value : nfdv1alpha1.MatchValue {"key1" }},
306
311
input : I {"key1" : {}, "key2" : {}},
307
312
result : true ,
308
313
output : O {{"Name" : "key1" }},
314
+ err : assert .Nil ,
309
315
},
310
316
{
311
317
name : "MatchIn no match" ,
312
318
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchIn , Value : nfdv1alpha1.MatchValue {"key3" }},
313
319
input : I {"key1" : {}, "key2" : {}},
314
320
result : false ,
315
321
output : O {},
322
+ err : assert .Nil ,
316
323
},
317
324
{
318
325
name : "MatchNotIn" ,
319
326
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchNotIn , Value : nfdv1alpha1.MatchValue {"key1" }},
320
327
input : I {"key1" : {}, "key2" : {}},
321
328
result : true ,
322
329
output : O {{"Name" : "key2" }},
330
+ err : assert .Nil ,
331
+ },
332
+ {
333
+ name : "error" ,
334
+ me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchExists , Value : nfdv1alpha1.MatchValue {"key1" }},
335
+ input : I {"key1" : {}, "key2" : {}},
336
+ result : false ,
337
+ output : nil ,
338
+ err : assert .NotNil ,
323
339
},
324
340
}
325
341
@@ -328,7 +344,7 @@ func TestMatchKeyNames(t *testing.T) {
328
344
res , ret , err := api .MatchKeyNames (tc .me , tc .input )
329
345
assert .Equal (t , tc .result , res )
330
346
assert .Equal (t , tc .output , ret )
331
- assert . Nil (t , err )
347
+ tc . err (t , err )
332
348
})
333
349
}
334
350
}
@@ -343,6 +359,7 @@ func TestMatchValueNames(t *testing.T) {
343
359
input I
344
360
result bool
345
361
output O
362
+ err ValueAssertionFunc
346
363
}
347
364
348
365
tcs := []TC {
@@ -352,41 +369,55 @@ func TestMatchValueNames(t *testing.T) {
352
369
input : I {},
353
370
result : false ,
354
371
output : O {},
372
+ err : assert .Nil ,
355
373
},
356
374
{
357
375
name : "MatchExists" ,
358
376
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchExists },
359
377
input : I {"key1" : "val1" , "key2" : "val2" },
360
378
result : true ,
361
379
output : O {{"Name" : "key1" , "Value" : "val1" }, {"Name" : "key2" , "Value" : "val2" }},
380
+ err : assert .Nil ,
362
381
},
363
382
{
364
383
name : "MatchDoesNotExist" ,
365
384
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchDoesNotExist },
366
385
input : I {"key1" : "val1" , "key2" : "val2" },
367
386
result : false ,
368
387
output : O {},
388
+ err : assert .Nil ,
369
389
},
370
390
{
371
391
name : "MatchIn matches" ,
372
392
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchIn , Value : nfdv1alpha1.MatchValue {"key1" }},
373
393
input : I {"key1" : "val1" , "key2" : "val2" },
374
394
result : true ,
375
395
output : O {{"Name" : "key1" , "Value" : "val1" }},
396
+ err : assert .Nil ,
376
397
},
377
398
{
378
399
name : "MatchIn no match" ,
379
400
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchIn , Value : nfdv1alpha1.MatchValue {"key3" }},
380
401
input : I {"key1" : "val1" , "key2" : "val2" },
381
402
result : false ,
382
403
output : O {},
404
+ err : assert .Nil ,
383
405
},
384
406
{
385
407
name : "MatchNotIn" ,
386
408
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchNotIn , Value : nfdv1alpha1.MatchValue {"key1" }},
387
409
input : I {"key1" : "val1" , "key2" : "val2" },
388
410
result : true ,
389
411
output : O {{"Name" : "key2" , "Value" : "val2" }},
412
+ err : assert .Nil ,
413
+ },
414
+ {
415
+ name : "error" ,
416
+ me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchNotIn },
417
+ input : I {"key1" : "val1" , "key2" : "val2" },
418
+ result : false ,
419
+ output : nil ,
420
+ err : assert .NotNil ,
390
421
},
391
422
}
392
423
@@ -395,7 +426,7 @@ func TestMatchValueNames(t *testing.T) {
395
426
res , ret , err := api .MatchValueNames (tc .me , tc .input )
396
427
assert .Equal (t , tc .result , res )
397
428
assert .Equal (t , tc .output , ret )
398
- assert . Nil (t , err )
429
+ tc . err (t , err )
399
430
})
400
431
}
401
432
}
@@ -410,6 +441,7 @@ func TestMatchInstanceAttributeNames(t *testing.T) {
410
441
me * nfdv1alpha1.MatchExpression
411
442
input I
412
443
output O
444
+ err ValueAssertionFunc
413
445
}
414
446
415
447
tcs := []TC {
@@ -418,6 +450,7 @@ func TestMatchInstanceAttributeNames(t *testing.T) {
418
450
me : & nfdv1alpha1.MatchExpression {Op : nfdv1alpha1 .MatchAny },
419
451
input : I {},
420
452
output : O {},
453
+ err : assert .Nil ,
421
454
},
422
455
{
423
456
name : "no match" ,
@@ -430,6 +463,7 @@ func TestMatchInstanceAttributeNames(t *testing.T) {
430
463
{Attributes : A {"baz" : "2" }},
431
464
},
432
465
output : O {},
466
+ err : assert .Nil ,
433
467
},
434
468
{
435
469
name : "match" ,
@@ -446,14 +480,26 @@ func TestMatchInstanceAttributeNames(t *testing.T) {
446
480
{"foo" : "1" },
447
481
{"foo" : "3" , "baz" : "4" },
448
482
},
483
+ err : assert .Nil ,
484
+ },
485
+ {
486
+ name : "error" ,
487
+ me : & nfdv1alpha1.MatchExpression {
488
+ Op : nfdv1alpha1 .MatchIn ,
489
+ },
490
+ input : I {
491
+ {Attributes : A {"foo" : "1" }},
492
+ },
493
+ output : nil ,
494
+ err : assert .NotNil ,
449
495
},
450
496
}
451
497
452
498
for _ , tc := range tcs {
453
499
t .Run (tc .name , func (t * testing.T ) {
454
500
matched , err := api .MatchInstanceAttributeNames (tc .me , tc .input )
455
501
assert .Equal (t , tc .output , matched )
456
- assert . Nil (t , err )
502
+ tc . err (t , err )
457
503
})
458
504
}
459
505
}
0 commit comments