From ebfb42f9c51287ea145e8a79ef1c7ee4450eb240 Mon Sep 17 00:00:00 2001 From: Pedro Igor Date: Tue, 1 Oct 2024 14:58:50 -0300 Subject: [PATCH] Force tests to wait for brute force login event as they are fired in a separate thread Closes #32942 Signed-off-by: Pedro Igor --- .../testsuite/broker/AbstractAdvancedBrokerTest.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractAdvancedBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractAdvancedBrokerTest.java index e6b645aee3..08a3bec032 100644 --- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractAdvancedBrokerTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractAdvancedBrokerTest.java @@ -29,6 +29,7 @@ import org.keycloak.testsuite.util.ClientBuilder; import org.keycloak.testsuite.util.OAuthClient; import org.keycloak.testsuite.util.RealmBuilder; import org.keycloak.testsuite.util.TestAppHelper; +import org.keycloak.testsuite.util.WaitUtils; import org.openqa.selenium.TimeoutException; import jakarta.ws.rs.client.Client; @@ -566,14 +567,15 @@ public abstract class AbstractAdvancedBrokerTest extends AbstractBrokerTest { loginTotpPage.assertCurrent(); + events.clear(); + // Login for 2 times with incorrect TOTP. This should temporarily disable the user loginTotpPage.login("bad-totp"); Assert.assertEquals("Invalid authenticator code.", loginTotpPage.getInputError()); - - events.clear(); - + WaitUtils.waitForPageToLoad(); loginTotpPage.login("bad-totp"); Assert.assertEquals("Invalid authenticator code.", loginTotpPage.getInputError()); + WaitUtils.waitForPageToLoad(); // wait for the disabled to come events.expect(EventType.USER_DISABLED_BY_TEMPORARY_LOCKOUT)