@@ -185,21 +185,22 @@ describe('Appsec Waf Telemetry metrics', () => {
185185
186186 describe ( 'incWafInitMetric' , ( ) => {
187187 it ( 'should increment waf.init metric' , ( ) => {
188- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
188+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
189189
190190 expect ( count ) . to . have . been . calledOnceWithExactly ( 'waf.init' , {
191191 waf_version : wafVersion ,
192- event_rules_version : rulesVersion
192+ event_rules_version : rulesVersion ,
193+ success : true
193194 } )
194195 expect ( inc ) . to . have . been . calledOnce
195196 } )
196197
197198 it ( 'should increment waf.init metric multiple times' , ( ) => {
198199 sinon . restore ( )
199200
200- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
201- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
202- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
201+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
202+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
203+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
203204
204205 const { metrics } = appsecNamespace . toJSON ( )
205206 expect ( metrics . series . length ) . to . be . eq ( 1 )
@@ -208,26 +209,45 @@ describe('Appsec Waf Telemetry metrics', () => {
208209 expect ( metrics . series [ 0 ] . points [ 0 ] [ 1 ] ) . to . be . eq ( 3 )
209210 expect ( metrics . series [ 0 ] . tags ) . to . include ( 'waf_version:0.0.1' )
210211 expect ( metrics . series [ 0 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
212+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'success:true' )
213+ } )
214+
215+ it ( 'should increment waf.init and waf.config_errors on failed init' , ( ) => {
216+ sinon . restore ( )
217+
218+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , false )
219+
220+ const { metrics } = appsecNamespace . toJSON ( )
221+ expect ( metrics . series . length ) . to . be . eq ( 2 )
222+ expect ( metrics . series [ 0 ] . metric ) . to . be . eq ( 'waf.init' )
223+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'waf_version:0.0.1' )
224+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
225+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'success:false' )
226+
227+ expect ( metrics . series [ 1 ] . metric ) . to . be . eq ( 'waf.config_errors' )
228+ expect ( metrics . series [ 1 ] . tags ) . to . include ( 'waf_version:0.0.1' )
229+ expect ( metrics . series [ 1 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
211230 } )
212231 } )
213232
214233 describe ( 'incWafUpdatesMetric' , ( ) => {
215234 it ( 'should increment waf.updates metric' , ( ) => {
216- appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion )
235+ appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion , true )
217236
218237 expect ( count ) . to . have . been . calledOnceWithExactly ( 'waf.updates' , {
219238 waf_version : wafVersion ,
220- event_rules_version : rulesVersion
239+ event_rules_version : rulesVersion ,
240+ success : true
221241 } )
222242 expect ( inc ) . to . have . been . calledOnce
223243 } )
224244
225245 it ( 'should increment waf.updates metric multiple times' , ( ) => {
226246 sinon . restore ( )
227247
228- appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion )
229- appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion )
230- appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion )
248+ appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion , true )
249+ appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion , true )
250+ appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion , true )
231251
232252 const { metrics } = appsecNamespace . toJSON ( )
233253 expect ( metrics . series . length ) . to . be . eq ( 1 )
@@ -236,6 +256,24 @@ describe('Appsec Waf Telemetry metrics', () => {
236256 expect ( metrics . series [ 0 ] . points [ 0 ] [ 1 ] ) . to . be . eq ( 3 )
237257 expect ( metrics . series [ 0 ] . tags ) . to . include ( 'waf_version:0.0.1' )
238258 expect ( metrics . series [ 0 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
259+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'success:true' )
260+ } )
261+
262+ it ( 'should increment waf.updates and waf.config_errors on failed update' , ( ) => {
263+ sinon . restore ( )
264+
265+ appsecTelemetry . incrementWafUpdatesMetric ( wafVersion , rulesVersion , false )
266+
267+ const { metrics } = appsecNamespace . toJSON ( )
268+ expect ( metrics . series . length ) . to . be . eq ( 2 )
269+ expect ( metrics . series [ 0 ] . metric ) . to . be . eq ( 'waf.updates' )
270+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'waf_version:0.0.1' )
271+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
272+ expect ( metrics . series [ 0 ] . tags ) . to . include ( 'success:false' )
273+
274+ expect ( metrics . series [ 1 ] . metric ) . to . be . eq ( 'waf.config_errors' )
275+ expect ( metrics . series [ 1 ] . tags ) . to . include ( 'waf_version:0.0.1' )
276+ expect ( metrics . series [ 1 ] . tags ) . to . include ( 'event_rules_version:0.0.2' )
239277 } )
240278 } )
241279
@@ -333,7 +371,7 @@ describe('Appsec Waf Telemetry metrics', () => {
333371 metrics : true
334372 } )
335373
336- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
374+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
337375
338376 expect ( count ) . to . not . have . been . called
339377 expect ( inc ) . to . not . have . been . called
@@ -345,7 +383,7 @@ describe('Appsec Waf Telemetry metrics', () => {
345383 metrics : false
346384 } )
347385
348- appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion )
386+ appsecTelemetry . incrementWafInitMetric ( wafVersion , rulesVersion , true )
349387
350388 expect ( count ) . to . not . have . been . called
351389 expect ( inc ) . to . not . have . been . called
0 commit comments