keycloak-memoizeit

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
index e26e345..a6a5c06 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
@@ -15,7 +15,6 @@ import org.keycloak.testsuite.pages.LoginPage;
 import org.keycloak.testsuite.pages.UpdateAccountInformationPage;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
 import static org.keycloak.testsuite.admin.ApiUtil.resetUserPassword;
@@ -115,7 +114,7 @@ public abstract class AbstractBrokerTest extends AbstractKeycloakTest {
     }
 
     @Test
-    public void tryToLogInAsUserInIDP() {
+    public void logInAsUserInIDP() {
         driver.navigate().to(getAuthRoot() + "/auth/realms/" + consumerRealmName() + "/account");
 
         log.debug("Clicking social " + getIDPAlias());
@@ -151,5 +150,30 @@ public abstract class AbstractBrokerTest extends AbstractKeycloakTest {
 
         Assert.assertTrue("There must be user " + getUserLogin() + " in realm " + consumerRealmName(),
                 isUserFound);
+
+        testSingleLogout();
+    }
+
+    protected void testSingleLogout() {
+        log.debug("Testing single log out");
+
+        driver.navigate().to(getAuthRoot() + "/auth/realms/" + providerRealmName() + "/account");
+
+        Assert.assertTrue("Should be logged in the account page", driver.getTitle().endsWith("Account Management"));
+
+        driver.navigate().to(getAuthRoot()
+                + "/auth/realms/" + providerRealmName()
+                + "/protocol/" + "openid-connect"
+                + "/logout");
+
+        driver.navigate().to(getAuthRoot() + "/auth/realms/" + providerRealmName() + "/account");
+
+        Assert.assertTrue("Should be on login page", driver.getTitle().startsWith("Log in to"));
+        Assert.assertTrue("Should be on " + providerRealmName() + " realm", driver.getCurrentUrl().contains("/auth/realms/" + providerRealmName()));
+
+        driver.navigate().to(getAuthRoot() + "/auth/realms/" + consumerRealmName() + "/account");
+
+        Assert.assertTrue("Should be on login page", driver.getTitle().startsWith("Log in to"));
+        Assert.assertTrue("Should be on " + consumerRealmName() + " realm", driver.getCurrentUrl().contains("/auth/realms/" + consumerRealmName()));
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
index 7faf624..24ef596 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
@@ -41,6 +41,9 @@ public class KcOidcBrokerTest extends AbstractBrokerTest {
         client.setRedirectUris(Collections.singletonList(getAuthRoot() +
                 "/auth/realms/" + REALM_CONS_NAME + "/broker/" + IDP_OIDC_ALIAS + "/endpoint/*"));
 
+        client.setAdminUrl(getAuthRoot() +
+                "/auth/realms/" + REALM_CONS_NAME + "/broker/" + IDP_OIDC_ALIAS + "/endpoint");
+
         return Collections.singletonList(client);
     }