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