@@ -1285,6 +1285,41 @@ class GatewayBridgeSpecification extends DDSpecification {
1285
1285
0 * eventDispatcher.publishDataEvent
1286
1286
}
1287
1287
1288
+ void " test onLoginFailure (automated login events should not overwrite SDK )" () {
1289
+ setup:
1290
+ final firstUser = 'user1'
1291
+ final secondUser = 'user2'
1292
+ eventDispatcher.getDataSubscribers(_) >> nonEmptyDsInfo
1293
+
1294
+ when:
1295
+ loginEventCB.apply(ctx, SDK, 'users.login.failure', true, firstUser, null)
1296
+
1297
+ then:
1298
+ 1 * traceSegment.setTagTop('appsec.events.users.login.failure.usr.login', firstUser, true)
1299
+ 1 * traceSegment.setTagTop('_dd.appsec.events.users.login.failure.sdk', true, true)
1300
+ 1 * traceSegment.setTagTop('_dd.appsec.user.collection_mode', 'sdk')
1301
+ 1 * traceSegment.setTagTop('appsec.events.users.login.failure.usr.exists', true, true)
1302
+
1303
+ 0 * traceSegment.setTagTop('_dd.appsec.usr.login', _)
1304
+ 0 * traceSegment.setTagTop('_dd.appsec.events.users.login.failure.auto.mode', _, _)
1305
+
1306
+ 1 * eventDispatcher.publishDataEvent(nonEmptyDsInfo, ctx.data, _ as DataBundle, _ as GatewayContext) >> NoopFlow.INSTANCE
1307
+
1308
+ when:
1309
+ loginEventCB.apply(ctx, IDENTIFICATION, 'users.login.failure', false, secondUser, null)
1310
+
1311
+ then:
1312
+ 0 * traceSegment.setTagTop('appsec.events.users.login.failure.usr.login', _, _)
1313
+ 0 * traceSegment.setTagTop('_dd.appsec.events.users.login.failure.sdk', _, _)
1314
+ 0 * traceSegment.setTagTop('_dd.appsec.user.collection_mode', _)
1315
+ 0 * traceSegment.setTagTop('appsec.events.users.login.failure.usr.exists', _, _)
1316
+
1317
+ 1 * traceSegment.setTagTop('_dd.appsec.usr.login', secondUser)
1318
+ 1 * traceSegment.setTagTop('_dd.appsec.events.users.login.failure.auto.mode', IDENTIFICATION.fullName(), true)
1319
+
1320
+ 0 * eventDispatcher.publishDataEvent
1321
+ }
1322
+
1288
1323
void 'test configuration updates should reset cached subscriptions'() {
1289
1324
when:
1290
1325
requestSessionCB.apply(ctx, UUID.randomUUID().toString())
0 commit comments