diff --git a/testsuite/integration-arquillian/HOW-TO-RUN.md b/testsuite/integration-arquillian/HOW-TO-RUN.md
index 3e82ccc32e1..c4c13275580 100644
--- a/testsuite/integration-arquillian/HOW-TO-RUN.md
+++ b/testsuite/integration-arquillian/HOW-TO-RUN.md
@@ -126,97 +126,6 @@ You can use value `TRACE` if you want to enable even TRACE logging.
There is no support for more packages ATM, you need to edit the file `testsuite/integration-arquillian/servers/auth-server/jboss/common/jboss-cli/add-log-level.cli`
and add packages manually.
-## Run tests against remote container
-
-### remote server tests
-
-note: if there is a need to run server on http only testsuite providers has to be re-builded with `-Dauth.server.ssl.required=false`
-
- mvn -f testsuite/integration-arquillian/pom.xml clean install -Pauth-server-wildfly -Dauth.server.ssl.required=false -DskipTests
-
-unzip prepared server:
-
- unzip -q testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/target/integration-arquillian-servers-auth-server-wildfly-*.zip
-
-create admin user:
-
- sh auth-server-wildfly/bin/add-user-keycloak.sh -r master -u admin -p admin
-
-start the server:
-
- sh auth-server-wildfly/bin/standalone.sh \
- -Dauth.server.ssl.required=false \
- -Djboss.socket.binding.port-offset=100 \
- -Dauth.server.http.port=8180 \
- -Dauth.server.https.port=8543
-
-run base testsuite:
-
- mvn -f testsuite/integration-arquillian/tests/base/pom.xml clean install -Pauth-server-remote -Dauth.server.ssl.required=false
-
-note: it is also possible to run tests against server running on different host and port using `-Dauth.server.host=${server.host}` and `-Dauth.server.http.port=${server.port}`. The testsuite currently doesn't work with port 80.
-
-### remote adapter tests
-
-note: if there is a need to run server on http only testsuite providers has to be re-builded with `-Dauth.server.ssl.required=false`
-
- mvn -f keycloak/testsuite/integration-arquillian/pom.xml clean install -Pauth-server-wildfly -Papp-server-wildfly -Dauth.server.ssl.required=false -DskipTests ${MVN_DEFAULT_ARGS}
-
-unzip prepared servers:
-
- unzip -q keycloak/testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/target/integration-arquillian-servers-auth-server-wildfly-*.zip
- unzip -q keycloak/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/target/integration-arquillian-servers-app-server-wildfly-*.zip
-
-create admin user:
-
- sh auth-server-wildfly/bin/add-user-keycloak.sh -r master -u admin -p admin
-
-start both servers:
-
- sh auth-server-wildfly/bin/standalone.sh \
- -Dauth.server.ssl.required=false \
- -Djboss.socket.binding.port-offset=100 \
- -Dauth.server.http.port=8180 \
- -Dauth.server.https.port=8543
-
- sh app-server-wildfly/bin/standalone.sh \
- -Djboss.socket.binding.port-offset=200 \
- -Dapp.server.ssl.required=false
-
-run other/adapters/jboss/remote tests:
-
- mvn -f keycloak/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/pom.xml clean install \
- -Pauth-server-remote,app-server-remote \
- -Dauth.server.ssl.required=false \
- -Dapp.server.ssl.required=false
-
-### Running tests against container not produced by the testsuite
-
-For running the testsuite, it is necessary to install/deploy so-called testsuite-providers. The testsuite rely on
-testsuite-providers in many test scenarios for example for checking fired events, moving in time etc. When using
-keycloak from `integration-arquillian-servers-auth-server-wildfly-*.zip`, it should not be necessary to do any steps
-because testsuite-providers are already included in this archive. However, when a clean keycloak is used, e.g.
-openshift image, testsuite-providers jar file is deployed to the container in the beginning of test run.
-To be able to deploy the jar to the container, arquillian has to have an access to the management port.
-
-For example, to run testsuite against image in openshift, we need to first forward 9990 port from the running pod.
-```shell script
-oc port-forward "${POD}" 9990:9990
-```
-where ${POD} is a name of the pod
-
-Now just run testsuite against the image in openshift:
-```shell script
-mvn clean install -f testsuite/integration-arquillian/tests/base/pom.xml \
- -Pauth-server-remote \
- -Dauth.server.ssl.required=false \
- -Dauth.server.host="${HOST}" \
- -Dauth.server.http.port=80 \
- -Dauth.server.management.host=127.0.0.1 \
- -Dauth.server.management.port=9990
-```
-where ${HOST} is url of keycloak, for example: `keycloak-keycloak.192.168.42.91.nip.io`.
-
## Run adapter tests
### Undertow
diff --git a/testsuite/integration-arquillian/tests/base/pom.xml b/testsuite/integration-arquillian/tests/base/pom.xml
index 1d9340c17da..788d9680178 100644
--- a/testsuite/integration-arquillian/tests/base/pom.xml
+++ b/testsuite/integration-arquillian/tests/base/pom.xml
@@ -378,54 +378,6 @@
-
- auth-server-remote
-
-
-
- maven-resources-plugin
-
-
- copy-keystore
- process-resources
-
- copy-resources
-
-
- ${project.build.directory}/containers/auth-server-remote
-
-
- ${common.resources}/keystore
-
- keycloak.jks
- keycloak.truststore
- client.jks
- client-ca.jks
- test-user-cert-intermediary-ca.jks
- ca.crt
- client.crt
- client.key
- *.crl
- other_client.jks
- test-user-obb.jks
-
-
-
- ${common.resources}/pki/root/ca
-
- certs/clients/test-user-san@localhost.cert.pem
- certs/clients/test-user@localhost.key.pem
-
-
-
-
-
-
-
-
-
-
-
jpa
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
index a2314131844..bd2bcbc3de5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
@@ -167,10 +167,6 @@ public class AuthServerTestEnricher {
@ClassScoped
private InstanceProducer oAuthClientProducer;
- public static boolean isAuthServerRemote() {
- return AUTH_SERVER_CONTAINER.equals("auth-server-remote");
- }
-
public static boolean isAuthServerQuarkus() {
return AUTH_SERVER_CONTAINER.equals("auth-server-quarkus");
}
@@ -400,28 +396,6 @@ public class AuthServerTestEnricher {
}
}
- public void deployProviders(@Observes(precedence = -1) AfterStart event) throws DeploymentException {
- if (isAuthServerRemote() && currentContainerName.contains("auth-server")) {
- this.testsuiteProvidersArchive = ShrinkWrap.create(ZipImporter.class, "testsuiteProviders.jar")
- .importFrom(Maven.configureResolverViaPlugin()
- .resolve("org.keycloak.testsuite:integration-arquillian-testsuite-providers")
- .withoutTransitivity()
- .asSingleFile()
- ).as(JavaArchive.class)
- .addAsManifestResource("jboss-deployment-structure.xml");
- event.getDeployableContainer().deploy(testsuiteProvidersArchive);
-
- this.testsuiteProvidersDeploymentArchive = ShrinkWrap.create(ZipImporter.class, "testsuiteProvidersDeployment.jar")
- .importFrom(Maven.configureResolverViaPlugin()
- .resolve("org.keycloak.testsuite:integration-arquillian-testsuite-providers-deployment")
- .withoutTransitivity()
- .asSingleFile()
- ).as(JavaArchive.class)
- .addAsManifestResource("jboss-deployment-structure.xml");
- event.getDeployableContainer().deploy(testsuiteProvidersDeploymentArchive);
- }
- }
-
public void unDeployProviders(@Observes(precedence = 20) BeforeStop event) throws DeploymentException {
if (testsuiteProvidersArchive != null) {
event.getDeployableContainer().undeploy(testsuiteProvidersArchive);
@@ -553,43 +527,33 @@ public class AuthServerTestEnricher {
}
public void restartAuthServer() throws Exception {
- if (isAuthServerRemote()) {
- try (OnlineManagementClient client = getManagementClient()) {
- int timeoutInSec = Integer.getInteger(System.getProperty("auth.server.jboss.startup.timeout"), 300);
- Administration administration = new Administration(client, timeoutInSec);
- administration.reload();
- }
- } else {
- stopContainerEvent.fire(new StopContainer(suiteContext.getAuthServerInfo().getArquillianContainer()));
- startContainerEvent.fire(new StartContainer(suiteContext.getAuthServerInfo().getArquillianContainer()));
- }
+ stopContainerEvent.fire(new StopContainer(suiteContext.getAuthServerInfo().getArquillianContainer()));
+ startContainerEvent.fire(new StartContainer(suiteContext.getAuthServerInfo().getArquillianContainer()));
}
public void initializeTestContext(@Observes(precedence = 2) BeforeClass event) throws Exception {
TestContext testContext = new TestContext(suiteContext, event.getTestClass().getJavaClass());
testContextProducer.set(testContext);
- if (!isAuthServerRemote()) {
- boolean wasUpdated = false;
+ boolean wasUpdated = false;
- if (event.getTestClass().isAnnotationPresent(SetDefaultProvider.class)) {
- SetDefaultProvider defaultProvider = event.getTestClass().getAnnotation(SetDefaultProvider.class);
+ if (event.getTestClass().isAnnotationPresent(SetDefaultProvider.class)) {
+ SetDefaultProvider defaultProvider = event.getTestClass().getAnnotation(SetDefaultProvider.class);
- if (defaultProvider.beforeEnableFeature()) {
- SpiProvidersSwitchingUtils.addProviderDefaultValue(suiteContext, defaultProvider);
- wasUpdated = true;
- }
- }
-
- if (event.getTestClass().isAnnotationPresent(EnableVault.class)) {
- VaultUtils.enableVault(suiteContext, event.getTestClass().getAnnotation(EnableVault.class).providerId());
+ if (defaultProvider.beforeEnableFeature()) {
+ SpiProvidersSwitchingUtils.addProviderDefaultValue(suiteContext, defaultProvider);
wasUpdated = true;
}
+ }
- if (wasUpdated) {
- restartAuthServer();
- testContext.reconnectAdminClient();
- }
+ if (event.getTestClass().isAnnotationPresent(EnableVault.class)) {
+ VaultUtils.enableVault(suiteContext, event.getTestClass().getAnnotation(EnableVault.class).providerId());
+ wasUpdated = true;
+ }
+
+ if (wasUpdated) {
+ restartAuthServer();
+ testContext.reconnectAdminClient();
}
}
@@ -899,24 +863,21 @@ public class AuthServerTestEnricher {
removeTestRealms(testContext, adminClient);
- if (!isAuthServerRemote()) {
-
- boolean wasUpdated = false;
+ boolean wasUpdated = false;
- if (event.getTestClass().isAnnotationPresent(SetDefaultProvider.class)) {
- SpiProvidersSwitchingUtils.resetProvider(suiteContext, event.getTestClass().getAnnotation(SetDefaultProvider.class));
- wasUpdated = true;
- }
+ if (event.getTestClass().isAnnotationPresent(SetDefaultProvider.class)) {
+ SpiProvidersSwitchingUtils.resetProvider(suiteContext, event.getTestClass().getAnnotation(SetDefaultProvider.class));
+ wasUpdated = true;
+ }
- if (event.getTestClass().isAnnotationPresent(EnableVault.class) && !isAuthServerQuarkus()) {
- VaultUtils.disableVault(suiteContext, event.getTestClass().getAnnotation(EnableVault.class).providerId());
- wasUpdated = true;
- }
+ if (event.getTestClass().isAnnotationPresent(EnableVault.class) && !isAuthServerQuarkus()) {
+ VaultUtils.disableVault(suiteContext, event.getTestClass().getAnnotation(EnableVault.class).providerId());
+ wasUpdated = true;
+ }
- if (wasUpdated) {
- restartAuthServer();
- testContext.reconnectAdminClient();
- }
+ if (wasUpdated) {
+ restartAuthServer();
+ testContext.reconnectAdminClient();
}
if (adminClient != null) {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContainerExclude.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContainerExclude.java
index da9508e89fa..3279104539d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContainerExclude.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContainerExclude.java
@@ -26,8 +26,8 @@ import java.lang.annotation.Target;
/**
* Serves for excluding test classes or methods from running in some specific auth server container
*
- * for example annotation @AuthServerContainerExclude(AuthServer.REMOTE) on a test class makes tests
- * in the class NOT running when -Pauth-server-remote is used
+ * for example annotation @AuthServerContainerExclude(AuthServer.QUARKUS) on a test class makes tests
+ * in the class NOT running when -Pauth-server-quarkus is used
*
* The annotation has @Inherited property this means that annotation parent class will exclude all child class
*
@@ -41,8 +41,8 @@ public @interface AuthServerContainerExclude {
AuthServer[] value();
String details() default "";
- public enum AuthServer {
- REMOTE,
+ enum AuthServer {
+ UNDERTOW,
QUARKUS
}
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerDeployController.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerDeployController.java
index 9c91de423ec..e31e67e560e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerDeployController.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerDeployController.java
@@ -29,7 +29,6 @@ import org.jboss.arquillian.core.api.Event;
import org.jboss.arquillian.core.api.Injector;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
-import org.keycloak.testsuite.arquillian.AuthServerTestEnricher;
/**
* Overrides a condition that container cannot be in manual mode, and deploys the deployment
@@ -53,7 +52,6 @@ public class KeycloakContainerDeployController extends ContainerDeployController
@Override
public void perform(Container container, Deployment deployment) throws Exception {
- if (runOnServerDeploymentOnRemote(deployment)) return;
if (container.getState().equals(Container.State.STARTED)) {
event.fire(new DeployDeployment(container, deployment));
}
@@ -81,10 +79,4 @@ public class KeycloakContainerDeployController extends ContainerDeployController
operation.perform(container, deployment);
}
}
-
- //do not deploy run-on-server-classes.war into server in remote mode
- private boolean runOnServerDeploymentOnRemote(Deployment deployment) {
- return AuthServerTestEnricher.isAuthServerRemote() &&
- deployment.getDescription().getArchive().getName().equals("run-on-server-classes.war");
- }
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerEventsController.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerEventsController.java
index 37cb8248612..40a2bf87d05 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerEventsController.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerEventsController.java
@@ -55,7 +55,6 @@ import java.io.IOException;
import java.util.Arrays;
import org.jboss.shrinkwrap.api.Archive;
-import org.keycloak.testsuite.util.ContainerAssume;
/**
* Changes behaviour of original ContainerEventController to stop manual containers
@@ -97,10 +96,6 @@ public class KeycloakContainerEventsController extends ContainerEventController
@Override
public void execute(BeforeClass event) {
if (event.getTestClass().isAnnotationPresent(RestartContainer.class)) {
-
- // stop executing the test - remote container cannot be restarted
- ContainerAssume.assumeNotAuthServerRemote();
-
RestartContainer restartContainer = event.getTestClass().getAnnotation(RestartContainer.class);
beforeOriginalContainerStop(restartContainer);
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerFeaturesController.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerFeaturesController.java
index b2529ac825f..0427cdc3042 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerFeaturesController.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/KeycloakContainerFeaturesController.java
@@ -21,10 +21,7 @@ import org.keycloak.testsuite.arquillian.annotation.EnableFeatures;
import org.keycloak.testsuite.arquillian.annotation.SetDefaultProvider;
import org.keycloak.testsuite.client.KeycloakTestingClient;
import org.keycloak.testsuite.util.SpiProvidersSwitchingUtils;
-import org.wildfly.extras.creaper.core.online.OnlineManagementClient;
-import org.wildfly.extras.creaper.core.online.operations.admin.Administration;
-import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.util.Arrays;
import java.util.HashSet;
@@ -35,8 +32,6 @@ import java.util.stream.Collectors;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.getManagementClient;
-import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.isAuthServerRemote;
/**
* @author mhajas
@@ -145,17 +140,9 @@ public class KeycloakContainerFeaturesController {
}
}
- public void restartAuthServer() throws Exception {
- if (isAuthServerRemote()) {
- try (OnlineManagementClient client = getManagementClient()) {
- int timeoutInSec = Integer.getInteger(System.getProperty("auth.server.jboss.startup.timeout"), 300);
- Administration administration = new Administration(client, timeoutInSec);
- administration.reload();
- }
- } else {
- stopContainerEvent.fire(new StopContainer(suiteContextInstance.get().getAuthServerInfo().getArquillianContainer()));
- startContainerEvent.fire(new StartContainer(suiteContextInstance.get().getAuthServerInfo().getArquillianContainer()));
- }
+ public void restartAuthServer() {
+ stopContainerEvent.fire(new StopContainer(suiteContextInstance.get().getAuthServerInfo().getArquillianContainer()));
+ startContainerEvent.fire(new StartContainer(suiteContextInstance.get().getAuthServerInfo().getArquillianContainer()));
}
private void updateFeatures(Set updateFeatures) throws Exception {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/decider/AuthServerExcludeExecutionDecider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/decider/AuthServerExcludeExecutionDecider.java
index 5b4a8cc6ba1..06d772b3b5d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/decider/AuthServerExcludeExecutionDecider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/decider/AuthServerExcludeExecutionDecider.java
@@ -47,10 +47,6 @@ public class AuthServerExcludeExecutionDecider implements TestExecutionDecider {
if (method.isAnnotationPresent(AuthServerContainerExclude.class)) {
List excluded = Arrays.asList(method.getAnnotation(AuthServerContainerExclude.class).value());
-
- if (AuthServerTestEnricher.isAuthServerRemote() && excluded.contains(AuthServer.REMOTE)) {
- return ExecutionDecision.dontExecute("Excluded by @AuthServerContainerExclude.");
- }
if (AuthServerTestEnricher.isAuthServerQuarkus() && excluded.contains(AuthServer.QUARKUS)) {
return ExecutionDecision.dontExecute("Excluded by @AuthServerContainerExclude.");
@@ -58,10 +54,6 @@ public class AuthServerExcludeExecutionDecider implements TestExecutionDecider {
} else { //class
if (testContext.getTestClass().isAnnotationPresent(AuthServerContainerExclude.class)) {
List excluded = Arrays.asList(((AuthServerContainerExclude) testContext.getTestClass().getAnnotation(AuthServerContainerExclude.class)).value());
-
- if (AuthServerTestEnricher.isAuthServerRemote() && excluded.contains(AuthServer.REMOTE)) {
- return ExecutionDecision.dontExecute("Excluded by @AuthServerContainerExclude.");
- }
if (AuthServerTestEnricher.isAuthServerQuarkus() && excluded.contains(AuthServer.QUARKUS)) {
return ExecutionDecision.dontExecute("Excluded by @AuthServerContainerExclude.");
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ContainerAssume.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ContainerAssume.java
index 599440ae527..0cd02692634 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ContainerAssume.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/ContainerAssume.java
@@ -36,12 +36,6 @@ public class ContainerAssume {
Assume.assumeTrue("Only works on auth-server-undertow",
AuthServerTestEnricher.AUTH_SERVER_CONTAINER.equals(AuthServerTestEnricher.AUTH_SERVER_CONTAINER_DEFAULT));
}
-
-
- public static void assumeNotAuthServerRemote() {
- Assume.assumeFalse("Doesn't work on auth-server-remote",
- AuthServerTestEnricher.AUTH_SERVER_CONTAINER.equals("auth-server-remote"));
- }
public static void assumeClusteredContainer() {
Assume.assumeTrue(
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountFormServiceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountFormServiceTest.java
index a7ec3658b6d..3026fa2bf46 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountFormServiceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountFormServiceTest.java
@@ -46,7 +46,6 @@ import org.keycloak.testsuite.AbstractTestRealmKeycloakTest;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.AuthServerTestEnricher;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.drone.Different;
import org.keycloak.testsuite.pages.AccountApplicationsPage;
@@ -101,8 +100,6 @@ import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_SSL_REQUIRED;
import static org.keycloak.testsuite.util.ServerURLs.getAuthServerContextRoot;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-
/**
* @author Stian Thorgersen
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
@@ -1308,7 +1305,7 @@ public class AccountFormServiceTest extends AbstractTestRealmKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE) // we need to do domain name -> ip address to make this test work in remote testing
+ // we need to do domain name -> ip address to make this test work in remote testing
public void sessions() {
loginPage.open();
loginPage.clickRegister();
@@ -1371,7 +1368,7 @@ public class AccountFormServiceTest extends AbstractTestRealmKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void applicationsVisibilityNoScopesNoConsent() throws Exception {
try (ClientAttributeUpdater cau = ClientAttributeUpdater.forClient(adminClient, REALM_NAME, ROOT_URL_CLIENT)
.setConsentRequired(false)
@@ -1399,7 +1396,7 @@ public class AccountFormServiceTest extends AbstractTestRealmKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void applicationsVisibilityNoScopesAndConsent() throws Exception {
try (ClientAttributeUpdater cau = ClientAttributeUpdater.forClient(adminClient, REALM_NAME, ROOT_URL_CLIENT)
.setConsentRequired(true)
@@ -1419,7 +1416,7 @@ public class AccountFormServiceTest extends AbstractTestRealmKeycloakTest {
// More tests (including revoke) are in OAuthGrantTest and OfflineTokenTest
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void applications() {
applicationsPage.open();
loginPage.login("test-user@localhost", "password");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceCorsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceCorsTest.java
index c6c0ba73127..4d5d44b9ac4 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceCorsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceCorsTest.java
@@ -32,9 +32,6 @@ import org.openqa.selenium.JavascriptExecutor;
import java.io.IOException;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-
import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@@ -42,7 +39,6 @@ import static org.junit.Assert.assertThat;
/**
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class AccountRestServiceCorsTest extends AbstractTestRealmKeycloakTest {
private static final String VALID_CORS_URL = "http://localtest.me:8180/auth";
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceReadOnlyAttributesTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceReadOnlyAttributesTest.java
index 5fa56a11896..3fe050e169b 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceReadOnlyAttributesTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceReadOnlyAttributesTest.java
@@ -31,18 +31,15 @@ import org.keycloak.representations.account.UserRepresentation;
import org.keycloak.representations.idm.ErrorRepresentation;
import org.keycloak.services.messages.Messages;
import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
/**
* @author Marek Posolda
*/
-@AuthServerContainerExclude({REMOTE}) // TODO: Enable this for quarkus and hopefully for remote as well...
public class AccountRestServiceReadOnlyAttributesTest extends AbstractRestServiceTest {
private static final Logger logger = Logger.getLogger(AccountRestServiceReadOnlyAttributesTest.class);
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceTest.java
index ddb39a7133a..eef5d7ba20c 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceTest.java
@@ -62,8 +62,6 @@ import org.keycloak.services.util.ResolveRelative;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.admin.authentication.AbstractAuthenticationTest;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.util.OAuthClient;
import org.keycloak.testsuite.util.TokenUtil;
import org.keycloak.testsuite.util.UserBuilder;
@@ -92,7 +90,6 @@ import static org.junit.Assert.assertTrue;
/**
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class AccountRestServiceTest extends AbstractRestServiceTest {
@Rule
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceWithUserProfileTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceWithUserProfileTest.java
index e303f3febb7..ded1b52c4e3 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceWithUserProfileTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountRestServiceWithUserProfileTest.java
@@ -39,7 +39,6 @@ import org.keycloak.events.EventType;
import org.keycloak.representations.account.UserProfileAttributeMetadata;
import org.keycloak.representations.account.UserRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.testsuite.forms.VerifyProfileTest;
import org.keycloak.userprofile.UserProfileContext;
@@ -50,7 +49,6 @@ import org.keycloak.userprofile.UserProfileContext;
*
*/
@EnableFeature(value = Profile.Feature.DECLARATIVE_USER_PROFILE)
-@AuthServerContainerExclude(AuthServerContainerExclude.AuthServer.REMOTE)
public class AccountRestServiceWithUserProfileTest extends AccountRestServiceTest {
@Override
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/LinkedAccountsRestServiceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/LinkedAccountsRestServiceTest.java
index edb2c4f11ae..471593299b3 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/LinkedAccountsRestServiceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/LinkedAccountsRestServiceTest.java
@@ -52,8 +52,6 @@ import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;
import org.keycloak.representations.account.AccountLinkUriRepresentation;
import org.keycloak.representations.account.LinkedAccountRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Stan Silvert
@@ -147,7 +145,7 @@ public class LinkedAccountsRestServiceTest extends AbstractTestRealmKeycloakTest
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void testBuildLinkedAccountUri() throws IOException {
AccountLinkUriRepresentation rep = SimpleHttp.doGet(getAccountUrl("linked-accounts/github?redirectUri=phonyUri"), client)
.auth(tokenUtil.getToken())
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/SessionRestServiceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/SessionRestServiceTest.java
index 8ad068fba59..db64da57d71 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/SessionRestServiceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/SessionRestServiceTest.java
@@ -38,8 +38,6 @@ import org.keycloak.representations.account.ClientRepresentation;
import org.keycloak.representations.account.DeviceRepresentation;
import org.keycloak.representations.account.SessionRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.ContainerAssume;
import org.keycloak.testsuite.util.OAuthClient;
@@ -125,7 +123,6 @@ public class SessionRestServiceTest extends AbstractRestServiceTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testGetSessions() throws Exception {
oauth.setDriver(secondBrowser);
codeGrant("public-client-0");
@@ -145,7 +142,6 @@ public class SessionRestServiceTest extends AbstractRestServiceTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testGetDevicesResponse() throws Exception {
assumeTrue("Browser must be htmlunit. Otherwise we are not able to set desired BrowserHeaders",
System.getProperty("browser").equals("htmlUnit"));
@@ -355,7 +351,6 @@ public class SessionRestServiceTest extends AbstractRestServiceTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testNullOrEmptyUserAgent() throws Exception {
assumeTrue("Browser must be htmlunit. Otherwise we are not able to set desired BrowserHeaders",
System.getProperty("browser").equals("htmlUnit"));
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
index ec99da6ef4a..67c3f3a3f06 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
@@ -60,8 +60,6 @@ import static org.keycloak.authentication.authenticators.browser.ConditionalOtpF
import static org.keycloak.models.UserModel.RequiredAction.CONFIGURE_TOTP;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_PORT;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
/**
@@ -188,7 +186,7 @@ public class CustomAuthFlowOTPTest extends AbstractCustomAccountManagementTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void conditionalOTPNoDefault() {
configureRequiredActions();
configureOTP();
@@ -240,7 +238,7 @@ public class CustomAuthFlowOTPTest extends AbstractCustomAccountManagementTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void conditionalOTPNoDefaultWithChecks() {
configureRequiredActions();
configureOTP();
@@ -457,7 +455,7 @@ public class CustomAuthFlowOTPTest extends AbstractCustomAccountManagementTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void conditionalOTPRequestHeaderSkip() {
//prepare config - request header skip, default to force
Map config = new HashMap<>();
@@ -474,7 +472,7 @@ public class CustomAuthFlowOTPTest extends AbstractCustomAccountManagementTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void conditionalOTPRequestHeaderForce() {
//prepare config - equest header force, default to skip
Map config = new HashMap<>();
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionTest.java
index 054bd423589..2b46e00fbab 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionTest.java
@@ -25,8 +25,6 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
import org.keycloak.testsuite.AbstractTestRealmKeycloakTest;
import org.keycloak.testsuite.AssertEvents;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.LoginPage;
@@ -36,7 +34,6 @@ import static org.junit.Assert.assertTrue;
/**
* @author Hiroyuki Wada
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class AppInitiatedActionTest extends AbstractTestRealmKeycloakTest {
@Override
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionUpdateProfileWithUserProfileTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionUpdateProfileWithUserProfileTest.java
index 617bf77317a..73df99b5b6b 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionUpdateProfileWithUserProfileTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/AppInitiatedActionUpdateProfileWithUserProfileTest.java
@@ -19,7 +19,6 @@ package org.keycloak.testsuite.actions;
import org.junit.Before;
import org.keycloak.common.Profile;
import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.testsuite.forms.VerifyProfileTest;
@@ -30,7 +29,6 @@ import org.keycloak.testsuite.forms.VerifyProfileTest;
*
*/
@EnableFeature(value = Profile.Feature.DECLARATIVE_USER_PROFILE)
-@AuthServerContainerExclude(AuthServerContainerExclude.AuthServer.REMOTE)
public class AppInitiatedActionUpdateProfileWithUserProfileTest extends AppInitiatedActionUpdateProfileTest {
@Override
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
index 47f71939250..dba8c58ca73 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
@@ -77,13 +77,10 @@ import org.openqa.selenium.WebElement;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertEquals;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
@DisableFeature(value = Profile.Feature.ACCOUNT2, skipRestart = true) // TODO remove this (KEYCLOAK-16228)
public class RequiredActionEmailVerificationTest extends AbstractTestRealmKeycloakTest {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionPriorityTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionPriorityTest.java
index 226cfc37ae6..795b1c11047 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionPriorityTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionPriorityTest.java
@@ -37,8 +37,6 @@ import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AbstractTestRealmKeycloakTest;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.LoginConfigTotpPage;
@@ -51,7 +49,6 @@ import org.keycloak.testsuite.util.UserBuilder;
/**
* @author Hiroyuki Wada
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class RequiredActionPriorityTest extends AbstractTestRealmKeycloakTest {
@Override
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileWithUserProfileTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileWithUserProfileTest.java
index d8074d730cb..340eaba06b0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileWithUserProfileTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileWithUserProfileTest.java
@@ -44,7 +44,6 @@ import org.keycloak.events.EventType;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.testsuite.forms.RegisterWithUserProfileTest;
import org.keycloak.testsuite.forms.VerifyProfileTest;
@@ -59,7 +58,6 @@ import org.openqa.selenium.By;
*
*/
@EnableFeature(value = Profile.Feature.DECLARATIVE_USER_PROFILE)
-@AuthServerContainerExclude(AuthServerContainerExclude.AuthServer.REMOTE)
public class RequiredActionUpdateProfileWithUserProfileTest extends RequiredActionUpdateProfileTest {
protected static final String PASSWORD = "password";
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
index 095c37f11d1..f8cb1b05770 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
@@ -30,7 +30,6 @@ import org.keycloak.testsuite.AbstractAuthTest;
import org.keycloak.testsuite.adapter.page.AppServerContextRoot;
import org.keycloak.testsuite.arquillian.SuiteContext;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.util.ServerURLs;
import java.io.IOException;
@@ -44,7 +43,6 @@ import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.CURRENT_AP
import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.enableHTTPSForAppServer;
import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_PORT;
import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_SSL_REQUIRED;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @AppServerContainer is needed for stopping recursion in
@@ -53,7 +51,6 @@ import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.A
* @author tkyjovsk
*/
@AppServerContainer("")
-@AuthServerContainerExclude(AuthServer.REMOTE)
public abstract class AbstractAdapterTest extends AbstractAuthTest {
@Page
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/BrokerLinkAndTokenExchangeTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/BrokerLinkAndTokenExchangeTest.java
index 4745c90f499..f90490a71d8 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/BrokerLinkAndTokenExchangeTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/BrokerLinkAndTokenExchangeTest.java
@@ -23,7 +23,6 @@ import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.resource.RealmResource;
@@ -66,7 +65,6 @@ import org.keycloak.testsuite.pages.ErrorPage;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginUpdateProfilePage;
import org.keycloak.testsuite.util.AdminClientUtil;
-import org.keycloak.testsuite.util.ContainerAssume;
import org.keycloak.testsuite.util.OAuthClient;
import org.keycloak.testsuite.util.WaitUtils;
import org.keycloak.testsuite.utils.arquillian.ContainerConstants;
@@ -499,8 +497,6 @@ public class BrokerLinkAndTokenExchangeTest extends AbstractServletsAdapterTest
@Test
@UncaughtServerErrorExpected
public void testExportImport() throws Exception {
- ContainerAssume.assumeNotAuthServerRemote();
-
testExternalExchange();
try {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AttackDetectionResourceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AttackDetectionResourceTest.java
index fe7612120fe..9db20ba97d6 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AttackDetectionResourceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AttackDetectionResourceTest.java
@@ -33,14 +33,10 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-
/**
*
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class AttackDetectionResourceTest extends AbstractAdminTest {
@ArquillianResource
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AuthzCleanupTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AuthzCleanupTest.java
index a87b1104837..f5ec35daeff 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AuthzCleanupTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AuthzCleanupTest.java
@@ -33,8 +33,6 @@ import org.keycloak.representations.idm.authorization.ResourceServerRepresentati
import org.keycloak.representations.idm.authorization.RolePolicyRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.ProfileAssume;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.RealmBuilder;
import org.keycloak.util.JsonSerialization;
@@ -48,7 +46,6 @@ import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
* @author Bill Burke
* @version $Revision: 1 $
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class AuthzCleanupTest extends AbstractKeycloakTest {
@BeforeClass
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
index 316f6924ed2..0cfa5d7bc64 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
@@ -61,8 +61,6 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserSessionRepresentation;
import org.keycloak.testsuite.Assert;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.CredentialBuilder;
@@ -92,7 +90,6 @@ import javax.ws.rs.core.Response;
public class ClientTest extends AbstractAdminTest {
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void getClients() {
Assert.assertNames(realm.clients().findAll(), "account", "account-console", "realm-management", "security-admin-console", "broker", Constants.ADMIN_CLI_CLIENT_ID);
}
@@ -138,7 +135,6 @@ public class ClientTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void createClientVerifyWithSecret() {
String id = createClientNonPublic().getId();
@@ -149,7 +145,6 @@ public class ClientTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void createClientVerify() {
String id = createClient().getId();
@@ -342,7 +337,6 @@ public class ClientTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void getAllClientsSearchAndPagination() {
Set ids = new HashSet<>();
try {
@@ -450,7 +444,6 @@ public class ClientTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void serviceAccount() {
Response response = realm.clients().create(ClientBuilder.create().clientId("serviceClient").serviceAccount().build());
String id = ApiUtil.getCreatedId(response);
@@ -823,7 +816,6 @@ public class ClientTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void updateClientWithProtocolMapper() {
ClientRepresentation rep = new ClientRepresentation();
rep.setClientId("my-app");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ComponentsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ComponentsTest.java
index 5621a306337..351aed8add7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ComponentsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ComponentsTest.java
@@ -40,15 +40,12 @@ import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.hamcrest.Matchers;
import static org.hamcrest.Matchers.contains;
import static org.junit.Assert.*;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
/**
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class ComponentsTest extends AbstractAdminTest {
private ComponentsResource components;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConsentsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConsentsTest.java
index 7dee60ec4cf..e0798d1a09d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConsentsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConsentsTest.java
@@ -61,8 +61,6 @@ import static org.keycloak.testsuite.admin.AbstractAdminTest.loadJson;
import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
import static org.keycloak.testsuite.admin.ApiUtil.findClientByClientId;
import static org.keycloak.testsuite.admin.ApiUtil.resetUserPassword;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.util.OAuthClient;
import org.keycloak.testsuite.util.OAuthClient.AccessTokenResponse;
import org.keycloak.testsuite.util.OAuthClient.AuthorizationEndpointResponse;
@@ -269,7 +267,6 @@ public class ConsentsTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testConsents() {
driver.navigate().to(getAccountUrl(consumerRealmName()));
@@ -347,7 +344,6 @@ public class ConsentsTest extends AbstractKeycloakTest {
* KEYCLOAK-18954
*/
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testRetrieveConsentsForUserWithClientsWithGrantedOfflineAccess() throws Exception {
RealmResource providerRealm = adminClient.realm(providerRealmName());
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/DeclarativeUserTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/DeclarativeUserTest.java
index e8af28e3f03..12c47873b6c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/DeclarativeUserTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/DeclarativeUserTest.java
@@ -4,7 +4,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
import static org.keycloak.testsuite.forms.VerifyProfileTest.PERMISSIONS_ALL;
import static org.keycloak.testsuite.forms.VerifyProfileTest.enableDynamicUserProfile;
import static org.keycloak.testsuite.forms.VerifyProfileTest.setUserProfileConfiguration;
@@ -27,7 +26,6 @@ import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.common.Profile;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.userprofile.DeclarativeUserProfileProvider;
import org.keycloak.userprofile.UserProfileProvider;
@@ -36,7 +34,6 @@ import org.keycloak.userprofile.UserProfileProvider;
* @author Pedro Igor
*/
@EnableFeature(value = Profile.Feature.DECLARATIVE_USER_PROFILE)
-@AuthServerContainerExclude(REMOTE)
public class DeclarativeUserTest extends AbstractAdminTest {
@Before
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/FineGrainAdminUnitTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/FineGrainAdminUnitTest.java
index 9bc1f587fd6..0b322e338fe 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/FineGrainAdminUnitTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/FineGrainAdminUnitTest.java
@@ -73,8 +73,6 @@ import static org.hamcrest.Matchers.hasItem;
import static org.junit.Assert.assertThat;
import static org.keycloak.testsuite.admin.ImpersonationDisabledTest.IMPERSONATION_DISABLED;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
import static org.keycloak.testsuite.util.ServerURLs.getAuthServerContextRoot;
@@ -421,7 +419,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testRestEvaluation() throws Exception {
testingClient.server().run(FineGrainAdminUnitTest::setupPolices);
testingClient.server().run(FineGrainAdminUnitTest::setupUsers);
@@ -698,7 +695,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testMasterRealm() throws Exception {
// test that master realm can still perform operations when policies are in place
//
@@ -777,7 +773,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
// KEYCLOAK-5152
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testRealmWithComposites() throws Exception {
testingClient.server().run(FineGrainAdminUnitTest::setup5152);
@@ -840,7 +835,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testRemoveCleanup() throws Exception {
testingClient.server().run(FineGrainAdminUnitTest::setupDeleteTest);
testingClient.server().run(FineGrainAdminUnitTest::invokeDelete);
@@ -938,7 +932,7 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
@Test
@UncaughtServerErrorExpected
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
public void testTokenExchangeDisabled() throws Exception {
checkTokenExchange(false);
}
@@ -950,7 +944,7 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
*/
@Test
@UncaughtServerErrorExpected
- @AuthServerContainerExclude(AuthServer.REMOTE)
+
@EnableFeature(value = Profile.Feature.TOKEN_EXCHANGE, skipRestart = true)
public void testWithTokenExchange() throws Exception {
String exchanged = checkTokenExchange(true);
@@ -962,7 +956,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testUserPagination() {
testingClient.server().run(session -> {
RealmModel realm = session.realms().getRealmByName("test");
@@ -1058,7 +1051,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testClientsSearch() {
testingClient.server().run(session -> {
RealmModel realm = session.realms().getRealmByName("test");
@@ -1238,7 +1230,6 @@ public class FineGrainAdminUnitTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testClientsSearchAfterFirstPage() {
testingClient.server().run(session -> {
RealmModel realm = session.realms().getRealmByName("test");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
index fa56c8e3501..89df124b753 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
@@ -22,7 +22,6 @@ import org.junit.Test;
import org.keycloak.admin.client.resource.IdentityProviderResource;
import org.keycloak.broker.saml.SAMLIdentityProviderConfig;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.dom.saml.v2.metadata.EndpointType;
import org.keycloak.dom.saml.v2.metadata.EntityDescriptorType;
import org.keycloak.dom.saml.v2.metadata.IndexedEndpointType;
@@ -93,9 +92,6 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.keycloak.saml.common.constants.JBossSAMLURIConstants.XMLDSIG_NSURI;
-import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_SSL_REQUIRED;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
/**
* @author Stian Thorgersen
@@ -178,7 +174,6 @@ public class IdentityProviderTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(REMOTE)
public void failCreateInvalidUrl() throws Exception {
try (AutoCloseable c = new RealmAttributeUpdater(realmsResouce().realm("test"))
.updateWith(r -> r.setSslRequired(SslRequired.ALL.name()))
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IllegalAdminUpgradeTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IllegalAdminUpgradeTest.java
index e1982854343..3bdb299fc92 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IllegalAdminUpgradeTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IllegalAdminUpgradeTest.java
@@ -42,15 +42,12 @@ import java.util.List;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
/**
* @author Bill Burke
* @version $Revision: 1 $
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class IllegalAdminUpgradeTest extends AbstractKeycloakTest {
public static final String CLIENT_NAME = "application";
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ImpersonationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ImpersonationTest.java
index aaa428a89ab..0f86660cf6a 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ImpersonationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ImpersonationTest.java
@@ -54,8 +54,6 @@ import org.keycloak.representations.idm.*;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.AssertEvents;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.auth.page.AuthRealm;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.LoginPage;
@@ -79,7 +77,6 @@ import static org.keycloak.testsuite.util.ServerURLs.getAuthServerContextRoot;
*
* @author Bill Burke
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class ImpersonationTest extends AbstractKeycloakTest {
static class UserSessionNotesHolder {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/InitialAccessTokenResourceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/InitialAccessTokenResourceTest.java
index 1f901106670..38337c92b3d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/InitialAccessTokenResourceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/InitialAccessTokenResourceTest.java
@@ -27,7 +27,6 @@ import org.keycloak.events.admin.ResourceType;
import org.keycloak.representations.idm.ClientInitialAccessCreatePresentation;
import org.keycloak.representations.idm.ClientInitialAccessPresentation;
import org.keycloak.testsuite.Assert;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
import org.keycloak.testsuite.util.AdminEventPaths;
import java.util.List;
@@ -40,7 +39,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Stian Thorgersen
@@ -55,7 +53,6 @@ public class InitialAccessTokenResourceTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE) // Time difference is possible on remote server
public void testInitialAccessTokens() {
ClientInitialAccessCreatePresentation rep = new ClientInitialAccessCreatePresentation();
rep.setCount(2);
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
index a3f0952e2dd..712529821c0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
@@ -36,9 +36,6 @@ import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.keycloak.representations.idm.ComponentRepresentation.SECRET_VALUE;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-import static org.keycloak.util.JsonSerialization.writeValueAsPrettyString;
/**
* @author Bruno Oliveira
@@ -96,7 +93,6 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testWithProperSettings() throws Exception {
Response response = realm.testSMTPConnection(settings("127.0.0.1", "3025", "auto@keycloak.org", null, null, null,
null, null));
@@ -112,7 +108,6 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testWithAuthEnabledValidCredentials() throws Exception {
greenMailRule.credentials("admin@localhost", "admin");
Response response = realm.testSMTPConnection(settings("127.0.0.1", "3025", "auto@keycloak.org", "true", null, null,
@@ -121,7 +116,6 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testAuthEnabledAndSavedCredentials() throws Exception {
RealmRepresentation realmRep = realm.toRepresentation();
Map oldSmtp = realmRep.getSmtpServer();
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionVaultTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionVaultTest.java
index 99edfb4d8b7..a4cc775e854 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionVaultTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionVaultTest.java
@@ -1,14 +1,11 @@
package org.keycloak.testsuite.admin;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.arquillian.annotation.EnableVault;
/**
* @author Martin Kanis
*/
@EnableVault
-@AuthServerContainerExclude({AuthServer.REMOTE})
public class SMTPConnectionVaultTest extends SMTPConnectionTest {
@Override
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
index 9d21c291919..1133f66154f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
@@ -29,13 +29,10 @@ import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Stian Thorgersen
*/
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class ServerInfoTest extends AbstractKeycloakTest {
@Test
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
index f3c8e440989..63b98a23604 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
@@ -33,14 +33,11 @@ import org.keycloak.testsuite.util.LDAPRule;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Response;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Marek Posolda
*/
@EnableVault
-@AuthServerContainerExclude(AuthServer.REMOTE)
public class UserFederationLdapConnectionTest extends AbstractAdminTest {
@ClassRule
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageRestTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageRestTest.java
index 102523256d7..71510abd99f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageRestTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageRestTest.java
@@ -43,8 +43,6 @@ import org.keycloak.testsuite.util.AdminEventPaths;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Response;
import java.util.List;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
/**
* @author Marek Posolda
@@ -85,7 +83,6 @@ public class UserStorageRestTest extends AbstractAdminTest {
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testKerberosAuthenticatorEnabledAutomatically() {
// Assert kerberos authenticator DISABLED
AuthenticationExecutionInfoRepresentation kerberosExecution = findKerberosExecution();
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
index 436ad4bef50..da04cdd3966 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
@@ -63,8 +63,6 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.storage.UserStorageProvider;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
import org.keycloak.testsuite.page.LoginPasswordUpdatePage;
@@ -120,7 +118,6 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.keycloak.testsuite.Assert.assertNames;
-import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
/**
@@ -298,7 +295,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void createUserWithHashedCredentials() {
UserRepresentation user = new UserRepresentation();
user.setUsername("user_creds");
@@ -415,7 +411,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void createUserWithRawCredentials() {
UserRepresentation user = new UserRepresentation();
user.setUsername("user_rawpw");
@@ -1450,7 +1445,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude({REMOTE}) // TODO: Enable for remote
public void updateUserWithReadOnlyAttributes() {
// Admin is able to update "usercertificate" attribute
UserRepresentation user1 = new UserRepresentation();
@@ -1571,7 +1565,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccess() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1619,7 +1612,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testEmailLinkBasedOnRealmFrontEndUrl() throws Exception {
try {
updateRealmFrontEndUrl(adminClient.realm("master"), suiteContext.getAuthServerInfo().getContextRoot().toString());
@@ -1664,7 +1656,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailWithCustomLifespan() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1724,7 +1715,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccessTwoLinks() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1768,7 +1758,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccessTwoLinksReverse() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1814,7 +1803,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccessLinkOpenDoesNotExpireWhenOpenedOnly() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1858,7 +1846,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccessTokenShortLifespan() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1901,7 +1888,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailSuccessWithRecycledAuthSession() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setEnabled(true);
@@ -1966,7 +1952,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailWithRedirect() throws IOException {
UserRepresentation userRep = new UserRepresentation();
@@ -2035,7 +2020,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendResetPasswordEmailWithRedirectAndCustomLifespan() throws IOException {
UserRepresentation userRep = new UserRepresentation();
@@ -2121,7 +2105,6 @@ public class UserTest extends AbstractAdminTest {
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void sendVerifyEmail() throws IOException {
UserRepresentation userRep = new UserRepresentation();
userRep.setUsername("user1");
@@ -2344,7 +2327,6 @@ public class UserTest extends AbstractAdminTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void updateUserWithRawCredentials() {
UserRepresentation user = new UserRepresentation();
user.setUsername("user_rawpw");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ExecutionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ExecutionTest.java
index e88c8b39aa4..e973fd73971 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ExecutionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ExecutionTest.java
@@ -24,7 +24,6 @@ import org.keycloak.authentication.authenticators.browser.UsernameFormFactory;
import org.keycloak.authentication.authenticators.browser.WebAuthnAuthenticatorFactory;
import org.keycloak.authentication.authenticators.challenge.NoCookieFlowRedirectAuthenticatorFactory;
import org.keycloak.authentication.authenticators.client.ClientIdAndSecretAuthenticator;
-import org.keycloak.common.Profile;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentation;
@@ -32,9 +31,6 @@ import org.keycloak.representations.idm.AuthenticationExecutionRepresentation;
import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.AssertAdminEvents;
@@ -322,7 +318,6 @@ public class ExecutionTest extends AbstractAuthenticationTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testRequirementsInExecution() {
HashMap params = new HashMap<>();
String newBrowserFlow = "new-exec-flow";
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
index 1040bf7f3a0..f064b3c2437 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
@@ -32,9 +32,6 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude;
-import org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer;
-import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import static org.hamcrest.Matchers.is;
@@ -57,7 +54,6 @@ public class ProvidersTest extends AbstractAuthenticationTest {
}
@Test
- @AuthServerContainerExclude(AuthServer.REMOTE)
public void testFormActionProviders() {
List
-
- app-server-remote
-
- remote
-
-
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/README.md b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/README.md
deleted file mode 100644
index 40926cb1e94..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# Keycloak Adapter Tests - JBoss Remote
-
-## Performance Tests
-
-### Parameters
-
-* Warmup phase
- - `warmup.load` Load during warmup phase (# of clients).
- - `warmup.duration` Duration of warmup phase in seconds.
-* Measuremet iterations
- - `initial.load` Load for the initial measurement iteration (# of clients).
- - `load.increase` How many clients to add after each iteration.
- - `load.increase.rate` How many clients to add per second.
- - `measurement.duration` Duration of measurement iteration (in seconds).
-* Limits
- - `max.iterations`
- - `max.threads`
-* Other
- - `sleep.between.loops` Sleep period between scenario loops.
-
-### Generated Load
-
-Warmup phase and measurement iterations with load-increase phases in between.
-
- load
-
- ^
- │
- │ /
- │ _________/
- │ /| |
- │ / | |
- │ _________/ | |
- │ /| | | |
- │ / | | | |
- │ _________/ | | | |
- │ /│ | | | | |
- │ / | | | | | |
- │ _________/ | | | | | |
- │ /| | | | | | | |
- │ ____________/ | | | | | | | |
- │ /| | | | | | | | | |
- │/ | | | | | | | | | |
- └──|────────────|─|─────────|──|─────────|──|─────────|──|─────────|───────> time
-
- <--warmup--> <--it.1-> <--it.2-> <--it.3-> <--it.4->
-
-
-### Login-Logout Test Scenario
-
-#### Collected Statistics
-
- - ACCESS_REQUEST_TIME
- - LOGIN_REQUEST_TIME
- - LOGIN_VERIFY_REQUEST_TIME
- - LOGOUT_REQUEST_TIME
- - LOGOUT_VERIFY_REQUEST_TIME
-
-#### Parameters
-
-* Limits
- - `max.login.time.average` Maximum accepted average value of LOGIN_REQUEST_TIME.
- - `max.logout.time.average` Maximum accepted average value of LOGOUT_REQUEST_TIME.
- - `max.timeout.percentage` Maximum accepted timeout percentage for all statistics.
-
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/pom.xml
deleted file mode 100644
index 3bbbd708f26..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/pom.xml
+++ /dev/null
@@ -1,222 +0,0 @@
-
-
-
-
-
- 4.0.0
-
-
- org.keycloak.testsuite
- integration-arquillian-tests-adapters-jboss
- 999-SNAPSHOT
-
-
- integration-arquillian-tests-adapters-remote
-
- Adapter Tests - JBoss - Remote
-
-
- remote
- remote
- true
- src/test/resources/xslt/arquillian.xsl
- ${basedir}/../../../../../servers/auth-server/jboss/common
- **/performance/htmlunit/**/*Test.java
- **/performance/httpclient/**/*Test.java
-
- INFO
-
-
-
-
- commons-io
- commons-io
- 2.4
-
-
- org.apache.commons
- commons-csv
- 1.2
-
-
- org.keycloak.testsuite
- integration-arquillian-testsuite-providers
- ${project.version}
-
-
-
-
-
-
- maven-dependency-plugin
-
-
- copy-app-profile-jee-quickstart
- generate-test-resources
-
- copy
-
-
-
-
- org.keycloak.testsuite
- keycloak-test-app-profile-jee
- ${project.version}
- war
-
-
- ${examples.home}
- true
-
-
-
-
-
- maven-enforcer-plugin
-
-
-
- enforce
-
-
-
-
- auth-server-remote
-
-
-
-
-
-
-
-
- maven-surefire-plugin
-
-
- ${exclude.htmlunit}
- ${exclude.httpclient}
-
-
- ${logging.loginlogout}
-
-
-
-
-
-
-
-
- auth-server-remote
-
-
-
- maven-resources-plugin
-
-
- copy-keystore
- process-resources
-
- copy-resources
-
-
- ${project.build.directory}/containers/auth-server-remote
-
-
- ${common.resources}/keystore
-
- keycloak.jks
- keycloak.truststore
- client.jks
- client-ca.jks
- test-user-cert-intermediary-ca.jks
- ca.crt
- client.crt
- client.key
- *.crl
- other_client.jks
- test-user-obb.jks
-
-
-
- ${common.resources}/pki/root/ca
-
- certs/clients/test-user-san@localhost.cert.pem
- certs/clients/test-user@localhost.key.pem
-
-
-
-
-
-
-
-
-
-
-
- no-offset
-
- 0
- 8080
- 8443
- 9990
- 9999
-
-
-
- htmlunit
-
- -
-
-
-
- httpclient
-
- -
-
-
-
- debug
-
- TRACE
-
-
-
-
- maven-surefire-plugin
-
-
- 1
- 10
- 0
- 30
-
-
-
-
-
-
-
-
-
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/RemoteAppServerArquillianExtension.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/RemoteAppServerArquillianExtension.java
deleted file mode 100644
index 57674d31f5c..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/RemoteAppServerArquillianExtension.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2019 Red Hat, Inc. and/or its affiliates
- * and other contributors as indicated by the @author tags.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.keycloak.testsuite.arquillian.remote;
-
-import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
-import org.jboss.arquillian.core.spi.LoadableExtension;
-import org.keycloak.testsuite.arquillian.remote.container.RemoteDeploymentArchiveProcessor;
-
-public class RemoteAppServerArquillianExtension implements LoadableExtension {
-
- @Override
- public void register(ExtensionBuilder builder) {
- builder.service(ApplicationArchiveProcessor.class, RemoteDeploymentArchiveProcessor.class);
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/container/RemoteDeploymentArchiveProcessor.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/container/RemoteDeploymentArchiveProcessor.java
deleted file mode 100644
index c0ee1ab24bd..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/arquillian/remote/container/RemoteDeploymentArchiveProcessor.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2019 Red Hat, Inc. and/or its affiliates
- * and other contributors as indicated by the @author tags.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.keycloak.testsuite.arquillian.remote.container;
-
-import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
-import org.jboss.arquillian.test.spi.TestClass;
-import org.jboss.logging.Logger;
-import org.jboss.shrinkwrap.api.Archive;
-import org.keycloak.testsuite.utils.annotation.UseServletFilter;
-import org.keycloak.testsuite.utils.arquillian.DeploymentArchiveProcessorUtils;
-
-public class RemoteDeploymentArchiveProcessor implements ApplicationArchiveProcessor {
-
- private final Logger log = Logger.getLogger(RemoteDeploymentArchiveProcessor.class);
-
- @Override
- public void process(Archive> archive, TestClass testClass) {
- if (DeploymentArchiveProcessorUtils.checkRunOnServerDeployment(archive)) return;
-
- modifyWebXML(archive, testClass);
-
- modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH);
- modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH_JS);
-
- modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH);
- modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT1);
- modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT2);
- }
-
- private void modifyWebXML(Archive> archive, TestClass testClass) {
- if (!archive.contains(DeploymentArchiveProcessorUtils.WEBXML_PATH)) return;
- if (!testClass.getJavaClass().isAnnotationPresent(UseServletFilter.class)) return;
- if (!archive.contains(DeploymentArchiveProcessorUtils.JBOSS_DEPLOYMENT_XML_PATH)) return;
-
- log.debug("Modifying WEB.XML in " + archive.getName() + " for Servlet Filter.");
- DeploymentArchiveProcessorUtils.modifyWebXMLForServletFilter(archive, testClass);
- DeploymentArchiveProcessorUtils.addFilterDependencies(archive, testClass);
- }
-
- private void modifyOIDCAdapterConfig(Archive> archive, String adapterConfigPath) {
- if (!archive.contains(adapterConfigPath)) return;
-
- log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
-
- DeploymentArchiveProcessorUtils.modifyOIDCAdapterConfig(archive, adapterConfigPath);
- }
-
- private void modifySAMLAdapterConfig(Archive> archive, String adapterConfigPath) {
- if (!archive.contains(adapterConfigPath)) return;
-
- log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
- DeploymentArchiveProcessorUtils.modifySAMLAdapterConfig(archive, adapterConfigPath);
- }
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java
deleted file mode 100644
index 334731190f2..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.keycloak.testsuite.performance.page;
-
-import org.jboss.arquillian.container.test.api.OperateOnDeployment;
-import org.jboss.arquillian.test.api.ArquillianResource;
-import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-
-import java.net.URL;
-
-/**
- *
- * @author tkyjovsk
- */
-public class AppProfileJEE extends AbstractPageWithInjectedUrl {
-
- public static final String DEPLOYMENT_NAME = "app-profile-jee";
-
- @ArquillianResource
- @OperateOnDeployment(DEPLOYMENT_NAME)
- private URL url;
-
- @Override
- public URL getInjectedUrl() {
- //EAP6 URL fix
- URL fixedUrl = createInjectedURL(DEPLOYMENT_NAME);
- return fixedUrl != null ? fixedUrl : url;
- }
-
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
deleted file mode 100644
index 994970e0d0c..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
+++ /dev/null
@@ -1 +0,0 @@
-org.keycloak.testsuite.arquillian.remote.RemoteAppServerArquillianExtension
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCAdapterTest.java
deleted file mode 100644
index 18c53d30f76..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCAdapterTest.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.keycloak.testsuite.adapter;
-
-import org.junit.Ignore;
-import org.junit.Test;
-import org.keycloak.testsuite.adapter.servlet.DemoServletsAdapterTest;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-
-/**
- *
- * @author tkyjovsk
- */
-@AppServerContainer("app-server-remote")
-public class RemoteOIDCAdapterTest extends DemoServletsAdapterTest {
-
- @Test
- @Ignore
- @Override
- public void testBasicAuth() {
- }
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCSessionAdapterTest.java
deleted file mode 100644
index 7723d301681..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteOIDCSessionAdapterTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.keycloak.testsuite.adapter;
-
-import org.keycloak.testsuite.adapter.servlet.SessionServletAdapterTest;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-
-/**
- *
- * @author tkyjovsk
- */
-@AppServerContainer("app-server-remote")
-public class RemoteOIDCSessionAdapterTest extends SessionServletAdapterTest {
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLAdapterTest.java
deleted file mode 100644
index 588ad397399..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLAdapterTest.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.keycloak.testsuite.adapter;
-
-import org.keycloak.testsuite.adapter.servlet.SAMLServletAdapterTest;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-
-/**
- * @author mhajas
- */
-@AppServerContainer("app-server-remote")
-public class RemoteSAMLAdapterTest extends SAMLServletAdapterTest {
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLFilterAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLFilterAdapterTest.java
deleted file mode 100644
index 69f4f444b10..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/adapter/RemoteSAMLFilterAdapterTest.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.keycloak.testsuite.adapter;
-
-import org.keycloak.testsuite.adapter.servlet.SAMLFilterServletAdapterTest;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-
-/**
- * @author mhajas
- */
-@AppServerContainer("app-server-remote")
-public class RemoteSAMLFilterAdapterTest extends SAMLFilterServletAdapterTest {
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoginLogoutTestParameters.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoginLogoutTestParameters.java
deleted file mode 100644
index 70dbaec8994..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoginLogoutTestParameters.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-/**
- *
- * @author tkyjovsk
- */
-public class LoginLogoutTestParameters {
-
- // Statistics
- public static final String ACCESS_REQUEST_TIME = "ACCESS_REQUEST";
- public static final String LOGIN_REQUEST_TIME = "LOGIN_REQUEST";
- public static final String LOGIN_VERIFY_REQUEST_TIME = "LOGIN_VERIFY_REQUEST";
- public static final String LOGOUT_REQUEST_TIME = "LOGOUT_REQUEST";
- public static final String LOGOUT_VERIFY_REQUEST_TIME = "LOGOUT_VERIFY_REQUEST";
-
- // Limits
- public static final Integer MAX_LOGIN_TIME_AVERAGE = Integer.parseInt(System.getProperty("max.login.time.average", "500"));
- public static final Integer MAX_LOGOUT_TIME_AVERAGE = Integer.parseInt(System.getProperty("max.logout.time.average", "500"));
- public static final double MAX_TIMEOUT_PERCENTAGE = Double.parseDouble(System.getProperty("max.timeout.percentage", "0"));
-
- // Other
- public static final Integer PASSWORD_HASH_ITERATIONS = Integer.parseInt(System.getProperty("password.hash.iterations", "1"));
-
- public static boolean isMeasurementWithinLimits(PerformanceMeasurement measurement) {
- return isTimeoutPercentageWithinLimits(measurement)
- && measurement.getStatistics().get(LOGIN_REQUEST_TIME).getAverage() < MAX_LOGIN_TIME_AVERAGE
- && measurement.getStatistics().get(LOGOUT_REQUEST_TIME).getAverage() < MAX_LOGOUT_TIME_AVERAGE;
- }
-
- public static boolean isTimeoutPercentageWithinLimits(PerformanceMeasurement measurement) {
- boolean withinLimits = true;
- for (String statistic : measurement.getStatistics().keySet()) {
- withinLimits = withinLimits && measurement.getTimeoutPercentage(statistic) <= MAX_TIMEOUT_PERCENTAGE;
- }
- return withinLimits;
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoopingRunnable.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoopingRunnable.java
deleted file mode 100644
index 9cfcccc27b2..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/LoopingRunnable.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-import static org.keycloak.testsuite.util.WaitUtils.pause;
-
-/**
- *
- * @author tkyjovsk
- */
-public abstract class LoopingRunnable implements Runnable {
-
- private long sleepBetweenLoopsMillis;
- private long loopCounter;
-
- public LoopingRunnable() {
- this(0);
- this.loopCounter = 0;
- }
-
- public LoopingRunnable(long sleepBetweenLoopsMillis) {
- this.sleepBetweenLoopsMillis = sleepBetweenLoopsMillis;
- }
-
- public void setSleepBetweenLoopsMillis(long sleepBetweenLoopsMillis) {
- this.sleepBetweenLoopsMillis = sleepBetweenLoopsMillis;
- }
-
- public long getLoopCounter() {
- return loopCounter;
- }
-
- @Override
- public void run() {
- while (!Thread.interrupted()) {
- loop();
- loopCounter++;
- pause(sleepBetweenLoopsMillis);
- }
- }
-
- public abstract void loop();
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/OperationTimeoutException.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/OperationTimeoutException.java
deleted file mode 100644
index c3647667d4b..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/OperationTimeoutException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-/**
- *
- * @author tkyjovsk
- */
-public class OperationTimeoutException extends Exception {
-
- private final String statistic;
- private final long value;
-
- public OperationTimeoutException(String statistic, Throwable cause) {
- this(statistic, 0, cause);
- }
-
- public OperationTimeoutException(String statistic, long value, Throwable cause) {
- super(cause);
- this.statistic = statistic;
- this.value = value;
- }
-
- public String getStatistic() {
- return statistic;
- }
-
- public long getValue() {
- return value;
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java
deleted file mode 100644
index 0cc0eb09964..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-import org.apache.commons.csv.CSVFormat;
-import org.apache.commons.csv.CSVPrinter;
-import org.keycloak.testsuite.performance.statistics.SimpleStatistics;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import static org.keycloak.testsuite.performance.PerformanceTest.LOG;
-import static org.keycloak.testsuite.utils.io.IOUtil.PROJECT_BUILD_DIRECTORY;
-
-/**
- *
- * @author tkyjovsk
- */
-public class PerformanceMeasurement {
-
- private final Date started;
- private final int load;
- private long durationMillis;
- private SimpleStatistics statistics;
- private SimpleStatistics timeoutStatistics;
-
- public static final DateFormat ISO8601_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); // should be compatible with `date --iso-8601=seconds`
- public static final DateFormat RFC3339_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ"); // should be compatible with `date --rfc-3339=seconds`
-
- public PerformanceMeasurement(int load) {
- this.started = new Date();
- this.load = load;
- }
-
- public SimpleStatistics getStatistics() {
- return this.statistics;
- }
-
- public SimpleStatistics getTimeoutStatistics() {
- return this.timeoutStatistics;
- }
-
- public void setStatistics(SimpleStatistics statistics, SimpleStatistics timeoutStatistics) {
- this.durationMillis = new Date().getTime() - started.getTime();
- if (durationMillis < 0) {
- throw new IllegalStateException("Cannot set a negative duration.");
- }
- this.statistics = statistics;
- this.timeoutStatistics = timeoutStatistics;
- }
-
- private void checkStatisticsNotNull() {
- if (statistics == null || timeoutStatistics == null) {
- throw new IllegalStateException("Iteration doesn't have any statistics set.");
- }
- }
-
- public double getThroughput(String statistic) {
- checkStatisticsNotNull();
- return (double) statistics.get(statistic).getCount() / durationMillis * 1000;
- }
-
- public double getTimeoutPercentage(String statistic) {
- checkStatisticsNotNull();
- long timeouts = timeoutStatistics.containsKey(statistic) ? timeoutStatistics.get(statistic).getCount() : 0;
- return (double) timeouts / statistics.get(statistic).getCount();
- }
-
- public static final Object[] HEADER = new String[]{
- "Timestamp",
- "Load",
- "Duration",
- "Count",
- "Min",
- "Max",
- "Average",
- "Standard Deviation",
- "Timeout Percentage",
- "Throughput",};
-
- public List toRecord(String statistic) {
- checkStatisticsNotNull();
- List record = new ArrayList();
- record.add(ISO8601_DATE_FORMAT.format(started));
- record.add(load);
- record.add(durationMillis);
- record.add(statistics.get(statistic).getCount());
- record.add(statistics.get(statistic).getMin());
- record.add(statistics.get(statistic).getMax());
- record.add(statistics.get(statistic).getAverage());
- record.add(statistics.get(statistic).getStandardDeviation());
- record.add(getTimeoutPercentage(statistic));
- record.add(getThroughput(statistic));
- return record;
- }
-
- public void printToCSV() {
- printToCSV(null);
- }
-
- public void printToCSV(String testName) {
- checkStatisticsNotNull();
- for (String statistic : statistics.keySet()) {
-
- File csvFile = new File(PROJECT_BUILD_DIRECTORY + "/measurements" + (testName == null ? "" : "/" + testName),
- statistic + ".csv");
- boolean csvFileCreated = false;
- if (!csvFile.exists()) {
- try {
- csvFile.getParentFile().mkdirs();
- csvFileCreated = csvFile.createNewFile();
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- try (BufferedWriter writer = new BufferedWriter(new FileWriter(csvFile, true))) {
-
- CSVPrinter printer = new CSVPrinter(writer, CSVFormat.RFC4180);
-
- if (csvFileCreated) {
- printer.printRecord(HEADER);
- }
- printer.printRecord(toRecord(statistic));
-
- printer.flush();
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
- }
-
- public void printToLog() {
- LOG.info("Measurement results:");
- LOG.info("Operation " + Arrays.toString(HEADER));
- for (String statistic : statistics.keySet()) {
- LOG.info(statistic + " " + toRecord(statistic));
- }
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java
deleted file mode 100644
index af881c09888..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-import org.keycloak.testsuite.performance.statistics.DataHoldingUpdatableStatistic;
-import org.keycloak.testsuite.performance.statistics.MovingUpdatableStatistic;
-import org.keycloak.testsuite.performance.statistics.SimpleStatistics;
-import org.keycloak.testsuite.performance.statistics.UpdatableStatistic;
-import org.keycloak.testsuite.performance.statistics.UpdatableStatistics;
-
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * PerformanceStatistics. Concurrent hash map of UpdatableStatistic objects,
- * type of which can be selected by the "statistic.type" property.
- *
- * @author tkyjovsk
- */
-public class PerformanceStatistics extends ConcurrentHashMap implements UpdatableStatistics {
-
- public static final String STATISTIC_TYPE = System.getProperty("statistic.type", MovingUpdatableStatistic.STATISTIC_TYPE_PROPERTY_VALUE);
-
- @Override
- public void reset() {
- clear();
- }
-
- private UpdatableStatistic createIfNullAndGet(String statistic) {
- UpdatableStatistic updatableStatistic = get(statistic);
- if (updatableStatistic == null) {
- switch (STATISTIC_TYPE) {
- case DataHoldingUpdatableStatistic.STATISTIC_TYPE_PROPERTY_VALUE:
- updatableStatistic = new DataHoldingUpdatableStatistic();
- break;
- case MovingUpdatableStatistic.STATISTIC_TYPE_PROPERTY_VALUE:
- updatableStatistic = new DataHoldingUpdatableStatistic();
- break;
- default:
- throw new IllegalStateException(String.format(
- "Unknown statistic type: '%s'. Supported values: %s | %s",
- STATISTIC_TYPE,
- DataHoldingUpdatableStatistic.STATISTIC_TYPE_PROPERTY_VALUE,
- MovingUpdatableStatistic.STATISTIC_TYPE_PROPERTY_VALUE));
- }
- put(statistic, updatableStatistic);
- }
- return updatableStatistic;
- }
-
- @Override
- public void addValue(String statistic, long value) {
- createIfNullAndGet(statistic).addValue(value);
- }
-
- public SimpleStatistics snapshot() {
- return new SimpleStatistics(this);
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java
deleted file mode 100644
index caf3afe03d4..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-import org.jboss.logging.Logger;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.keycloak.testsuite.adapter.AbstractExampleAdapterTest;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-
-import static org.keycloak.testsuite.util.WaitUtils.pause;
-
-/**
- * PerformanceTest.
- *
- * @author tkyjovsk
- */
-public abstract class PerformanceTest extends AbstractExampleAdapterTest {
-
- public static final Logger LOG = Logger.getLogger(PerformanceTest.class);
-
- public static final Integer WARMUP_LOAD = Integer.parseInt(System.getProperty("warmup.load", "5"));
- public static final Integer WARMUP_DURATION = Integer.parseInt(System.getProperty("warmup.duration", "30"));
-
- public static final Integer INITIAL_LOAD = Integer.parseInt(System.getProperty("initial.load", "10")); // load for the first iteration
- public static final Integer LOAD_INCREASE = Integer.parseInt(System.getProperty("load.increase", "10")); // how many threads to add before each iteration
- public static final Integer LOAD_INCREASE_RATE = Integer.parseInt(System.getProperty("load.increase.rate", "2")); // how fast to add the new threads per second
-
- public static final Integer MEASUREMENT_DURATION = Integer.parseInt(System.getProperty("measurement.duration", "20")); // duration of one measurement iteration
-
- public static final Integer MAX_ITERATIONS = Integer.parseInt(System.getProperty("max.iterations", "10"));
- public static final Integer MAX_THREADS = Integer.parseInt(System.getProperty("max.threads", "1000"));
-
- public static final Integer SLEEP_BETWEEN_LOOPS = Integer.parseInt(System.getProperty("sleep.between.loops", "0"));
- public static final Integer THREADPOOL_TERMINATION_TIMEOUT = Integer.parseInt(System.getProperty("threadpool.termination.timeout", "10"));
- public static final Integer ADDITIONAL_SLEEP_AFTER = Integer.parseInt(System.getProperty("additional.sleep.after", "0"));
-
- public static final String SCENARIO_TIME = "SCENARIO";
-
- private int currentLoad;
-
- private ExecutorService executorService;
-
- protected PerformanceStatistics statistics = new PerformanceStatistics();
- protected PerformanceStatistics timeoutStatistics = new PerformanceStatistics(); // for keeping track of # of conn. timeout exceptions
-
- protected List measurements = new ArrayList<>();
-
- @Before
- public void before() {
- if (WARMUP_LOAD > INITIAL_LOAD) {
- throw new IllegalArgumentException("'warmup.load' cannot be larger than 'initial.load'");
- }
-
- executorService = Executors.newFixedThreadPool(MAX_THREADS);
- currentLoad = 0;
-
- statistics.clear();
- timeoutStatistics.clear();
- }
-
- @After
- public void after() throws IOException, InterruptedException {
- executorService.shutdown();
-
- LOG.info("Waiting for threadpool termination.");
- executorService.awaitTermination(THREADPOOL_TERMINATION_TIMEOUT, TimeUnit.SECONDS);
- pause(ADDITIONAL_SLEEP_AFTER * 1000);
-
- LOG.info("Logging out all sessions.");
- testRealmResource().logoutAll();
- }
-
- @Test
- public void test() {
-
- increaseLoadBy(WARMUP_LOAD); // increase to warmup load
- warmup();
-
- for (int i = 0; i < MAX_ITERATIONS; i++) {
-
- int loadIncrease = (i == 0)
- ? INITIAL_LOAD - WARMUP_LOAD // increase from warmup to initial load
- : LOAD_INCREASE; // increase load between measurements
-
- increaseLoadBy(loadIncrease);
- measurePerformance();
-
- if (!isThereEnoughThreadsForNextIteration(LOAD_INCREASE)) {
- LOG.warn("Threadpool capacity reached. Stopping the test.");
- break;
- }
- if (!isLatestMeasurementWithinLimits()) {
- LOG.warn("The latest measurement exceeded expected limit. Stopping the test.");
- break;
- }
- }
-
- }
-
- private void warmup() {
- LOG.info("Warming up for " + WARMUP_DURATION + " s");
- pauseWithErrorChecking(WARMUP_DURATION * 1000);
- }
-
- private boolean isThereEnoughThreadsForNextIteration(int loadIncrease) {
- return currentLoad + loadIncrease <= MAX_THREADS;
- }
-
- private void increaseLoadBy(int loadIncrease) {
- if (loadIncrease < 0) {
- throw new IllegalArgumentException("Cannot increase load by a negative number (" + loadIncrease + ").");
- }
- if (!isThereEnoughThreadsForNextIteration(loadIncrease)) {
- throw new IllegalArgumentException("Cannot increase load beyond threadpool capacity (" + MAX_THREADS + ").");
- }
- if (loadIncrease > 0) {
- LOG.info(String.format("Increasing load from %s to %s at +%s clients/s.", currentLoad, currentLoad + loadIncrease, LOAD_INCREASE_RATE));
- for (int t = 0; t < loadIncrease; t++) {
- executorService.submit(newRunnable());
- currentLoad++;
- pauseWithErrorChecking(1000 / LOAD_INCREASE_RATE);
- }
- }
- }
-
- private void measurePerformance() {
- PerformanceMeasurement measurement = new PerformanceMeasurement(currentLoad);
- statistics.reset();
- timeoutStatistics.reset();
-
- LOG.info(String.format("Measuring performance. Iteration: %s, Load: %s, Duration: %s s", measurements.size() + 1, currentLoad, MEASUREMENT_DURATION));
-
- pauseWithErrorChecking(MEASUREMENT_DURATION * 1000);
-
- measurement.setStatistics(
- statistics.snapshot(),
- timeoutStatistics.snapshot());
- measurements.add(measurement);
-
- measurement.printToCSV(getTestName());
- measurement.printToLog();
- }
-
- private Throwable error = null;
-
- public synchronized Throwable getError() {
- return error;
- }
-
- public synchronized void setError(Throwable error) {
- this.error = error;
- }
-
- protected void pauseWithErrorChecking(long millis) {
- pauseWithErrorChecking(millis, 1000);
- }
-
- protected void pauseWithErrorChecking(long millis, long checkDurationMillis) {
- long checkDurationMillisMin = Math.min(millis, checkDurationMillis);
- long checkCount = millis / checkDurationMillis;
- long remainder = millis % checkDurationMillis;
- LOG.debug(String.format("Pause %s ms, checking errors once per %s ms", millis, checkDurationMillisMin));
- for (int i = 0; i < checkCount + 1; i++) { // loop 'count' times + once for remainder
- if (i < checkCount || remainder > 0) { // on last iteration check if any remainder
- pause(checkDurationMillisMin);
- if (getError() != null) {
- throw new RuntimeException("PerformanceTestRunnable threw an exception. Stopping the test.", getError());
- }
- }
- }
- }
-
- protected PerformanceMeasurement getLatestMeasurement() {
- return measurements.isEmpty() ? null : measurements.get(measurements.size() - 1);
- }
-
- protected boolean isLatestMeasurementWithinLimits() {
- return isMeasurementWithinLimits(getLatestMeasurement());
- }
-
- protected abstract boolean isMeasurementWithinLimits(PerformanceMeasurement measurement);
-
- protected abstract Runnable newRunnable();
-
- public abstract class Runnable extends LoopingRunnable {
-
- protected final Timer timer; // for timing individual operations/requests
- private final Timer scenarioTimer; // for timing the whole scenario
-
- public Runnable() {
- super(SLEEP_BETWEEN_LOOPS * 1000);
- this.timer = new Timer();
- this.scenarioTimer = new Timer();
- }
-
- @Override
- public void loop() {
- try {
- scenarioTimer.reset();
- performanceScenario();
- statistics.addValue(SCENARIO_TIME, scenarioTimer.getElapsedTime());
- } catch (OperationTimeoutException ex) {
- timeoutStatistics.addValue(ex.getStatistic(), ex.getValue());
- LOG.debug(String.format("Operation %s timed out. Cause: %s.", ex.getStatistic(), ex.getCause()));
- } catch (AssertionError | Exception ex) {
- setError(ex);
- throw new RuntimeException(ex);
- }
- }
-
- public abstract void performanceScenario() throws Exception;
-
- }
-
- public String getTestName() {
- return this.getClass().getSimpleName();
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/Timer.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/Timer.java
deleted file mode 100644
index 8edb3267378..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/Timer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.keycloak.testsuite.performance;
-
-import java.util.Date;
-
-/**
- *
- * @author tkyjovsk
- */
-public final class Timer {
-
- private long time;
-
- public Timer() {
- reset();
- }
-
- public long reset() {
- time = new Date().getTime();
- return time;
- }
-
- public long getElapsedTime() {
- return new Date().getTime() - time;
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java
deleted file mode 100644
index b4ba6a36c42..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.keycloak.testsuite.performance.htmlunit;
-
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.graphene.page.Page;
-import org.jboss.logging.Logger;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Before;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
-import org.keycloak.testsuite.performance.OperationTimeoutException;
-import org.keycloak.testsuite.performance.PerformanceMeasurement;
-import org.keycloak.testsuite.performance.PerformanceTest;
-import org.keycloak.testsuite.performance.page.AppProfileJEE;
-import org.openqa.selenium.By;
-import org.openqa.selenium.TimeoutException;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import static org.junit.Assert.assertTrue;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.ACCESS_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_VERIFY_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_VERIFY_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.PASSWORD_HASH_ITERATIONS;
-import static org.keycloak.testsuite.utils.io.IOUtil.loadRealm;
-
-/**
- *
- * @author tkyjovsk
- */
-@AppServerContainer("app-server-remote")
-public class HtmlUnitLoginLogoutPerfTest extends HtmlUnitPerformanceTest {
-
- private static final Logger LOG = Logger.getLogger(HtmlUnitLoginLogoutPerfTest.class);
-
- private static final String EXAMPLES = "Examples";
-
- private String unsecuredUrl;
- private String securedUrl;
- private String username;
- private String password;
- private String loginPageUrl;
-
- @Page
- protected AppProfileJEE appProfileJEEPage;
-
- protected static WebArchive warDeployment(String filename) throws IOException {
- return ShrinkWrap.createFromZipFile(WebArchive.class,
- new File(EXAMPLES_HOME + "/" + filename + ".war"))
- .addAsWebInfResource(jbossDeploymentStructure, JBOSS_DEPLOYMENT_STRUCTURE_XML);
- }
-
- @Deployment(name = AppProfileJEE.DEPLOYMENT_NAME)
- private static WebArchive appProfileJEE() throws IOException {
- return warDeployment("keycloak-quickstart-app-profile-jee-0.5-SNAPSHOT");
- }
-
- @Override
- public void setDefaultPageUriParameters() {
- super.setDefaultPageUriParameters();
- testRealmPage.setAuthRealm(EXAMPLES);
- }
-
- @Override
- public void addAdapterTestRealms(List testRealms) {
- RealmRepresentation examplesRealm = loadRealm("/examples-realm.json");
- examplesRealm.setPasswordPolicy("hashIterations(" + PASSWORD_HASH_ITERATIONS + ")");
- testRealms.add(examplesRealm);
- }
-
- @Before
- public void beforeLoginLogoutTest() {
- unsecuredUrl = appProfileJEEPage + "/index.jsp";
- securedUrl = appProfileJEEPage + "/profile.jsp";
- username = "secure-user";
- password = "password";
- loginPageUrl = testRealmLoginPage.toString();
- }
-
- @Override
- public PerformanceTest.Runnable newRunnable() {
- return new Runnable();
- }
-
- @Override
- protected boolean isMeasurementWithinLimits(PerformanceMeasurement measurement) {
- return LoginLogoutTestParameters.isMeasurementWithinLimits(measurement);
- }
-
- public class Runnable extends HtmlUnitPerformanceTest.Runnable {
-
- @Override
- public void performanceScenario() throws Exception {
- LOG.trace(String.format("Starting login-logout scenario #%s", getLoopCounter()));
- driver.manage().deleteAllCookies();
-
- // ACCESS
- LOG.trace(String.format("Accessing secured URL: %s", securedUrl));
- try {
- timer.reset();
- driver.get(securedUrl);
- assertTrue(driver.getCurrentUrl().startsWith(loginPageUrl));
- } catch (TimeoutException ex) {
- throw new OperationTimeoutException(ACCESS_REQUEST_TIME, ex);
- }
- statistics.addValue(ACCESS_REQUEST_TIME, timer.getElapsedTime());
-
- // LOGIN
- LOG.trace("Logging in");
- try {
- driver.findElement(By.id("username")).clear();
- driver.findElement(By.id("username")).sendKeys(username);
- driver.findElement(By.id("password")).clear();
- driver.findElement(By.id("password")).sendKeys(password);
- timer.reset();
- driver.findElement(By.name("login")).click();
- assertTrue(driver.getCurrentUrl().equals(securedUrl));
- } catch (TimeoutException ex) {
- throw new OperationTimeoutException(LOGIN_REQUEST_TIME, ex);
- }
- statistics.addValue(LOGIN_REQUEST_TIME, timer.getElapsedTime());
-
- // VERIFY LOGIN
- LOG.trace("Verifying login");
- try {
- timer.reset();
- driver.get(securedUrl);
- assertTrue(driver.getCurrentUrl().equals(securedUrl));
- } catch (TimeoutException ex) {
- throw new OperationTimeoutException(LOGIN_VERIFY_REQUEST_TIME, ex);
- }
- statistics.addValue(LOGIN_VERIFY_REQUEST_TIME, timer.getElapsedTime());
-
- // LOGOUT
- LOG.trace("Logging out");
- try {
- timer.reset();
- driver.findElement(By.xpath("//button[text()='Logout']")).click();
- assertTrue(driver.getCurrentUrl().startsWith(unsecuredUrl));
- } catch (TimeoutException ex) {
- throw new OperationTimeoutException(LOGOUT_REQUEST_TIME, ex);
- }
- statistics.addValue(LOGOUT_REQUEST_TIME, timer.getElapsedTime());
-
- // VERIFY LOGOUT
- LOG.trace("Verifying logout");
- try {
- timer.reset();
- driver.get(securedUrl);
- assertTrue(driver.getCurrentUrl().startsWith(loginPageUrl));
- } catch (TimeoutException ex) {
- throw new OperationTimeoutException(LOGOUT_VERIFY_REQUEST_TIME, ex);
- }
- statistics.addValue(LOGOUT_VERIFY_REQUEST_TIME, timer.getElapsedTime());
-
- LOG.trace("Logged out");
- }
-
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitPerformanceTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitPerformanceTest.java
deleted file mode 100644
index ae9dd5070f1..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitPerformanceTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.keycloak.testsuite.performance.htmlunit;
-
-import com.gargoylesoftware.htmlunit.WebClient;
-import org.keycloak.testsuite.performance.PerformanceTest;
-
-/**
- *
- * @author tkyjovsk
- */
-public abstract class HtmlUnitPerformanceTest extends PerformanceTest {
-
- public abstract class Runnable extends PerformanceTest.Runnable {
-
- protected HtmlUnitDriver driver;
-
- public Runnable() {
- driver = new HtmlUnitDriver(true, false);
- }
-
- public final class HtmlUnitDriver extends org.openqa.selenium.htmlunit.HtmlUnitDriver {
-
- public HtmlUnitDriver(boolean javaScriptEnabled, boolean cssEnabled) {
- getWebClient().getOptions().setJavaScriptEnabled(javaScriptEnabled);
- getWebClient().getOptions().setCssEnabled(cssEnabled);
- }
-
- @Override
- public WebClient getWebClient() {
- return super.getWebClient();
- }
-
- }
-
- }
-
-}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java
deleted file mode 100644
index 40a188f40a2..00000000000
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package org.keycloak.testsuite.performance.httpclient;
-
-import org.apache.http.Header;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.util.EntityUtils;
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.graphene.page.Page;
-import org.jboss.logging.Logger;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Before;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
-import org.keycloak.testsuite.performance.OperationTimeoutException;
-import org.keycloak.testsuite.performance.PerformanceMeasurement;
-import org.keycloak.testsuite.performance.PerformanceTest;
-import org.keycloak.testsuite.performance.page.AppProfileJEE;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static java.net.HttpURLConnection.HTTP_OK;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.ACCESS_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_VERIFY_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_VERIFY_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.PASSWORD_HASH_ITERATIONS;
-import static org.keycloak.testsuite.utils.io.IOUtil.loadRealm;
-
-/**
- *
- * @author tkyjovsk
- */
-@AppServerContainer("app-server-remote")
-public class HttpClientLoginLogoutPerfTest extends HttpClientPerformanceTest {
-
- private static final Logger LOG = Logger.getLogger(HttpClientLoginLogoutPerfTest.class);
-
- private static final String TEST_REALM = "Test";
-
- private String securedUrl;
- private String logoutUrl;
- private String username;
- private String password;
- private String loginPageUrl;
-
- @Page
- protected AppProfileJEE appProfileJEEPage;
-
- protected static WebArchive warDeployment(String filename) throws IOException {
- return ShrinkWrap.createFromZipFile(WebArchive.class,
- new File(EXAMPLES_HOME + "/" + filename + ".war"))
- .addAsWebInfResource(jbossDeploymentStructure, JBOSS_DEPLOYMENT_STRUCTURE_XML);
- }
-
- @Deployment(name = AppProfileJEE.DEPLOYMENT_NAME)
- private static WebArchive appProfileJEE() throws IOException {
- return exampleDeployment("keycloak-test-app-profile-jee");
- }
-
- @Override
- public void setDefaultPageUriParameters() {
- super.setDefaultPageUriParameters();
- testRealmPage.setAuthRealm(TEST_REALM);
- }
-
- @Override
- public void addAdapterTestRealms(List testRealms) {
- RealmRepresentation examplesRealm = loadRealm("/test-realm.json");
- examplesRealm.setPasswordPolicy("hashIterations(" + PASSWORD_HASH_ITERATIONS + ")");
- testRealms.add(examplesRealm);
- }
-
- @Before
- public void beforeLoginLogoutTest() {
- securedUrl = appProfileJEEPage + "/profile.jsp";
- logoutUrl = appProfileJEEPage + "/index.jsp?logout=true";
- username = "secure-user";
- password = "password";
- loginPageUrl = testRealmLoginPage.toString();
- }
-
- @Override
- public PerformanceTest.Runnable newRunnable() {
- return new Runnable();
- }
-
- @Override
- protected boolean isMeasurementWithinLimits(PerformanceMeasurement measurement) {
- return LoginLogoutTestParameters.isMeasurementWithinLimits(measurement);
- }
-
- public class Runnable extends HttpClientPerformanceTest.Runnable {
-
- @Override
- public void performanceScenario() throws IOException, OperationTimeoutException {
- LOG.trace(String.format("Starting login-logout scenario #%s", getLoopCounter()));
- context.getCookieStore().clear();
-
- // ACCESS
- String pageContent;
- final HttpGet getSecuredPageRequest = new HttpGet(securedUrl);
- LOG.trace(String.format("Accessing secured URL: %s", getSecuredPageRequest));
- LOG.trace(getSecuredPageRequest);
- timer.reset();
- try (CloseableHttpResponse r = client.execute(getSecuredPageRequest, context)) {
- assertEquals("ACCESS_REQUEST OK", HTTP_OK, r.getStatusLine().getStatusCode());
- logRedirects();
- assertEquals("ACCESS_REQUEST has 1 redirect", 1, context.getRedirectLocations().size());
- assertTrue("ACCESS_REQUEST redirects to login page", getLastRedirect().toASCIIString().startsWith(loginPageUrl));
- pageContent = EntityUtils.toString(r.getEntity());
- } catch (SocketException ex) {
- throw new OperationTimeoutException(ACCESS_REQUEST_TIME, ex);
- } catch (SocketTimeoutException ex) {
- throw new OperationTimeoutException(ACCESS_REQUEST_TIME, ex.bytesTransferred, ex);
- }
- statistics.addValue(ACCESS_REQUEST_TIME, timer.getElapsedTime());
-
- // LOGIN
- final HttpPost loginRequest = new HttpPost(getLoginUrlFromPage(pageContent));
- List credentials = new ArrayList<>();
- credentials.add(new BasicNameValuePair("username", username));
- credentials.add(new BasicNameValuePair("password", password));
- loginRequest.setEntity(new UrlEncodedFormEntity(credentials));
-
- LOG.trace("Logging in");
- LOG.trace(loginRequest);
- timer.reset();
- try (CloseableHttpResponse r = client.execute(loginRequest, context)) {
- assertEquals("LOGIN_REQUEST OK", HTTP_OK, r.getStatusLine().getStatusCode());
- logRedirects();
- assertEquals("LOGIN_REQUEST has 2 redirects", 2, context.getRedirectLocations().size());
- assertTrue("LOGIN_REQUEST redirects to secured page", getLastRedirect().toASCIIString().equals(securedUrl));
- } catch (SocketException ex) {
- throw new OperationTimeoutException(LOGIN_REQUEST_TIME, ex);
- } catch (SocketTimeoutException ex) {
- throw new OperationTimeoutException(LOGIN_REQUEST_TIME, ex.bytesTransferred, ex);
- }
- statistics.addValue(LOGIN_REQUEST_TIME, timer.getElapsedTime());
-
- // VERIFY LOGIN
- LOG.trace("Verifying login");
- LOG.trace(getSecuredPageRequest);
- timer.reset();
- try (CloseableHttpResponse r = client.execute(getSecuredPageRequest, context)) {
- assertEquals("LOGIN_VERIFY_REQUEST OK", HTTP_OK, r.getStatusLine().getStatusCode());
- logRedirects();
- assertEquals("LOGIN_VERIFY_REQUEST has 0 redirects", 0, context.getRedirectLocations().size());
- } catch (SocketException ex) {
- throw new OperationTimeoutException(LOGIN_VERIFY_REQUEST_TIME, ex);
- } catch (SocketTimeoutException ex) {
- throw new OperationTimeoutException(LOGIN_VERIFY_REQUEST_TIME, ex.bytesTransferred, ex);
- }
- statistics.addValue(LOGIN_VERIFY_REQUEST_TIME, timer.getElapsedTime());
-
- // LOGOUT
- final HttpGet logoutRequest = new HttpGet(logoutUrl);
- LOG.trace("Logging out");
- LOG.trace(logoutRequest);
- timer.reset();
- try (CloseableHttpResponse r = client.execute(logoutRequest, context)) {
- assertEquals("LOGOUT_REQUEST OK", HTTP_OK, r.getStatusLine().getStatusCode());
- logRedirects();
- assertEquals("LOGOUT_REQUEST has 0 redirects", 0, context.getRedirectLocations().size());
- } catch (SocketException ex) {
- throw new OperationTimeoutException(LOGOUT_REQUEST_TIME, ex);
- } catch (SocketTimeoutException ex) {
- throw new OperationTimeoutException(LOGOUT_REQUEST_TIME, ex.bytesTransferred, ex);
- }
- statistics.addValue(LOGOUT_REQUEST_TIME, timer.getElapsedTime());
-
- // VERIFY LOGOUT
- LOG.trace("Verifying logout");
- LOG.trace(getSecuredPageRequest);
- timer.reset();
- try (CloseableHttpResponse r = client.execute(getSecuredPageRequest, context)) {
- assertEquals("LOGOUT_VERIFY_REQUEST OK", HTTP_OK, r.getStatusLine().getStatusCode());
- logRedirects();
- assertEquals("LOGOUT_VERIFY_REQUEST has 1 redirect", 1, context.getRedirectLocations().size());
- assertTrue("LOGOUT_VERIFY_REQUEST redirects to login page", getLastRedirect().toASCIIString().startsWith(loginPageUrl));
- } catch (SocketException ex) {
- throw new OperationTimeoutException(LOGOUT_VERIFY_REQUEST_TIME, ex);
- } catch (SocketTimeoutException ex) {
- throw new OperationTimeoutException(LOGOUT_VERIFY_REQUEST_TIME, ex.bytesTransferred, ex);
- }
- statistics.addValue(LOGOUT_VERIFY_REQUEST_TIME, timer.getElapsedTime());
-
- LOG.trace("Logged out");
-
- }
-
- private URI getLastRedirect() {
- return context.getRedirectLocations().get(context.getRedirectLocations().size() - 1);
- }
-
- private void logRedirects() {
- int i = 0;
- for (URI uri : context.getRedirectLocations()) {
- LOG.trace(String.format("--> REDIRECT %s: %s", ++i, uri.toASCIIString()));
- }
- }
-
- public String getRedirectLocation(CloseableHttpResponse r) {
- Header locationHeader = r.getFirstHeader("Location");
- assertNotNull(locationHeader);
- return locationHeader.getValue();
- }
-
- private String getLoginUrlFromPage(String content) {
- String formActionRegex = "