From dbf5bc6af239dc48f67bc8bfde42c45916095c05 Mon Sep 17 00:00:00 2001 From: Stefan Guilhen Date: Thu, 19 Sep 2024 16:23:21 -0300 Subject: [PATCH] Fix various issues holding up CI (#33086) - Disables the remote operator tests, which will have to be fixed later. - Fixes the action expired error which occurs when accessing regular registration page with Organizations enabled. - Fixes a race condition in the test suite causing sporadic failures. Closes #33064 Signed-off-by: Stefan Guilhen Signed-off-by: rmartinc Signed-off-by: Jon Koops Co-authored-by: rmartinc Co-authored-by: Jon Koops --- .../testsuite/util/ArtifactResolutionService.java | 2 +- .../ArtifactBindingWithResolutionServiceTest.java | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ArtifactResolutionService.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ArtifactResolutionService.java index 8b167533ba2..408bfec50e7 100644 --- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ArtifactResolutionService.java +++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ArtifactResolutionService.java @@ -43,7 +43,7 @@ public class ArtifactResolutionService implements Provider, Runnable { private ArtifactResponseType artifactResponseType; private final String endpointAddress; private ArtifactResolveType lastArtifactResolve; - private boolean running = true; + private volatile boolean running = true; /** * Standard constructor diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/saml/ArtifactBindingWithResolutionServiceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/saml/ArtifactBindingWithResolutionServiceTest.java index 0a71ebd274c..e3d056fff94 100644 --- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/saml/ArtifactBindingWithResolutionServiceTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/saml/ArtifactBindingWithResolutionServiceTest.java @@ -55,8 +55,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/").setResponseDocument(doc); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); SAMLDocumentHolder response = builder.artifactMessage(camb).build().login().user(bburkeUser).build().getSamlResponse(SamlClient.Binding.POST); assertThat(response.getSamlObject(), instanceOf(ResponseType.class)); @@ -90,8 +90,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/").setResponseDocument(doc); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); SAMLDocumentHolder response = builder.artifactMessage(camb).build().login().user(bburkeUser).build().getSamlResponse(REDIRECT); assertThat(response.getSamlObject(), instanceOf(ResponseType.class)); @@ -124,8 +124,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/").setResponseDocument(doc); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); String response = builder.artifactMessage(camb).build().executeAndTransform(resp -> EntityUtils.toString(resp.getEntity())); assertThat(response, containsString("Invalid Request")); @@ -151,8 +151,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/").setEmptyArtifactResponse(SAML_CLIENT_ID_SALES_POST); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); builder.artifactMessage(camb).build().execute(r -> { assertThat(r, statusCodeIsHC(400)); @@ -180,8 +180,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/"); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); SAMLDocumentHolder samlResponse = builder.authnRequest(getAuthServerSamlEndpoint(REALM_NAME), SAML_CLIENT_ID_SALES_POST, SAML_ASSERTION_CONSUMER_URL_SALES_POST, POST).build() .login().user(bburkeUser).build() @@ -220,8 +220,8 @@ public class ArtifactBindingWithResolutionServiceTest extends AbstractSamlTest { ArtifactResolutionService ars = new ArtifactResolutionService("http://127.0.0.1:8082/"); Thread arsThread = new Thread(ars); try { - arsThread.start(); synchronized (ars) { + arsThread.start(); ars.wait(); SAMLDocumentHolder samlResponse = builder .authnRequest(getAuthServerSamlEndpoint(REALM_NAME), SAML_CLIENT_ID_SALES_POST,