@@ -22,91 +22,97 @@ import (
22
22
)
23
23
24
24
func TestAlertValidate (t * testing.T ) {
25
- oldScheme := NameValidationScheme
26
- NameValidationScheme = LegacyValidation
27
- defer func () {
28
- NameValidationScheme = oldScheme
29
- }()
30
25
ts := time .Now ()
31
26
32
27
cases := []struct {
33
- alert * Alert
34
- err string
28
+ alert * Alert
29
+ err string
30
+ scheme NameValidationScheme
35
31
}{
36
32
{
37
33
alert : & Alert {
38
34
Labels : LabelSet {"a" : "b" },
39
35
StartsAt : ts ,
40
36
},
37
+ scheme : LegacyValidation ,
41
38
},
42
39
{
43
40
alert : & Alert {
44
41
Labels : LabelSet {"a" : "b" },
45
42
},
46
- err : "start time missing" ,
43
+ scheme : LegacyValidation ,
44
+ err : "start time missing" ,
47
45
},
48
46
{
49
47
alert : & Alert {
50
48
Labels : LabelSet {"a" : "b" },
51
49
StartsAt : ts ,
52
50
EndsAt : ts ,
53
51
},
52
+ scheme : LegacyValidation ,
54
53
},
55
54
{
56
55
alert : & Alert {
57
56
Labels : LabelSet {"a" : "b" },
58
57
StartsAt : ts ,
59
58
EndsAt : ts .Add (1 * time .Minute ),
60
59
},
60
+ scheme : LegacyValidation ,
61
61
},
62
62
{
63
63
alert : & Alert {
64
64
Labels : LabelSet {"a" : "b" },
65
65
StartsAt : ts ,
66
66
EndsAt : ts .Add (- 1 * time .Minute ),
67
67
},
68
- err : "start time must be before end time" ,
68
+ scheme : LegacyValidation ,
69
+ err : "start time must be before end time" ,
69
70
},
70
71
{
71
72
alert : & Alert {
72
73
StartsAt : ts ,
73
74
},
74
- err : "at least one label pair required" ,
75
+ scheme : LegacyValidation ,
76
+ err : "at least one label pair required" ,
75
77
},
76
78
{
77
79
alert : & Alert {
78
80
Labels : LabelSet {"a" : "b" , "!bad" : "label" },
79
81
StartsAt : ts ,
80
82
},
81
- err : "invalid label set: invalid name" ,
83
+ scheme : LegacyValidation ,
84
+ err : "invalid label set: invalid name" ,
82
85
},
83
86
{
84
87
alert : & Alert {
85
88
Labels : LabelSet {"a" : "b" , "bad" : "\xff label" },
86
89
StartsAt : ts ,
87
90
},
88
- err : "invalid label set: invalid value" ,
91
+ scheme : LegacyValidation ,
92
+ err : "invalid label set: invalid value" ,
89
93
},
90
94
{
91
95
alert : & Alert {
92
96
Labels : LabelSet {"a" : "b" },
93
97
Annotations : LabelSet {"!bad" : "label" },
94
98
StartsAt : ts ,
95
99
},
96
- err : "invalid annotations: invalid name" ,
100
+ scheme : LegacyValidation ,
101
+ err : "invalid annotations: invalid name" ,
97
102
},
98
103
{
99
104
alert : & Alert {
100
105
Labels : LabelSet {"a" : "b" },
101
106
Annotations : LabelSet {"bad" : "\xff label" },
102
107
StartsAt : ts ,
103
108
},
104
- err : "invalid annotations: invalid value" ,
109
+ scheme : LegacyValidation ,
110
+ err : "invalid annotations: invalid value" ,
105
111
},
106
112
}
107
113
108
114
for i , c := range cases {
109
- err := c .alert .Validate ()
115
+ err := c .alert .Validate (c . scheme )
110
116
if err == nil {
111
117
if c .err == "" {
112
118
continue
0 commit comments