@@ -17,6 +17,7 @@ describe('track_event', () => {
1717 let getRootSpan
1818 let setUserTags
1919 let waf
20+ let telemetry
2021 let trackUserLoginSuccessEvent , trackUserLoginFailureEvent , trackCustomEvent
2122
2223 beforeEach ( ( ) => {
@@ -42,6 +43,10 @@ describe('track_event', () => {
4243 run : sinon . spy ( )
4344 }
4445
46+ telemetry = {
47+ incrementSdkEventMetric : sinon . stub ( )
48+ }
49+
4550 const trackEvents = proxyquire ( '../../../src/appsec/sdk/track_event' , {
4651 '../../log' : log ,
4752 './utils' : {
@@ -50,7 +55,8 @@ describe('track_event', () => {
5055 './set_user' : {
5156 setUserTags
5257 } ,
53- '../waf' : waf
58+ '../waf' : waf ,
59+ '../telemetry' : telemetry
5460 } )
5561
5662 trackUserLoginSuccessEvent = trackEvents . trackUserLoginSuccessEvent
@@ -70,6 +76,7 @@ describe('track_event', () => {
7076 . to . have . been . calledWithExactly ( '[ASM] Invalid user provided to trackUserLoginSuccessEvent' )
7177 expect ( setUserTags ) . to . not . have . been . called
7278 expect ( rootSpan . addTags ) . to . not . have . been . called
79+ expect ( telemetry . incrementSdkEventMetric ) . to . not . have . been . called
7380 } )
7481
7582 it ( 'should log warning when root span is not available' , ( ) => {
@@ -80,6 +87,7 @@ describe('track_event', () => {
8087 expect ( log . warn )
8188 . to . have . been . calledOnceWithExactly ( '[ASM] Root span not available in trackUserLoginSuccessEvent' )
8289 expect ( setUserTags ) . to . not . have . been . called
90+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_success' )
8391 } )
8492
8593 it ( 'should call setUser and addTags with metadata' , ( ) => {
@@ -111,6 +119,7 @@ describe('track_event', () => {
111119 [ USER_LOGIN ] : 'user_id'
112120 }
113121 } )
122+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_success' )
114123 } )
115124
116125 it ( 'should call setUser and addTags without metadata' , ( ) => {
@@ -134,6 +143,7 @@ describe('track_event', () => {
134143 [ USER_LOGIN ] : 'user_id'
135144 }
136145 } )
146+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_success' )
137147 } )
138148
139149 it ( 'should call waf with user login' , ( ) => {
@@ -157,6 +167,7 @@ describe('track_event', () => {
157167 [ USER_LOGIN ] : 'user_login'
158168 }
159169 } )
170+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_success' )
160171 } )
161172 } )
162173
@@ -172,6 +183,7 @@ describe('track_event', () => {
172183 . to . have . been . calledWithExactly ( '[ASM] Invalid userId provided to trackUserLoginFailureEvent' )
173184 expect ( setUserTags ) . to . not . have . been . called
174185 expect ( rootSpan . addTags ) . to . not . have . been . called
186+ expect ( telemetry . incrementSdkEventMetric ) . to . not . have . been . called
175187 } )
176188
177189 it ( 'should log warning when root span is not available' , ( ) => {
@@ -182,6 +194,7 @@ describe('track_event', () => {
182194 expect ( log . warn )
183195 . to . have . been . calledOnceWithExactly ( '[ASM] Root span not available in %s' , 'trackUserLoginFailureEvent' )
184196 expect ( setUserTags ) . to . not . have . been . called
197+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_failure' )
185198 } )
186199
187200 it ( 'should call addTags with metadata' , ( ) => {
@@ -211,6 +224,7 @@ describe('track_event', () => {
211224 [ USER_LOGIN ] : 'user_id'
212225 }
213226 } )
227+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_failure' )
214228 } )
215229
216230 it ( 'should send false `usr.exists` property when the user does not exist' , ( ) => {
@@ -240,6 +254,7 @@ describe('track_event', () => {
240254 [ USER_LOGIN ] : 'user_id'
241255 }
242256 } )
257+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_failure' )
243258 } )
244259
245260 it ( 'should call addTags without metadata' , ( ) => {
@@ -262,6 +277,7 @@ describe('track_event', () => {
262277 [ USER_LOGIN ] : 'user_id'
263278 }
264279 } )
280+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'login_failure' )
265281 } )
266282 } )
267283
@@ -277,6 +293,7 @@ describe('track_event', () => {
277293 . to . have . been . calledWithExactly ( '[ASM] Invalid eventName provided to trackCustomEvent' )
278294 expect ( setUserTags ) . to . not . have . been . called
279295 expect ( rootSpan . addTags ) . to . not . have . been . called
296+ expect ( telemetry . incrementSdkEventMetric ) . to . not . have . been . called
280297 } )
281298
282299 it ( 'should log warning when root span is not available' , ( ) => {
@@ -287,6 +304,7 @@ describe('track_event', () => {
287304 expect ( log . warn )
288305 . to . have . been . calledOnceWithExactly ( '[ASM] Root span not available in %s' , 'trackCustomEvent' )
289306 expect ( setUserTags ) . to . not . have . been . called
307+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'custom' )
290308 } )
291309
292310 it ( 'should call addTags with metadata' , ( ) => {
@@ -305,6 +323,7 @@ describe('track_event', () => {
305323 } )
306324 expect ( prioritySampler . setPriority )
307325 . to . have . been . calledOnceWithExactly ( rootSpan , USER_KEEP , ASM )
326+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'custom' )
308327 } )
309328
310329 it ( 'should call addTags without metadata' , ( ) => {
@@ -318,6 +337,7 @@ describe('track_event', () => {
318337 } )
319338 expect ( prioritySampler . setPriority )
320339 . to . have . been . calledOnceWithExactly ( rootSpan , USER_KEEP , ASM )
340+ expect ( telemetry . incrementSdkEventMetric ) . to . have . been . calledWith ( 'custom' )
321341 } )
322342 } )
323343 } )
0 commit comments