@@ -38,7 +38,7 @@ func TestDeclarativeValidationMismatchMetric(t *testing.T) {
38
38
apiserver_validation_declarative_validation_mismatch_total 1
39
39
`
40
40
41
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_mismatch_total " ); err != nil {
41
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_declarative_validation_mismatch_total " ); err != nil {
42
42
t .Fatal (err )
43
43
}
44
44
}
@@ -57,7 +57,26 @@ func TestDeclarativeValidationPanicMetric(t *testing.T) {
57
57
apiserver_validation_declarative_validation_panic_total 1
58
58
`
59
59
60
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_panic_total" ); err != nil {
60
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_declarative_validation_panic_total" ); err != nil {
61
+ t .Fatal (err )
62
+ }
63
+ }
64
+
65
+ // TestDuplicateValidationErrorMetric tests that the duplicate error metric correctly increments once
66
+ func TestDuplicateValidationErrorMetric (t * testing.T ) {
67
+ defer legacyregistry .Reset ()
68
+ defer ResetValidationMetricsInstance ()
69
+
70
+ // Increment the metric once
71
+ Metrics .IncDuplicateValidationErrorMetric ("ReplicaSet.apps" , "UPDATE" )
72
+
73
+ expected := `
74
+ # HELP apiserver_validation_duplicate_validation_error_total [BETA] Number of duplicate validation errors during validation.
75
+ # TYPE apiserver_validation_duplicate_validation_error_total counter
76
+ apiserver_validation_duplicate_validation_error_total{kind="ReplicaSet.apps",operation="UPDATE"} 1
77
+ `
78
+
79
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_duplicate_validation_error_total" ); err != nil {
61
80
t .Fatal (err )
62
81
}
63
82
}
@@ -78,7 +97,7 @@ func TestDeclarativeValidationMismatchMetricMultiple(t *testing.T) {
78
97
apiserver_validation_declarative_validation_mismatch_total 3
79
98
`
80
99
81
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_mismatch_total " ); err != nil {
100
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_declarative_validation_mismatch_total " ); err != nil {
82
101
t .Fatal (err )
83
102
}
84
103
}
@@ -99,7 +118,29 @@ func TestDeclarativeValidationPanicMetricMultiple(t *testing.T) {
99
118
apiserver_validation_declarative_validation_panic_total 3
100
119
`
101
120
102
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_panic_total" ); err != nil {
121
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_declarative_validation_panic_total" ); err != nil {
122
+ t .Fatal (err )
123
+ }
124
+ }
125
+
126
+ // TestDuplicateValidationErrorMetricMultiple tests that the duplicate error metric correctly increments multiple times
127
+ func TestDuplicateValidationErrorMetricMultiple (t * testing.T ) {
128
+ defer legacyregistry .Reset ()
129
+ defer ResetValidationMetricsInstance ()
130
+
131
+ // Increment the metric three times
132
+ Metrics .IncDuplicateValidationErrorMetric ("ReplicaSet.apps" , "UPDATE" )
133
+ Metrics .IncDuplicateValidationErrorMetric ("ReplicaSet.apps" , "UPDATE" )
134
+ Metrics .IncDuplicateValidationErrorMetric ("Ingress.networking.k8s.io" , "CREATE" )
135
+
136
+ expected := `
137
+ # HELP apiserver_validation_duplicate_validation_error_total [BETA] Number of duplicate validation errors during validation.
138
+ # TYPE apiserver_validation_duplicate_validation_error_total counter
139
+ apiserver_validation_duplicate_validation_error_total{kind="ReplicaSet.apps",operation="UPDATE"} 2
140
+ apiserver_validation_duplicate_validation_error_total{kind="Ingress.networking.k8s.io",operation="CREATE"} 1
141
+ `
142
+
143
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "apiserver_validation_duplicate_validation_error_total" ); err != nil {
103
144
t .Fatal (err )
104
145
}
105
146
}
@@ -112,6 +153,7 @@ func TestDeclarativeValidationMetricsReset(t *testing.T) {
112
153
// Increment both metrics
113
154
Metrics .IncDeclarativeValidationMismatchMetric ()
114
155
Metrics .IncDeclarativeValidationPanicMetric ()
156
+ Metrics .IncDuplicateValidationErrorMetric ("ReplicaSet.apps" , "UPDATE" )
115
157
116
158
// Reset the metrics
117
159
Metrics .Reset ()
@@ -124,15 +166,21 @@ func TestDeclarativeValidationMetricsReset(t *testing.T) {
124
166
# HELP apiserver_validation_declarative_validation_panic_total [BETA] Number of times declarative validation has panicked during validation.
125
167
# TYPE apiserver_validation_declarative_validation_panic_total counter
126
168
apiserver_validation_declarative_validation_panic_total 0
169
+ # HELP apiserver_validation_duplicate_validation_error_total [BETA] Number of duplicate validation errors during validation.
170
+ # TYPE apiserver_validation_duplicate_validation_error_total counter
127
171
`
128
172
129
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_mismatch_total" , "declarative_validation_panic_total" ); err != nil {
173
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ),
174
+ "apiserver_validation_declarative_validation_mismatch_total" ,
175
+ "apiserver_validation_declarative_validation_panic_total" ,
176
+ "apiserver_validation_duplicate_validation_error_total" ); err != nil {
130
177
t .Fatal (err )
131
178
}
132
179
133
180
// Increment the metrics again to ensure they're still functional
134
181
Metrics .IncDeclarativeValidationMismatchMetric ()
135
182
Metrics .IncDeclarativeValidationPanicMetric ()
183
+ Metrics .IncDuplicateValidationErrorMetric ("ReplicaSet.apps" , "UPDATE" )
136
184
137
185
// Verify they've been incremented correctly
138
186
expected = `
@@ -142,9 +190,15 @@ func TestDeclarativeValidationMetricsReset(t *testing.T) {
142
190
# HELP apiserver_validation_declarative_validation_panic_total [BETA] Number of times declarative validation has panicked during validation.
143
191
# TYPE apiserver_validation_declarative_validation_panic_total counter
144
192
apiserver_validation_declarative_validation_panic_total 1
193
+ # HELP apiserver_validation_duplicate_validation_error_total [BETA] Number of duplicate validation errors during validation.
194
+ # TYPE apiserver_validation_duplicate_validation_error_total counter
195
+ apiserver_validation_duplicate_validation_error_total{kind="ReplicaSet.apps",operation="UPDATE"} 1
145
196
`
146
197
147
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ), "declarative_validation_mismatch_total" , "declarative_validation_panic_total" ); err != nil {
198
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , strings .NewReader (expected ),
199
+ "apiserver_validation_declarative_validation_mismatch_total" ,
200
+ "apiserver_validation_declarative_validation_panic_total" ,
201
+ "apiserver_validation_duplicate_validation_error_total" ); err != nil {
148
202
t .Fatal (err )
149
203
}
150
204
}
0 commit comments