keycloak-uncached
Changes
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AdapterTestExecutionDecider.java 15(+7 -8)
Details
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AdapterTestExecutionDecider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AdapterTestExecutionDecider.java
index cc5d84a..84b9f17 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AdapterTestExecutionDecider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AdapterTestExecutionDecider.java
@@ -75,7 +75,6 @@ public class AdapterTestExecutionDecider implements TestExecutionDecider {
}
private AppServerContainer getCorrespondingAnnotation(Method method) {
- String appServerContainerName = testContextInstance.get().getAppServerInfo().getArquillianContainer().getName();
AppServerContainers multipleAnnotations = method.getAnnotation(AppServerContainers.class);
@@ -87,13 +86,12 @@ public class AdapterTestExecutionDecider implements TestExecutionDecider {
}
return appServerContainers.stream()
- .filter(annotation -> annotation.value().equals(appServerContainerName))
- .findFirst()
- .orElseThrow(() -> new IllegalStateException("Not found the @AppServerContainer annotation with current app server."));
+ .filter(annotation -> annotation.value().equals(testContextInstance.get().getAppServerContainerName()))
+ .findFirst()
+ .orElseThrow(() -> new IllegalStateException("Not found the @AppServerContainer annotation with current app server."));
}
private AppServerContainer getCorrespondingAnnotation(Class testClass) {
- String appServerContainerName = testContextInstance.get().getAppServerInfo().getArquillianContainer().getName();
Class<?> annotatedClass = AppServerTestEnricher.getNearestSuperclassWithAppServerAnnotation(testClass);
@@ -105,10 +103,11 @@ public class AdapterTestExecutionDecider implements TestExecutionDecider {
} else {// single @AppServerContainer annotation
appServerContainers = Arrays.asList(annotatedClass.getAnnotation(AppServerContainer.class));
}
+
return appServerContainers.stream()
- .filter(annotation -> annotation.value().equals(appServerContainerName))
- .findFirst()
- .orElseThrow(() -> new IllegalStateException("Not found the @AppServerContainer annotation with current app server."));
+ .filter(annotation -> annotation.value().equals(testContextInstance.get().getAppServerContainerName()))
+ .findFirst()
+ .orElseThrow(() -> new IllegalStateException("Not found the @AppServerContainer annotation with current app server."));
}
private ExecutionDecision execute(Method method, Boolean execute, String message) {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/URLProvider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/URLProvider.java
index c0d4d54..1a349ec 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/URLProvider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/URLProvider.java
@@ -102,19 +102,29 @@ public class URLProvider extends URLResourceProvider {
return suiteContext.get().getAuthServerInfo().getContextRoot();
}
if (AppServerContext.class.isAssignableFrom(a.annotationType())) {
+ //standalone
ContainerInfo appServerInfo = testContext.get().getAppServerInfo();
if (appServerInfo != null) return appServerInfo.getContextRoot();
-
+
+ //cluster
List<ContainerInfo> appServerBackendsInfo = testContext.get().getAppServerBackendsInfo();
if (appServerBackendsInfo.isEmpty()) throw new IllegalStateException("Both testContext's appServerInfo and appServerBackendsInfo not set.");
-
+
return appServerBackendsInfo.get(0).getContextRoot();
}
if (AuthServerBrowserContext.class.isAssignableFrom(a.annotationType())) {
return suiteContext.get().getAuthServerInfo().getBrowserContextRoot();
}
if (AppServerBrowserContext.class.isAssignableFrom(a.annotationType())) {
- return testContext.get().getAppServerInfo().getBrowserContextRoot();
+ //standalone
+ ContainerInfo appServerInfo = testContext.get().getAppServerInfo();
+ if (appServerInfo != null) return appServerInfo.getBrowserContextRoot();
+
+ //cluster
+ List<ContainerInfo> appServerBackendsInfo = testContext.get().getAppServerBackendsInfo();
+ if (appServerBackendsInfo.isEmpty()) throw new IllegalStateException("Both testContext's appServerInfo and appServerBackendsInfo not set.");
+
+ return appServerBackendsInfo.get(0).getBrowserContextRoot();
}
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
index 9e8c055..c11b158 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
@@ -194,4 +194,16 @@ public final class TestContext {
customContext.put(key, value);
}
+ public String getAppServerContainerName() {
+ if (isAdapterContainerEnabled()) { //standalone app server
+ return getAppServerInfo().getArquillianContainer().getName();
+
+ } else if (isAdapterContainerEnabledCluster()) { //clustered app server
+
+ return getAppServerBackendsInfo().stream()
+ .map(ContainerInfo::getQualifier)
+ .collect(Collectors.joining(";"));
+ }
+ return null;
+ }
}