@@ -36,7 +36,9 @@ class WafMetricCollectorTest extends DDSpecification {
36
36
WafMetricCollector . get(). raspRuleEval(RuleType . SQL_INJECTION )
37
37
WafMetricCollector . get(). raspTimeout(RuleType . SQL_INJECTION )
38
38
WafMetricCollector . get(). raspErrorCode(RuleType . SHELL_INJECTION , DD_WAF_RUN_INTERNAL_ERROR )
39
+ WafMetricCollector . get(). wafErrorCode(RuleType . SHELL_INJECTION , DD_WAF_RUN_INTERNAL_ERROR )
39
40
WafMetricCollector . get(). raspErrorCode(RuleType . SQL_INJECTION , DD_WAF_RUN_INVALID_OBJECT_ERROR )
41
+ WafMetricCollector . get(). wafErrorCode(RuleType . SQL_INJECTION , DD_WAF_RUN_INVALID_OBJECT_ERROR )
40
42
41
43
WafMetricCollector . get(). prepareMetrics()
42
44
@@ -150,7 +152,20 @@ class WafMetricCollectorTest extends DDSpecification {
150
152
' waf_error:' + DD_WAF_RUN_INTERNAL_ERROR
151
153
]. toSet()
152
154
153
- def raspInvalidObjectCode = (WafMetricCollector.RaspError )metrics[11 ]
155
+ def wafInvalidCode = (WafMetricCollector.WafError )metrics[11 ]
156
+ wafInvalidCode. type == ' count'
157
+ wafInvalidCode. value == 1
158
+ wafInvalidCode. namespace == ' appsec'
159
+ wafInvalidCode. metricName == ' waf.error'
160
+ wafInvalidCode. tags. toSet() == [
161
+ ' waf_version:waf_ver1' ,
162
+ ' rule_type:command_injection' ,
163
+ ' rule_variant:shell' ,
164
+ ' event_rules_version:rules.3' ,
165
+ ' waf_error:' + DD_WAF_RUN_INTERNAL_ERROR
166
+ ]. toSet()
167
+
168
+ def raspInvalidObjectCode = (WafMetricCollector.RaspError )metrics[12 ]
154
169
raspInvalidObjectCode. type == ' count'
155
170
raspInvalidObjectCode. value == 1
156
171
raspInvalidObjectCode. namespace == ' appsec'
@@ -161,6 +176,15 @@ class WafMetricCollectorTest extends DDSpecification {
161
176
' waf_error:' + DD_WAF_RUN_INVALID_OBJECT_ERROR
162
177
]
163
178
.toSet()
179
+
180
+ def wafInvalidObjectCode = (WafMetricCollector.WafError )metrics[13 ]
181
+ wafInvalidObjectCode. type == ' count'
182
+ wafInvalidObjectCode. value == 1
183
+ wafInvalidObjectCode. namespace == ' appsec'
184
+ wafInvalidObjectCode. metricName == ' waf.error'
185
+ wafInvalidObjectCode. tags. toSet() == [' rule_type:sql_injection' , ' waf_version:waf_ver1' ,
186
+ ' waf_error:' + DD_WAF_RUN_INVALID_OBJECT_ERROR ]. toSet()
187
+
164
188
}
165
189
166
190
def " overflowing WafMetricCollector does not crash" () {
@@ -335,6 +359,7 @@ class WafMetricCollectorTest extends DDSpecification {
335
359
WafMetricCollector . get(). raspRuleEval(ruleType)
336
360
WafMetricCollector . get(). raspTimeout(ruleType)
337
361
WafMetricCollector . get(). raspErrorCode(ruleType, DD_WAF_RUN_INTERNAL_ERROR )
362
+ WafMetricCollector . get(). wafErrorCode(ruleType, DD_WAF_RUN_INTERNAL_ERROR )
338
363
WafMetricCollector . get(). prepareMetrics()
339
364
340
365
then :
@@ -389,6 +414,19 @@ class WafMetricCollectorTest extends DDSpecification {
389
414
' waf_error:' + DD_WAF_RUN_INTERNAL_ERROR
390
415
]. toSet()
391
416
417
+ def wafInvalidCode = (WafMetricCollector.WafError )metrics[5 ]
418
+ wafInvalidCode. type == ' count'
419
+ wafInvalidCode. value == 1
420
+ wafInvalidCode. namespace == ' appsec'
421
+ wafInvalidCode. metricName == ' waf.error'
422
+ wafInvalidCode. tags. toSet() == [
423
+ ' waf_version:waf_ver1' ,
424
+ ' rule_type:command_injection' ,
425
+ ' rule_variant:' + ruleType. variant,
426
+ ' event_rules_version:rules.1' ,
427
+ ' waf_error:-3'
428
+ ]. toSet()
429
+
392
430
where :
393
431
ruleType << [RuleType . COMMAND_INJECTION , RuleType . SHELL_INJECTION ]
394
432
}
0 commit comments