keycloak-aplcache
Changes
testsuite/integration-arquillian/pom.xml 90(+66 -24)
testsuite/integration-arquillian/servers/app-server/jboss/as7/src/saml-adapter-not-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/jboss/common/add-adapter-log-level.xsl 14(+4 -10)
testsuite/integration-arquillian/servers/app-server/jboss/common/keystore/keycloak.truststore 0(+0 -0)
testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/jboss/wildfly/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/src/saml-adapter-not-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/install-features.cli 6(+6 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/uninstall-pax.cli 5(+5 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/users.properties 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/saml-adapter-not-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/install-features.cli 3(+3 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/users.properties 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/saml-adapter-not-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/install-features.cli 5(+5 -0)
testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/users.properties 2(+2 -0)
testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/saml-adapter-not-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/src/saml-adapter-supported 1(+1 -0)
testsuite/integration-arquillian/servers/auth-server/jboss/common/keystore/keycloak.truststore 0(+0 -0)
testsuite/integration-arquillian/servers/auth-server/jboss/eap/src/main/resources/xslt/module.xsl 0(+0 -0)
testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/src/main/xslt/module.xsl 0(+0 -0)
testsuite/integration-arquillian/servers/auth-server/undertow/src/main/java/org/keycloak/testsuite/arquillian/undertow/KeycloakOnUndertow.java 10(+5 -5)
testsuite/integration-arquillian/servers/auth-server/undertow/src/main/java/org/keycloak/testsuite/arquillian/undertow/KeycloakOnUndertowArquillianExtension.java 6(+3 -3)
testsuite/integration-arquillian/servers/auth-server/undertow/src/main/java/org/keycloak/testsuite/arquillian/undertow/KeycloakOnUndertowConfiguration.java 2(+1 -1)
testsuite/integration-arquillian/servers/auth-server/undertow/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension 1(+1 -0)
testsuite/integration-arquillian/servers/pom.xml 91(+52 -39)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AdapterLibsLocationProperty.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java 44(+21 -23)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java 89(+39 -50)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java 33(+5 -28)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java 4(+0 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java 12(+1 -11)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/eap6/src/main/keystore/keycloak.truststore 0(+0 -0)
testsuite/integration-arquillian/tests/other/adapters/eap6/src/main/xslt/arquillian_jdk.xsl 47(+0 -47)
testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/keycloak.truststore 0(+0 -0)
testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/xslt/add-adapter-log-level.xsl 50(+0 -50)
testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/xslt/arquillian_jdk.xsl 47(+0 -47)
testsuite/integration-arquillian/tests/other/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7CorsExampleAdapterTest.java 15(+0 -15)
testsuite/integration-arquillian/tests/other/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SAMLServletsAdapterTest.java 13(+0 -13)
testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/AS7OIDCAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/AS7OIDCSessionAdapterTest.java 12(+5 -7)
testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/example/AS7BasicAuthExampleAdapterTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/example/AS7DemoExampleAdapterTest.java 9(+4 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java 16(+16 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCSessionAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPBasicAuthExampleAdapterTest.java 9(+4 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPDemoExampleAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPSAMLExampleAdapterTest.java 8(+3 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java 10(+5 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCSessionAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLAdapterTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6BasicAuthExampleAdapterTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6DemoExampleAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6JSConsoleExampleAdapterTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6SAMLExampleAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPBasicAuthExampleAdapterTest.java 8(+3 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPCorsExampleAdapterTest.java 10(+10 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPDemoExampleAdapterTest.java 10(+10 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPJSConsoleExampleAdapterTest.java 10(+10 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPSAMLExampleAdapterTest.java 10(+10 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCSessionAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPSAMLAdapterTest.java 11(+11 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/RelativeWildflyBasicAuthExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/RelativeWildflyCorsExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/RelativeWildflyDemoExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/RelativeWildflyJSConsoleExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/RelativeWildflySAMLExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCSessionAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflySAMLAdapterTest.java 11(+11 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/resources/web.xml 0(+0 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflyBasicAuthExampleAdapterTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflyDemoExampleAdapterTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflySAMLExampleAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCAdapterTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCSessionAdapterTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflySAMLAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly8BasicAuthExampleAdapterTest.java 5(+2 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly8DemoExampleAdapterTest.java 9(+5 -4)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCSessionAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9BasicAuthExampleAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9DemoExampleAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9SAMLExampleAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCSessionAdapterTest.java 14(+14 -0)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/karaf/fuse61/src/test/java/org/keycloak/testsuite/adapter/example/Fuse61ExampleAdapterTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/other/adapters/karaf/fuse62/src/test/java/org/keycloak/testsuite/adapter/example/Fuse62ExampleAdapterTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/adapters/karaf/karaf3/src/test/java/org/keycloak/testsuite/adapter/example/Karaf3ExampleAdapterTest.java 9(+3 -6)
testsuite/integration-arquillian/tests/other/adapters/karaf/src/main/java/org/keycloak/testsuite/arquillian/karaf/CustomKarafContainer.java 114(+0 -114)
testsuite/integration-arquillian/tests/other/adapters/karaf/src/main/java/org/keycloak/testsuite/arquillian/karaf/CustomKarafContainerConfiguration.java 25(+0 -25)
testsuite/integration-arquillian/tests/other/adapters/karaf/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension 18(+0 -18)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat7BasicAuthExampleAdapterTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat7DemoExampleAdapterTest.java 9(+3 -6)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/src/test/java/org/keycloak/testsuite/adapter/Tomcat7OIDCAdapterTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/src/test/java/org/keycloak/testsuite/adapter/Tomcat7OIDCSessionAdapterTest.java 9(+4 -5)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat8BasicAuthExampleAdapterTest.java 8(+2 -6)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat8DemoExampleAdapterTest.java 12(+12 -0)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/Tomcat8OIDCAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/Tomcat8OIDCSessionAdapterTest.java 9(+4 -5)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat9BasicAuthExampleAdapterTest.java 8(+3 -5)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat9DemoExampleAdapterTest.java 12(+5 -7)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCSessionAdapterTest.java 13(+13 -0)
testsuite/integration-arquillian/tests/other/adapters/wildfly/src/main/keystore/adapter.jks 0(+0 -0)
testsuite/integration-arquillian/tests/other/adapters/wildfly/src/main/keystore/keycloak.truststore 0(+0 -0)
testsuite/integration-arquillian/tests/other/adapters/wildfly/src/main/xslt/add-adapter-log-level.xsl 50(+0 -50)
testsuite/integration-arquillian/tests/other/adapters/wildfly/src/main/xslt/arquillian.xsl 52(+0 -52)
testsuite/integration-arquillian/tests/other/adapters/wildfly/src/main/xslt/standalone.xsl 68(+0 -68)
testsuite/integration-arquillian/tests/other/adapters/wildfly8/src/main/xslt/arquillian.xsl 52(+0 -52)
testsuite/integration-arquillian/tests/other/adapters/wildfly-relative/src/main/xslt/standalone.xsl 70(+0 -70)
testsuite/integration-arquillian/tests/other/adapters/wildfly-relative/src/test/java/org/keycloak/testsuite/adapter/servlet/WildflyRelativeSAMLServletsAdapterTest.java 11(+0 -11)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java 39(+23 -16)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/RequiredActions.java 3(+0 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java 114(+113 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java 2(+0 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java 3(+0 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java 147(+43 -104)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java 4(+0 -4)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java 7(+1 -6)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java 4(+0 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java 2(+0 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java 152(+118 -34)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java 6(+2 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java 27(+13 -14)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java 89(+43 -46)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java 8(+3 -5)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java 29(+4 -25)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java 4(+3 -1)
testsuite/integration-arquillian/tests/other/jpa-performance/src/test/resources/log4j.properties 61(+0 -61)
testsuite/integration-arquillian/tests/pom.xml 1298(+544 -754)
Details
testsuite/integration-arquillian/pom.xml 90(+66 -24)
diff --git a/testsuite/integration-arquillian/pom.xml b/testsuite/integration-arquillian/pom.xml
index f63f3ec..8941e6a 100644
--- a/testsuite/integration-arquillian/pom.xml
+++ b/testsuite/integration-arquillian/pom.xml
@@ -1,20 +1,20 @@
<?xml version="1.0"?>
<!--
- ~ Copyright 2016 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.
- -->
+~ Copyright 2016 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.
+-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
@@ -34,10 +34,52 @@
<name>Keycloak Arquillian Integration TestSuite</name>
- <modules>
- <module>servers</module>
- <module>tests</module>
- </modules>
+ <properties>
+
+ <containers.home>${project.build.directory}/containers</containers.home>
+ <auth.server.java.home>${java.home}</auth.server.java.home>
+ <app.server.java.home>${java.home}</app.server.java.home>
+
+ <!--component versions-->
+ <arquillian-core.version>1.1.11.Final</arquillian-core.version>
+ <selenium.version>2.52.0</selenium.version>
+ <arquillian-drone.version>2.0.0.Beta1</arquillian-drone.version>
+ <arquillian-graphene.version>2.1.0.Alpha3</arquillian-graphene.version>
+ <arquillian-wildfly-container.version>8.2.0.Final</arquillian-wildfly-container.version>
+ <version.shrinkwrap.resolvers>2.2.2</version.shrinkwrap.resolvers>
+
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.selenium</groupId>
+ <artifactId>selenium-bom</artifactId>
+ <version>${selenium.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-bom</artifactId>
+ <version>${arquillian-core.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.extension</groupId>
+ <artifactId>arquillian-drone-bom</artifactId>
+ <version>${arquillian-drone.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-arquillian-container-managed</artifactId>
+ <version>${arquillian-wildfly-container.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<build>
<pluginManagement>
@@ -52,13 +94,13 @@
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.1</version>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.10</version>
- </plugin>
</plugins>
</pluginManagement>
</build>
+ <modules>
+ <module>servers</module>
+ <module>tests</module>
+ </modules>
+
</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/as7/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/as7/pom.xml
new file mode 100644
index 0000000..cdeabbd
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/as7/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-as7</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - JBossAS 7</name>
+
+ <properties>
+
+ <!-- NOTE: AS7 doesn't work with JDK 8. Use: -Dapp.server.java.home=PATH_TO_JDK_7_HOME -->
+
+ <!-- NOTE: SSL configuration doesn't work for AS 7.1.1. See: https://issues.jboss.org/browse/AS7-4698 -->
+
+ <app.server.jboss>as7</app.server.jboss>
+
+ <app.server.jboss.groupId>org.jboss.as</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>jboss-as-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${jboss.as.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>jboss-as-${jboss.as.version}</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-as7-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-as7-adapter-dist</app.server.saml.adapter.artifactId>
+
+ <app.server.java.home>${java7.home}</app.server.java.home>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>java7.home</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/as7/src/saml-adapter-not-supported b/testsuite/integration-arquillian/servers/app-server/jboss/as7/src/saml-adapter-not-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/as7/src/saml-adapter-not-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.bat b/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.bat
new file mode 100644
index 0000000..b78f873
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.bat
@@ -0,0 +1,35 @@
+set NOPAUSE=true
+
+start "JBoss Server" /b cmd /c %JBOSS_HOME%\bin\standalone.bat
+
+set ERROR=0
+set TIMEOUT=10
+set I=0
+
+ping 127.0.0.1 -n 3 > nul
+
+
+:wait_for_jboss
+call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":read-attribute(name=server-state)" | findstr "running"
+if %ERRORLEVEL% equ 0 goto install_adapters
+ping 127.0.0.1 -n 1 > nul
+set /a I=%I%+1
+if %I% gtr %TIMEOUT% (
+ set ERROR=1
+ goto shutdown_jboss
+)
+goto wait_for_jboss
+
+
+:install_adapters
+call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install.cli"
+if %ERRORLEVEL% neq 0 set ERROR=%ERRORLEVEL%
+if "%SAML_SUPPORTED%" == "true" (
+ call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install-saml.cli"
+ if %ERRORLEVEL% neq 0 set ERROR=%ERRORLEVEL%
+)
+
+
+:shutdown_jboss
+call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":shutdown"
+exit /b %ERROR%
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.sh b/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.sh
new file mode 100755
index 0000000..4605992
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/common/install-adapters.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+echo "JBOSS_HOME=$JBOSS_HOME"
+
+if [ ! -d "$JBOSS_HOME/bin" ] ; then
+ >&2 echo "JBOSS_HOME/bin doesn't exist"
+ exit 1
+fi
+
+cd $JBOSS_HOME/bin
+
+./standalone.sh &
+sleep 3
+
+TIMEOUT=10
+DELAY=1
+T=0
+
+RESULT=0
+
+until [ $T -gt $TIMEOUT ]
+do
+ if ./jboss-cli.sh -c --command=":read-attribute(name=server-state)" | grep -q "running" ; then
+ echo "Server is running. Installing adapter."
+
+ ./jboss-cli.sh -c --file="adapter-install.cli"
+ if [ $? -ne 0 ]; then RESULT=1; fi
+
+ if [ "$SAML_SUPPORTED" = true ]; then
+ ./jboss-cli.sh -c --file="adapter-install-saml.cli"
+ if [ $? -ne 0 ]; then RESULT=1; fi
+ fi
+
+ ./jboss-cli.sh -c --command=":shutdown"
+ rm -rf $JBOSS_HOME/standalone/data
+ rm -rf $JBOSS_HOME/standalone/log
+
+ exit $RESULT
+ fi
+ echo "Server is not running."
+ sleep $DELAY
+ let T=$T+$DELAY
+done
+
+exit 1
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/eap/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/eap/pom.xml
new file mode 100644
index 0000000..a517503
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/eap/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-eap</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - EAP</name>
+
+ <properties>
+ <app.server.jboss>eap</app.server.jboss>
+
+ <app.server.jboss.groupId>org.jboss.eap</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>wildfly-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${eap.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>jboss-eap-7.0</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-wildfly-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/eap/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/eap/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/eap/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/eap6/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/eap6/pom.xml
new file mode 100644
index 0000000..5b816ba
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/eap6/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-eap6</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - EAP 6</name>
+
+ <properties>
+ <app.server.jboss>eap6</app.server.jboss>
+
+ <app.server.jboss.groupId>org.jboss.as</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>jboss-as-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${eap6.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>jboss-eap-6.4</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-eap6-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-eap6-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-auth-server-jboss-profile</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>eap6.version</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/eap6/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/eap6/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/eap6/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/pom.xml
new file mode 100644
index 0000000..1024528
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss-relative</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-relative-eap</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Relative EAP</name>
+
+ <properties>
+ <auth.server.jboss>eap</auth.server.jboss>
+ <app.server.jboss.artifactId>integration-arquillian-servers-auth-server-eap</app.server.jboss.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/relative/eap/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/relative/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/relative/pom.xml
new file mode 100644
index 0000000..8098c09
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/relative/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-jboss-relative</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Relative</name>
+
+ <properties>
+ <common.resources>${project.parent.parent.basedir}/common</common.resources>
+ <assembly.xml>${project.parent.parent.basedir}/assembly.xml</assembly.xml>
+
+ <app.server.jboss>relative-${auth.server.jboss}</app.server.jboss>
+
+ <app.server.jboss.groupId>org.keycloak.testsuite</app.server.jboss.groupId>
+ <app.server.jboss.version>${project.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>auth-server-${auth.server.jboss}</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-wildfly-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>auth-server-wildfly</id>
+ <modules>
+ <module>wildfly</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>auth-server-eap</id>
+ <modules>
+ <module>eap</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/pom.xml
new file mode 100644
index 0000000..bc84c4b
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss-relative</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-relative-wildfly</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Relative Wildfly</name>
+
+ <properties>
+ <auth.server.jboss>wildfly</auth.server.jboss>
+ <app.server.jboss.artifactId>integration-arquillian-servers-auth-server-wildfly</app.server.jboss.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/relative/wildfly/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/pom.xml
new file mode 100644
index 0000000..445a6de
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-wildfly</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Wildfly</name>
+
+ <properties>
+ <app.server.jboss>wildfly</app.server.jboss>
+
+ <app.server.jboss.groupId>org.wildfly</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>wildfly-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${wildfly.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>wildfly-${wildfly.version}</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-wildfly-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/pom.xml
new file mode 100644
index 0000000..c6e81d0
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-wildfly8</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Wildfly 8</name>
+
+ <properties>
+ <app.server.jboss>wildfly8</app.server.jboss>
+
+ <app.server.jboss.groupId>org.wildfly</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>wildfly-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${wildfly8.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>wildfly-${wildfly8.version}</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-wf8-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/src/saml-adapter-not-supported b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/src/saml-adapter-not-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly8/src/saml-adapter-not-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/pom.xml b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/pom.xml
new file mode 100644
index 0000000..e689337
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-wildfly9</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - JBoss - Wildfly 9</name>
+
+ <properties>
+ <app.server.jboss>wildfly9</app.server.jboss>
+
+ <app.server.jboss.groupId>org.wildfly</app.server.jboss.groupId>
+ <app.server.jboss.artifactId>wildfly-dist</app.server.jboss.artifactId>
+ <app.server.jboss.version>${wildfly9.version}</app.server.jboss.version>
+ <app.server.jboss.unpacked.folder.name>wildfly-${wildfly9.version}</app.server.jboss.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-wildfly-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/jboss/wildfly9/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.bat b/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.bat
new file mode 100644
index 0000000..7abbf5a
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.bat
@@ -0,0 +1,38 @@
+set NOPAUSE=true
+echo "JAVA_HOME=%JAVA_HOME%"
+
+start "Karaf" /b cmd /c start.bat
+echo "Karaf container starting"
+ping 127.0.0.1 -n 5 > nul
+
+set ERROR=0
+set TIMEOUT=10
+set I=0
+
+:wait_for_karaf
+call client.bat %CLIENT_AUTH% info
+if %ERRORLEVEL% equ 0 goto install_features
+echo "Server is not reachable. Waiting."
+ping 127.0.0.1 -n 2 > nul
+set /a I=%I%+1
+if %I% gtr %TIMEOUT% (
+ set ERROR=1
+ goto shutdown_karaf
+)
+goto wait_for_karaf
+
+
+:install_features
+echo "Server is reachable. Installing features."
+if "%UNINSTALL_PAX%" == "true" (
+ call client.bat %CLIENT_AUTH% -f uninstall-pax.cli
+ if %ERRORLEVEL% neq 0 set ERROR=%ERRORLEVEL%
+)
+call client.bat %CLIENT_AUTH% -f install-features.cli
+if %ERRORLEVEL% neq 0 set ERROR=%ERRORLEVEL%
+
+
+:shutdown_karaf
+call stop.bat
+ping 127.0.0.1 -n 5 > nul
+exit /b %ERROR%
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.sh b/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.sh
new file mode 100755
index 0000000..4173908
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/common/install-features.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+echo "JAVA_HOME=$JAVA_HOME"
+
+./start
+echo "Karaf container starting"
+sleep 5
+
+TIMEOUT=10
+DELAY=1
+T=0
+
+RESULT=0
+
+until [ $T -gt $TIMEOUT ]
+do
+ if ./client $CLIENT_AUTH info; then
+ echo "Server is reachable."
+
+ if "$UNINSTALL_PAX" == "true"; then
+ echo "Uninstalling PAX"
+ ./client $CLIENT_AUTH -f uninstall-pax.cli
+ if [ $? -ne 0 ]; then RESULT=1; fi
+ fi
+
+ echo "Installing features."
+ ./client $CLIENT_AUTH -f install-features.cli
+ if [ $? -ne 0 ]; then RESULT=1; fi
+
+ ./stop
+ rm -rf ../data/log
+ rm -rf ../data/tmp
+
+ sleep 5
+
+ exit $RESULT
+ else
+ echo "Server is not reachable. Waiting."
+ sleep $DELAY
+ let T=$T+$DELAY
+ fi
+done
+
+./stop
+exit 1
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/pom.xml b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/pom.xml
new file mode 100644
index 0000000..3646c55
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-fuse61</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Karaf - JBoss Fuse 6.1</name>
+
+ <properties>
+ <app.server.karaf>fuse61</app.server.karaf>
+ <app.server.karaf.groupId>org.jboss.fuse</app.server.karaf.groupId>
+ <app.server.karaf.artifactId>jboss-fuse-full</app.server.karaf.artifactId>
+ <app.server.karaf.version>${fuse61.version}</app.server.karaf.version>
+ <app.server.karaf.unpacked.folder.name>jboss-fuse-${fuse61.version}</app.server.karaf.unpacked.folder.name>
+ <app.server.karaf.client.auth>-u admin -p admin</app.server.karaf.client.auth>
+ <app.server.karaf.uninstall.pax>true</app.server.karaf.uninstall.pax>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>fuse61.version</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/install-features.cli b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/install-features.cli
new file mode 100644
index 0000000..9ac9d77
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/install-features.cli
@@ -0,0 +1,6 @@
+features:addurl mvn:org.ops4j.pax.web/pax-web-features/3.1.2/xml/features
+features:addurl mvn:org.keycloak/keycloak-osgi-features/${project.version}/xml/features
+features:addurl mvn:org.keycloak.example.demo/keycloak-fuse-example-features/${project.version}/xml/features
+features:install keycloak-pax-web-upgrade
+features:install pax-http-whiteboard/3.1.2
+features:install pax-war/3.1.2
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/uninstall-pax.cli b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/uninstall-pax.cli
new file mode 100644
index 0000000..a1106a7
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/uninstall-pax.cli
@@ -0,0 +1,5 @@
+features:uninstall pax-war
+features:uninstall pax-http-whiteboard
+features:uninstall pax-http
+features:uninstall pax-jetty
+features:removeurl mvn:org.ops4j.pax.web/pax-web-features/3.0.6/xml/features
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/users.properties b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/users.properties
new file mode 100644
index 0000000..e6ba672
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/main/resources/users.properties
@@ -0,0 +1 @@
+admin=admin,admin
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/saml-adapter-not-supported b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/saml-adapter-not-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse61/src/saml-adapter-not-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/pom.xml b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/pom.xml
new file mode 100644
index 0000000..a40537f
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/pom.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-fuse62</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Karaf - JBoss Fuse 6.2</name>
+
+ <properties>
+ <app.server.karaf>fuse62</app.server.karaf>
+ <app.server.karaf.groupId>org.jboss.fuse</app.server.karaf.groupId>
+ <app.server.karaf.artifactId>jboss-fuse-full</app.server.karaf.artifactId>
+ <app.server.karaf.version>${fuse62.version}</app.server.karaf.version>
+ <app.server.karaf.unpacked.folder.name>jboss-fuse-${fuse62.version}</app.server.karaf.unpacked.folder.name>
+ <app.server.karaf.client.auth>-u admin -p admin</app.server.karaf.client.auth>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>fuse62.version</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/install-features.cli b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/install-features.cli
new file mode 100644
index 0000000..9ac71e3
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/install-features.cli
@@ -0,0 +1,3 @@
+features:addurl mvn:org.keycloak/keycloak-osgi-features/${project.version}/xml/features
+features:addurl mvn:org.keycloak.example.demo/keycloak-fuse-example-features/${project.version}/xml/features
+features:install keycloak-fuse-example
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/users.properties b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/users.properties
new file mode 100644
index 0000000..6c51920
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/main/resources/users.properties
@@ -0,0 +1 @@
+admin=admin,admin,manager,viewer,Monitor, Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/saml-adapter-not-supported b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/saml-adapter-not-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/fuse62/src/saml-adapter-not-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/pom.xml b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/pom.xml
new file mode 100644
index 0000000..67a7f9c
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-karaf3</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Karaf - Karaf 3</name>
+
+ <properties>
+ <app.server.karaf>karaf3</app.server.karaf>
+ <app.server.karaf.groupId>org.apache.karaf</app.server.karaf.groupId>
+ <app.server.karaf.artifactId>apache-karaf-minimal</app.server.karaf.artifactId>
+ <app.server.karaf.version>${karaf3.version}</app.server.karaf.version>
+ <app.server.karaf.unpacked.folder.name>apache-karaf-minimal-${karaf3.version}</app.server.karaf.unpacked.folder.name>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/install-features.cli b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/install-features.cli
new file mode 100644
index 0000000..1e011ea
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/install-features.cli
@@ -0,0 +1,5 @@
+feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.15.1/xml/features
+feature:repo-add mvn:org.apache.cxf.karaf/apache-cxf/3.0.4/xml/features
+feature:repo-add mvn:org.keycloak/keycloak-osgi-features/${project.version}/xml/features
+feature:repo-add mvn:org.keycloak.example.demo/keycloak-fuse-example-features/${project.version}/xml/features
+feature:install keycloak-fuse-example
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/users.properties b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/users.properties
new file mode 100644
index 0000000..61ad339
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/main/resources/users.properties
@@ -0,0 +1,2 @@
+karaf = karaf,_g_:admingroup
+_g_\:admingroup = group,admin,manager,viewer,webconsole
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/saml-adapter-not-supported b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/saml-adapter-not-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/karaf3/src/saml-adapter-not-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/karaf/pom.xml b/testsuite/integration-arquillian/servers/app-server/karaf/pom.xml
new file mode 100644
index 0000000..dbe40e3
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/karaf/pom.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-karaf</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Karaf</name>
+
+ <properties>
+ <common.resources>${project.parent.basedir}/common</common.resources>
+ <assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
+ <app.server.karaf.home>${containers.home}/${app.server.karaf.unpacked.folder.name}</app.server.karaf.home>
+ <app.server.karaf.client.auth>-u karaf</app.server.karaf.client.auth>
+ <app.server.karaf.uninstall.pax>false</app.server.karaf.uninstall.pax>
+ </properties>
+
+ <profiles>
+
+ <profile>
+ <id>app-server-karaf-submodules</id>
+ <activation>
+ <file>
+ <exists>src</exists>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>app.server.karaf</property>
+ <property>app.server.karaf.groupId</property>
+ <property>app.server.karaf.artifactId</property>
+ <property>app.server.karaf.version</property>
+ <property>app.server.karaf.unpacked.folder.name</property>
+ </requireProperty>
+ <requireOS>
+ <family>!windows</family>
+ <message>Automated Kara/Fuse adapter configuration currently doesn't work on Windows.</message>
+ </requireOS>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-karaf</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${app.server.karaf.groupId}</groupId>
+ <artifactId>${app.server.karaf.artifactId}</artifactId>
+ <version>${app.server.karaf.version}</version>
+ <type>zip</type>
+ <outputDirectory>${containers.home}</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-features-clie</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${app.server.karaf.home}/bin</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>install-features.cli</include>
+ </includes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-users-properties</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${app.server.karaf.home}/etc</outputDirectory>
+ <overwrite>true</overwrite>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>users.properties</include>
+ </includes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install-features</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <executable>${common.resources}/install-features.${script.suffix}</executable>
+ <workingDirectory>${app.server.karaf.home}/bin</workingDirectory>
+ <environmentVariables>
+ <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
+ <CLIENT_AUTH>${app.server.karaf.client.auth}</CLIENT_AUTH>
+ <UNINSTALL_PAX>${app.server.karaf.uninstall.pax}</UNINSTALL_PAX>
+ </environmentVariables>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>create-zip</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>${assembly.xml}</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>app-server-karaf3</id>
+ <modules>
+ <module>karaf3</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-fuse61</id>
+ <modules>
+ <module>fuse61</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-fuse62</id>
+ <modules>
+ <module>fuse62</module>
+ </modules>
+ </profile>
+
+ </profiles>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/pom.xml b/testsuite/integration-arquillian/servers/app-server/pom.xml
new file mode 100644
index 0000000..5aebbe1
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server</name>
+
+ <properties>
+ <app.server.saml.adapter.supported>false</app.server.saml.adapter.supported>
+ </properties>
+
+ <modules>
+ <module>jboss</module>
+ <module>karaf</module>
+ <module>tomcat</module>
+ </modules>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/README.md b/testsuite/integration-arquillian/servers/app-server/README.md
new file mode 100644
index 0000000..6905f03
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/README.md
@@ -0,0 +1,49 @@
+# Keycloak Arquillian Integration TestSuite - Test Servers
+
+[Up...](../README.md)
+
+## App Server - JBoss
+
+JBoss-based container with installed and configured Keycloak adapter.
+
+Submodules are enabled with profiles: `-Papp-server-MODULE`
+
+### Modules
+
+* __`as7` JBossAS 7__
+* __`wildfly8` Wildfly 8__
+* __`wildfly9` Wildfly 9__
+* __`wildfly` Wildfly 10__
+* __`eap6` EAP 6__ Requires access to EAP product repo, or setting `-Deap6.version` to public EAP 6 Alpha.
+* __`eap` EAP 7__ Requires access to EAP product repo.
+* __`relative`__ Activate with `-Papp-server-relative`.
+ * __`wildfly` Relative Wildfly 10__ Based on [`auth-server/jboss/wildfly`](../auth-server/README.md). Activate with `-Pauth-server-wildfly`.
+ * __`eap` Relative EAP 7__ Based on [`auth-server/jboss/eap`](../auth-server/README.md). Activate with `-Pauth-server-eap`.
+
+### Adapter Libs Location
+
+* __Provided__ (in container) - Default.
+* __Bundled__ (in war) `-Dadapter.libs.bundled=true`
+
+### Adapter Configs Location
+
+* __Provided__ (in standalone.xml as secure-deployment) _Not implemented_
+* __Bundled__ (in war) - Default.
+
+### SSL
+
+Configures SSL in `standalone.xml`. See profile `ssl`.
+
+
+## App Server - Karaf
+Submodules are enabled with profiles: `-Papp-server-MODULE`
+### Modules
+* __`karaf3` Karaf 3__
+* __`fuse61` JBoss Fuse 6.1__
+* __`fuse62` JBoss Fuse 6.2__
+
+## App Server - Tomcat
+Submodules are enabled with profiles: `-Papp-server-MODULE`
+### Modules
+* __`tomcat7` Tomcat 7__
+* __`tomcat8` Tomcat 8__
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/assembly.xml b/testsuite/integration-arquillian/servers/app-server/tomcat/assembly.xml
new file mode 100644
index 0000000..396cda3
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/assembly.xml
@@ -0,0 +1,46 @@
+<!--
+ ~ Copyright 2016 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.
+ -->
+
+<assembly>
+
+ <id>${app.server.tomcat}</id>
+
+ <formats>
+ <format>zip</format>
+ </formats>
+
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <fileSets>
+ <fileSet>
+ <directory>${app.server.tomcat.home}</directory>
+ <outputDirectory>app-server-${app.server.tomcat}</outputDirectory>
+ <excludes>
+ <exclude>**/*.sh</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${app.server.tomcat.home}</directory>
+ <outputDirectory>app-server-${app.server.tomcat}</outputDirectory>
+ <includes>
+ <include>**/*.sh</include>
+ </includes>
+ <fileMode>0755</fileMode>
+ </fileSet>
+ </fileSets>
+
+</assembly>
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/pom.xml b/testsuite/integration-arquillian/servers/app-server/tomcat/pom.xml
new file mode 100644
index 0000000..ddec315
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/pom.xml
@@ -0,0 +1,302 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-tomcat</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Tomcat</name>
+
+ <properties>
+ <common.resources>${project.parent.basedir}/common</common.resources>
+ <assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
+ <app.server.tomcat.home>${containers.home}/${app.server.tomcat.unpacked.folder.name}</app.server.tomcat.home>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>app-server-tomcat-submodules</id>
+ <activation>
+ <file>
+ <exists>src</exists>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>app.server.tomcat</property>
+ <property>app.server.tomcat.groupId</property>
+ <property>app.server.tomcat.artifactId</property>
+ <property>app.server.tomcat.version</property>
+ <property>app.server.tomcat.unpacked.folder.name</property>
+ <property>app.server.oidc.adapter.artifactId</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-tomcat-and-adapter</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${app.server.tomcat.groupId}</groupId>
+ <artifactId>${app.server.tomcat.artifactId}</artifactId>
+ <version>${app.server.tomcat.version}</version>
+ <type>zip</type>
+ <outputDirectory>${containers.home}</outputDirectory>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.keycloak</groupId>
+ <artifactId>${app.server.oidc.adapter.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ <outputDirectory>${app.server.tomcat.home}/lib</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ <execution>
+ <id>libs-for-tomcat</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-client</artifactId>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.jboss.spec.javax.ws.rs</groupId>
+ <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ </artifactItem>
+ <artifactItem>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.4</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${app.server.tomcat.home}/lib</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-tomcat-manager-user</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${app.server.tomcat.home}/conf</dir>
+ <stylesheet>${common.resources}/tomcat-users.xsl</stylesheet>
+ <includes>
+ <include>tomcat-users.xml</include>
+ </includes>
+ <outputDir>${app.server.tomcat.home}/conf</outputDir>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>parametrize-server-ports</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <replace file="${app.server.tomcat.home}/conf/server.xml">
+ <replacetoken>8005</replacetoken>
+ <replacevalue>${tomcat.server.port}</replacevalue>
+ </replace>
+ <replace file="${app.server.tomcat.home}/conf/server.xml">
+ <replacetoken>8080</replacetoken>
+ <replacevalue>${tomcat.http.port}</replacevalue>
+ </replace>
+ <replace file="${app.server.tomcat.home}/conf/server.xml">
+ <replacetoken>8443</replacetoken>
+ <replacevalue>${tomcat.server.port}</replacevalue>
+ </replace>
+ <replace file="${app.server.tomcat.home}/conf/server.xml">
+ <replacetoken>8009</replacetoken>
+ <replacevalue>${tomcat.ajp.port}</replacevalue>
+ </replace>
+
+ <propertyfile
+ file="${app.server.tomcat.home}/conf/catalina.properties"
+ comment="Parametrized Tomcat Ports in server.xml">
+ <entry key="tomcat.server.port" value="8005"/>
+ <entry key="tomcat.http.port" value="8080"/>
+ <entry key="tomcat.https.port" value="8443"/>
+ <entry key="tomcat.ajp.port" value="8009"/>
+ </propertyfile>
+
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>create-zip</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>${assembly.xml}</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>app-server-saml-supported</id>
+ <activation>
+ <file>
+ <exists>src/saml-adapter-supported</exists>
+ </file>
+ </activation>
+ <properties>
+ <app.server.saml.adapter.supported>true</app.server.saml.adapter.supported>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>app.server.saml.adapter.artifactId</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-saml-adapter</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak</groupId>
+ <artifactId>${app.server.saml.adapter.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ <outputDirectory>${app.server.tomcat.home}/lib</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>app-server-tomcat7</id>
+ <modules>
+ <module>tomcat7</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-tomcat8</id>
+ <modules>
+ <module>tomcat8</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-tomcat9</id>
+ <modules>
+ <module>tomcat9</module>
+ </modules>
+ </profile>
+
+ </profiles>
+
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/pom.xml b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/pom.xml
new file mode 100644
index 0000000..545c2bf
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-tomcat7</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Tomcat - Tomcat 7</name>
+
+ <properties>
+ <app.server.tomcat>tomcat7</app.server.tomcat>
+
+ <app.server.tomcat.groupId>org.apache.tomcat</app.server.tomcat.groupId>
+ <app.server.tomcat.artifactId>tomcat</app.server.tomcat.artifactId>
+ <app.server.tomcat.version>${tomcat7.version}</app.server.tomcat.version>
+ <app.server.tomcat.unpacked.folder.name>apache-tomcat-${tomcat7.version}</app.server.tomcat.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-tomcat7-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-tomcat7-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat7/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/pom.xml b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/pom.xml
new file mode 100644
index 0000000..8683044
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-tomcat8</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Tomcat - Tomcat 8</name>
+
+ <properties>
+ <app.server.tomcat>tomcat8</app.server.tomcat>
+
+ <app.server.tomcat.groupId>org.apache.tomcat</app.server.tomcat.groupId>
+ <app.server.tomcat.artifactId>tomcat</app.server.tomcat.artifactId>
+ <app.server.tomcat.version>${tomcat8.version}</app.server.tomcat.version>
+ <app.server.tomcat.unpacked.folder.name>apache-tomcat-${tomcat8.version}</app.server.tomcat.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-tomcat8-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-tomcat8-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat8/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/pom.xml b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/pom.xml
new file mode 100644
index 0000000..b6cb75b
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-app-server-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-app-server-tomcat9</artifactId>
+ <packaging>pom</packaging>
+ <name>App Server - Tomcat - Tomcat 9</name>
+
+ <properties>
+ <app.server.tomcat>tomcat9</app.server.tomcat>
+
+ <app.server.tomcat.groupId>org.apache.tomcat</app.server.tomcat.groupId>
+ <app.server.tomcat.artifactId>tomcat</app.server.tomcat.artifactId>
+ <app.server.tomcat.version>${tomcat9.version}</app.server.tomcat.version>
+ <app.server.tomcat.unpacked.folder.name>apache-tomcat-${tomcat9.version}</app.server.tomcat.unpacked.folder.name>
+
+ <app.server.oidc.adapter.artifactId>keycloak-tomcat8-adapter-dist</app.server.oidc.adapter.artifactId>
+ <app.server.saml.adapter.artifactId>keycloak-saml-tomcat8-adapter-dist</app.server.saml.adapter.artifactId>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/src/saml-adapter-supported b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/src/saml-adapter-supported
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/app-server/tomcat/tomcat9/src/saml-adapter-supported
@@ -0,0 +1 @@
+
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/assembly.xml b/testsuite/integration-arquillian/servers/auth-server/jboss/assembly.xml
new file mode 100644
index 0000000..47b8215
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/assembly.xml
@@ -0,0 +1,46 @@
+<!--
+ ~ Copyright 2016 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.
+ -->
+
+<assembly>
+
+ <id>${auth.server.jboss}</id>
+
+ <formats>
+ <format>zip</format>
+ </formats>
+
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <fileSets>
+ <fileSet>
+ <directory>${auth.server.home}</directory>
+ <outputDirectory>auth-server-${auth.server.jboss}</outputDirectory>
+ <excludes>
+ <exclude>**/*.sh</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${auth.server.home}</directory>
+ <outputDirectory>auth-server-${auth.server.jboss}</outputDirectory>
+ <includes>
+ <include>**/*.sh</include>
+ </includes>
+ <fileMode>0755</fileMode>
+ </fileSet>
+ </fileSets>
+
+</assembly>
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/eap/pom.xml b/testsuite/integration-arquillian/servers/auth-server/jboss/eap/pom.xml
new file mode 100644
index 0000000..c52b834
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/eap/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-auth-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <packaging>pom</packaging>
+
+ <artifactId>integration-arquillian-servers-auth-server-eap</artifactId>
+
+ <name>Auth Server - JBoss - EAP</name>
+
+ <properties>
+ <auth.server.jboss>eap</auth.server.jboss>
+
+ <!--server-dist-->
+ <auth.server.dist.version>${product.version}</auth.server.dist.version>
+ <auth.server.dist.unpacked.folder.name>${product.unpacked.folder.name}</auth.server.dist.unpacked.folder.name>
+
+ <!--server-overlay-->
+ <auth.server.overlay.version>${product.version}</auth.server.overlay.version>
+ <overlaid.container.groupId>org.jboss.eap</overlaid.container.groupId>
+ <overlaid.container.version>${eap.version}</overlaid.container.version>
+ <overlaid.container.unpacked.folder.name>jboss-eap-7.0</overlaid.container.unpacked.folder.name>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-auth-server-jboss-profile</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>product.version</property>
+ </requireProperty>
+ <requireProperty>
+ <property>product.unpacked.folder.name</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/pom.xml b/testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/pom.xml
new file mode 100644
index 0000000..d27dd3a
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/wildfly/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-auth-server-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <packaging>pom</packaging>
+
+ <artifactId>integration-arquillian-servers-auth-server-wildfly</artifactId>
+
+ <name>Auth Server - JBoss - Wildfly</name>
+
+ <properties>
+ <auth.server.jboss>wildfly</auth.server.jboss>
+ </properties>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/auth-server/pom.xml b/testsuite/integration-arquillian/servers/auth-server/pom.xml
new file mode 100644
index 0000000..d9f8222
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-auth-server</artifactId>
+ <packaging>pom</packaging>
+ <name>Auth Server</name>
+
+ <modules>
+ <module>jboss</module>
+ <module>undertow</module>
+ </modules>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/auth-server/README.md b/testsuite/integration-arquillian/servers/auth-server/README.md
new file mode 100644
index 0000000..87f9a20
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/README.md
@@ -0,0 +1,44 @@
+# Keycloak Arquillian Integration TestSuite - Test Servers
+
+[Up...](../README.md)
+
+## Auth Server - JBoss `auth-server/jboss`
+
+### Modules
+
+* __`wildfly` Wildfly 10__
+ - Builds keycloak server on top of latest Wildfly.
+ - Activated by __`-Pauth-server-wildfly`__
+
+* __`eap` EAP 7__
+ - Builds keycloak server on top of latest EAP.
+ - Activated by __`-Pauth-server-eap`__
+ - Requires access to product repo.
+ - Requires additional properties:
+ - `product.version`
+ - `product.unpacked.folder.name`
+
+### Server dist vs overlay
+
+By default `keycloak-server-dist` artifact is used for the build.
+By setting `-Dserver-overlay=true` you can switch to server overlay instead. See profile `server-overlay`.
+
+### JPA
+
+Configures Keycloak JDBC datasource in `standalone.xml`. See profile `jpa`.
+
+### SSL
+
+Configures SSL in `standalone.xml`. See profile `ssl`.
+
+### Cluster
+
+Configures in `standalone-ha.xml`:
+- h2 datasource over TCP
+- parameters of Keycloak Infinispan caches
+
+See profile `auth-server-cluster`.
+
+## Auth Server - Undertow `auth-server/undertow`
+
+Arquillian extension for running Keycloak server in embedded Undertow.
diff --git a/testsuite/integration-arquillian/servers/auth-server/undertow/pom.xml b/testsuite/integration-arquillian/servers/auth-server/undertow/pom.xml
new file mode 100644
index 0000000..9ccb841
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/undertow/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-auth-server</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-arquillian-servers-auth-server-undertow</artifactId>
+ <name>Auth Server - Undertow</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.junit</groupId>
+ <artifactId>arquillian-junit-container</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>undertow-embedded</artifactId>
+ <version>1.0.0.Alpha1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-undertow</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-dependencies-server-all</artifactId>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/auth-server/undertow/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension b/testsuite/integration-arquillian/servers/auth-server/undertow/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
new file mode 100644
index 0000000..27b8ee1
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/undertow/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
@@ -0,0 +1 @@
+org.keycloak.testsuite.arquillian.undertow.KeycloakOnUndertowArquillianExtension
diff --git a/testsuite/integration-arquillian/servers/migration/pom.xml b/testsuite/integration-arquillian/servers/migration/pom.xml
index 49aeff4..c161b4b 100644
--- a/testsuite/integration-arquillian/servers/migration/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc12/assembly.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc12/assembly.xml
index d3fc3db..cc99697 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc12/assembly.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc12/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>auth-server-wildfly-kc14</id>
+ <id>auth-server-jboss-kc14</id>
<formats>
<format>zip</format>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc12/pom.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc12/pom.xml
index 1d080cf..286d349 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc12/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc12/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-migration-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc13/assembly.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc13/assembly.xml
index 0ee1a4d..cd48ba2 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc13/assembly.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc13/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>auth-server-wildfly-kc14</id>
+ <id>auth-server-jboss-kc14</id>
<formats>
<format>zip</format>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc13/pom.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc13/pom.xml
index ee806c4..6f5da90 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc13/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc13/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-migration-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc14/assembly.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc14/assembly.xml
index 5cff675..deac59d 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc14/assembly.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc14/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>auth-server-wildfly-kc14</id>
+ <id>auth-server-jboss-kc14</id>
<formats>
<format>zip</format>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc14/pom.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc14/pom.xml
index 5ce1f6b..b5c522c 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc14/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc14/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-migration-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc15/assembly.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc15/assembly.xml
index d451b81..b7330e3 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc15/assembly.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc15/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>auth-server-wildfly-kc15</id>
+ <id>auth-server-jboss-kc15</id>
<formats>
<format>zip</format>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc15/pom.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc15/pom.xml
index 5f3eb9e..621cd05 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc15/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc15/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-migration-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc16/assembly.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc16/assembly.xml
index c439290..2e08956 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc16/assembly.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc16/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>auth-server-wildfly-kc16</id>
+ <id>auth-server-jboss-kc16</id>
<formats>
<format>zip</format>
diff --git a/testsuite/integration-arquillian/servers/migration/wildfly_kc16/pom.xml b/testsuite/integration-arquillian/servers/migration/wildfly_kc16/pom.xml
index cc057c9..c9df7ab 100644
--- a/testsuite/integration-arquillian/servers/migration/wildfly_kc16/pom.xml
+++ b/testsuite/integration-arquillian/servers/migration/wildfly_kc16/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-migration-servers</artifactId>
- <version>1.9.0.CR1-SNAPSHOT</version>
+ <version>1.9.2.Final-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
testsuite/integration-arquillian/servers/pom.xml 91(+52 -39)
diff --git a/testsuite/integration-arquillian/servers/pom.xml b/testsuite/integration-arquillian/servers/pom.xml
index 54a3e8b..2436b31 100644
--- a/testsuite/integration-arquillian/servers/pom.xml
+++ b/testsuite/integration-arquillian/servers/pom.xml
@@ -1,20 +1,20 @@
<?xml version="1.0"?>
<!--
- ~ Copyright 2016 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.
- -->
+~ Copyright 2016 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.
+-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
@@ -29,38 +29,51 @@
<packaging>pom</packaging>
<name>Servers</name>
- <!--<modules>-->
- <!--<module>migration</module>-->
- <!--</modules>-->
-
+ <properties>
+ <script.suffix>sh</script.suffix>
+
+ <!--app container versions-->
+ <wildfly9.version>9.0.2.Final</wildfly9.version>
+ <wildfly8.version>8.2.1.Final</wildfly8.version>
+ <eap.version>7.0.0.ER6-redhat-1</eap.version>
+ <eap6.version>7.5.6.Final-redhat-2</eap6.version>
+ <jboss.as.version>7.1.1.Final</jboss.as.version>
+ <eap6.version>7.5.6.Final-redhat-2</eap6.version>
+ <tomcat7.version>7.0.68</tomcat7.version>
+ <tomcat8.version>8.0.32</tomcat8.version>
+ <tomcat9.version>9.0.0.M3</tomcat9.version>
+ <karaf3.version>3.0.3</karaf3.version>
+ <fuse61.version>6.1.0.redhat-379</fuse61.version>
+ <!--<fuse62.version>6.2.0.redhat-133</fuse62.version>-->
+ <fuse62.version>6.2.1.redhat-084</fuse62.version>
+
+ </properties>
+
+ <modules>
+ <module>auth-server</module>
+ <module>app-server</module>
+ </modules>
+
<profiles>
<profile>
- <id>auth-server-wildfly</id>
- <modules>
- <module>wildfly</module>
- </modules>
- </profile>
- <profile>
- <id>auth-server-wildfly-cluster</id>
+ <id>auth-server-cluster</id>
<modules>
- <module>wildfly</module>
<module>wildfly-balancer</module>
</modules>
</profile>
<profile>
- <id>auth-server-eap7</id>
- <modules>
- <module>eap7</module>
- </modules>
- </profile>
- <profile>
- <id>auth-server-eap7-cluster</id>
- <modules>
- <module>eap7</module>
- <module>wildfly-balancer</module>
- </modules>
+ <id>win</id>
+ <activation>
+ <os>
+ <family>Windows</family>
+ </os>
+ </activation>
+ <properties>
+ <script.suffix>bat</script.suffix>
+ </properties>
</profile>
- </profiles>
+ </profiles>
+
</project>
diff --git a/testsuite/integration-arquillian/servers/README.md b/testsuite/integration-arquillian/servers/README.md
new file mode 100644
index 0000000..835e171
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/README.md
@@ -0,0 +1,38 @@
+# Keycloak Arquillian Integration TestSuite
+
+[Keycloak Arquillian Integration TestSuite](../README.md)
+
+## Test Servers
+
+A set of modules that build test-server artifacts preconfigured for various test scenarios.
+The artifacts are used by the Arquillian TestSuite.
+
+### Auth Server
+
+- JBoss
+ - Wildfly 10
+ - EAP 7
+- Undertow
+
+[Details...](auth-server/README.md)
+
+
+### App Server
+
+- JBoss
+ - JBossAS 7
+ - Wildfly 8, 9, 10
+ - EAP 6, 7
+ - Relative (Wildfly 10 / EAP 7)
+- Karaf / Fuse
+ - Karaf 3
+ - Fuse 6.1, 6.2
+- Tomcat
+ - Tomcat 7, 8
+
+[Details...](app-server/README.md)
+
+### Load Balancer
+
+- Wildfly + mod_cluster
+
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/assembly.xml b/testsuite/integration-arquillian/servers/wildfly-balancer/assembly.xml
index a3e36ae..50238d4 100644
--- a/testsuite/integration-arquillian/servers/wildfly-balancer/assembly.xml
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/assembly.xml
@@ -17,7 +17,7 @@
<assembly>
- <id>wildfly-balancer</id>
+ <id>balancer-wildfly</id>
<formats>
<format>zip</format>
@@ -28,14 +28,14 @@
<fileSets>
<fileSet>
<directory>${wildfly.balancer.home}</directory>
- <outputDirectory>wildfly-balancer-${project.version}</outputDirectory>
+ <outputDirectory>balancer-wildfly</outputDirectory>
<excludes>
<exclude>**/*.sh</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${wildfly.balancer.home}</directory>
- <outputDirectory>wildfly-balancer-${project.version}</outputDirectory>
+ <outputDirectory>balancer-wildfly</outputDirectory>
<includes>
<include>**/*.sh</include>
</includes>
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml b/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
index 347ef5f..91db211 100644
--- a/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
@@ -36,7 +36,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
@@ -44,7 +43,6 @@
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/xslt/mod_cluster.xsl b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/xslt/mod_cluster.xsl
index 9cb3774..2079fc9 100644
--- a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/xslt/mod_cluster.xsl
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/xslt/mod_cluster.xsl
@@ -60,7 +60,7 @@
<xsl:template match="//s:socket-binding-group[@name='standard-sockets']">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
- <socket-binding name="modcluster" port="23364" multicast-address="224.0.1.105"/>
+ <socket-binding name="modcluster" port="${{modcluster.port:23364}}" multicast-address="${{modcluster.multicast-address:224.0.1.105}}"/>
</xsl:copy>
</xsl:template>
diff --git a/testsuite/integration-arquillian/tests/base/pom.xml b/testsuite/integration-arquillian/tests/base/pom.xml
index 5529dd8..662a102 100644
--- a/testsuite/integration-arquillian/tests/base/pom.xml
+++ b/testsuite/integration-arquillian/tests/base/pom.xml
@@ -62,7 +62,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
@@ -75,7 +74,6 @@
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
@@ -92,13 +90,32 @@
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
+ <id>copy-arquillian-xml</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/dependency</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>arquillian.xml</include>
+ </includes>
+ <!--<filtering>true</filtering>-->
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
<id>copy-admin-user-json-file</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${jboss.server.config.dir}</outputDirectory>
+ <outputDirectory>${auth.server.config.dir}</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AdapterLibsLocationProperty.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AdapterLibsLocationProperty.java
index 371d732..18bcdcc 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AdapterLibsLocationProperty.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AdapterLibsLocationProperty.java
@@ -32,5 +32,5 @@ import java.lang.annotation.Target;
@Target({ElementType.TYPE})
public @interface AdapterLibsLocationProperty
{
- String value();
+ String value() default "adapter.libs.home";
}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
index 9dace92..ea64fe2 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.arquillian;
-import org.jboss.arquillian.container.spi.event.container.BeforeDeploy;
import org.jboss.arquillian.container.test.api.ContainerController;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.InstanceProducer;
@@ -18,10 +17,9 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.getAuthServerContextRoot;
-import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.getAuthServerQualifier;
import static org.keycloak.testsuite.util.IOUtil.execCommand;
import static org.keycloak.testsuite.util.WaitUtils.pause;
+import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.getAuthServerContextRoot;
/**
*
@@ -44,7 +42,7 @@ public class AppServerTestEnricher {
return annotatedClass == null ? null // no @AppServerContainer annotation --> no adapter test
: (appServerQ == null || appServerQ.isEmpty() // @AppServerContainer annotation present but qualifier not set --> relative adapter test
- ? getAuthServerQualifier() // app server == auth server
+ ? AuthServerTestEnricher.AUTH_SERVER_CONTAINER // app server == auth server
: appServerQ);
}
@@ -100,28 +98,28 @@ public class AppServerTestEnricher {
private Instance<ContainerController> containerConrollerInstance;
public void startAppServer(@Observes(precedence = -1) BeforeClass event) throws MalformedURLException, InterruptedException, IOException {
- if (testContext.isAdapterTest()) {
+ if (testContext.isAdapterTest() && !testContext.isRelativeAdapterTest()) {
ContainerController controller = containerConrollerInstance.get();
if (!controller.isStarted(testContext.getAppServerInfo().getQualifier())) {
+ log.info("Starting app server: " + testContext.getAppServerInfo().getQualifier());
controller.start(testContext.getAppServerInfo().getQualifier());
}
}
}
- public void installAdapterLibs(@Observes BeforeDeploy event) {
- log.debug("BEFORE DEPLOY - INSTALL ADAPTER LIBS");
- if (testContext.isAdapterTest()) {
- // install adapter libs on JBoss-based container via CLI
- if (testContext.getAppServerInfo().isJBossBased()) {
- try {
- installAdapterLibsUsingJBossCLIClient(testContext.getAppServerInfo());
- } catch (InterruptedException | IOException ex) {
- throw new RuntimeException("Failed to install adapter libs.", ex);
- }
- }
- }
- }
-
+// public void installAdapterLibs(@Observes BeforeDeploy event) {
+// log.debug("BEFORE DEPLOY - INSTALL ADAPTER LIBS");
+// if (testContext.isAdapterTest()) {
+// // install adapter libs on JBoss-based container via CLI
+// if (testContext.getAppServerInfo().isJBossBased()) {
+// try {
+// installAdapterLibsUsingJBossCLIClient(testContext.getAppServerInfo());
+// } catch (InterruptedException | IOException ex) {
+// throw new RuntimeException("Failed to install adapter libs.", ex);
+// }
+// }
+// }
+// }
private void installAdapterLibsUsingJBossCLIClient(ContainerInfo appServerInfo) throws InterruptedException, IOException {
if (!appServerInfo.isAdapterLibsInstalled()) {
@@ -160,7 +158,7 @@ public class AppServerTestEnricher {
execCommand(command + " --connect --command=reload" + controllerArg, bin);
log.info("Container restarted");
pause(5000);
- if (System.getProperty("app.server.log.check","true").equals("true")) {
+ if (System.getProperty("app.server.log.check", "true").equals("true")) {
LogChecker.checkJBossServerLog(jbossHomePath);
}
}
@@ -179,7 +177,7 @@ public class AppServerTestEnricher {
public static Class getNearestSuperclassWithAnnotation(Class testClass, Class annotationClass) {
return testClass.isAnnotationPresent(annotationClass) ? testClass
: (testClass.getSuperclass().equals(Object.class) ? null // stop recursion
- : getNearestSuperclassWithAnnotation(testClass.getSuperclass(), annotationClass)); // continue recursion
+ : getNearestSuperclassWithAnnotation(testClass.getSuperclass(), annotationClass)); // continue recursion
}
public static boolean hasAppServerContainerAnnotation(Class testClass) {
@@ -187,12 +185,12 @@ public class AppServerTestEnricher {
}
public static boolean isRelative(Class testClass) {
- return getAppServerQualifier(testClass).equals(getAuthServerQualifier());
+ return getAppServerQualifier(testClass).equals(AuthServerTestEnricher.AUTH_SERVER_CONTAINER);
}
public static String getAdapterLibsLocationProperty(Class testClass) {
Class<? extends AuthServerTestEnricher> annotatedClass = getNearestSuperclassWithAnnotation(testClass, AdapterLibsLocationProperty.class);
- return (annotatedClass == null ? null
+ return (annotatedClass == null ? "adapter.libs.home"
: annotatedClass.getAnnotation(AdapterLibsLocationProperty.class).value());
}
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 9cbfce6..a7238c3 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
@@ -57,10 +57,15 @@ public class AuthServerTestEnricher {
@Inject
private Event<StartContainer> startContainerEvent;
- private static final String AUTH_SERVER_CONTAINER_PROPERTY = "auth.server.container";
private static final String AUTH_SERVER_CONTAINER_DEFAULT = "auth-server-undertow";
+ private static final String AUTH_SERVER_CONTAINER_PROPERTY = "auth.server.container";
+ public static final String AUTH_SERVER_CONTAINER = System.getProperty(AUTH_SERVER_CONTAINER_PROPERTY, AUTH_SERVER_CONTAINER_DEFAULT);
+
+ private static final String AUTH_SERVER_CLUSTER_PROPERTY = "auth.server.cluster";
+ public static final boolean AUTH_SERVER_CLUSTER = Boolean.parseBoolean(System.getProperty(AUTH_SERVER_CLUSTER_PROPERTY, "false"));
private static final String MIGRATED_AUTH_SERVER_CONTAINER_PROPERTY = "migrated.auth.server.container";
+ public static final String MIGRATED_AUTH_SERVER_CONTAINER = System.getProperty(MIGRATED_AUTH_SERVER_CONTAINER_PROPERTY); // == null if migration not enabled
@Inject
@SuiteScoped
@@ -71,14 +76,6 @@ public class AuthServerTestEnricher {
@ClassScoped
private InstanceProducer<TestContext> testContextProducer;
- public static String getAuthServerQualifier() {
- return System.getProperty(AUTH_SERVER_CONTAINER_PROPERTY, AUTH_SERVER_CONTAINER_DEFAULT);
- }
-
- public static String getMigratedAuthServerQualifier() {
- return System.getProperty(MIGRATED_AUTH_SERVER_CONTAINER_PROPERTY); // == null if migration not enabled
- }
-
public static String getAuthServerContextRoot() {
return getAuthServerContextRoot(0);
}
@@ -102,54 +99,38 @@ public class AuthServerTestEnricher {
suiteContext = new SuiteContext(containers);
- String authServerQualifier = getAuthServerQualifier();
- String migratedAuthServerQualifier = getMigratedAuthServerQualifier();
-
- // init authServerInfo and authServerBackendsInfo
- if (authServerQualifier.startsWith("auth-server-")) {
-
- boolean authServerCluster = authServerQualifier.endsWith("-cluster");
-
- String authServerType = authServerQualifier.replaceAll("auth-server-", "").replaceAll("-cluster", "");
-
- log.info("authServerType:" + authServerType);
-
- String authServerFrontend = authServerCluster
- ? "auth-server-" + authServerType + "-balancer" // in cluster mode the load-balancer container serves as auth server frontend
- : authServerQualifier; // single-node mode
- String authServerBackend = "auth-server-" + authServerType + "-backend";
- int backends = 0;
- for (ContainerInfo container : suiteContext.getContainers()) {
- // frontend
- if (container.getQualifier().equals(authServerFrontend)) {
- updateWithAuthServerInfo(container);
- suiteContext.setAuthServerInfo(container);
- }
- // backends
- if (container.getQualifier().startsWith(authServerBackend)) {
- updateWithAuthServerInfo(container, ++backends);
- suiteContext.getAuthServerBackendsInfo().add(container);
- }
+ String authServerFrontend = AUTH_SERVER_CLUSTER
+ ? "auth-server-balancer-wildfly" // if cluster mode enabled, load-balancer is the frontend
+ : AUTH_SERVER_CONTAINER; // single-node mode
+ String authServerBackend = AUTH_SERVER_CONTAINER + "-backend";
+ int backends = 0;
+ for (ContainerInfo container : suiteContext.getContainers()) {
+ // frontend
+ if (container.getQualifier().equals(authServerFrontend)) {
+ updateWithAuthServerInfo(container);
+ suiteContext.setAuthServerInfo(container);
}
-
- // validate auth server setup
- if (suiteContext.getAuthServerInfo() == null) {
- throw new RuntimeException(String.format("No auth server activated. A container matching '%s' needs to be enabled in arquillian.xml.", authServerFrontend));
- }
- if (authServerCluster && suiteContext.getAuthServerBackendsInfo().isEmpty()) {
- throw new RuntimeException(String.format("No cluster backend nodes activated. Containers matching '%sN' need to be enabled in arquillian.xml.", authServerBackend));
+ // backends
+ if (AUTH_SERVER_CLUSTER && container.getQualifier().startsWith(authServerBackend)) {
+ updateWithAuthServerInfo(container, ++backends);
+ suiteContext.getAuthServerBackendsInfo().add(container);
}
+ }
- } else {
- throw new IllegalArgumentException(String.format("Value of %s should start with 'auth-server-' prefix.", AUTH_SERVER_CONTAINER_PROPERTY));
+ // validate auth server setup
+ if (suiteContext.getAuthServerInfo() == null) {
+ throw new RuntimeException(String.format("No auth server container matching '%s' found in arquillian.xml.", authServerFrontend));
+ }
+ if (AUTH_SERVER_CLUSTER && suiteContext.getAuthServerBackendsInfo().isEmpty()) {
+ throw new RuntimeException(String.format("No auth server container matching '%sN' found in arquillian.xml.", authServerBackend));
}
- if (migratedAuthServerQualifier != null) {
+ if (MIGRATED_AUTH_SERVER_CONTAINER != null) {
// init migratedAuthServerInfo
- if (migratedAuthServerQualifier.startsWith("migrated-auth-server-")) {
+ if (MIGRATED_AUTH_SERVER_CONTAINER.startsWith("migrated-auth-server-")) {
for (ContainerInfo container : suiteContext.getContainers()) {
// migrated auth server
- if (container.getQualifier().equals(migratedAuthServerQualifier)) {
+ if (container.getQualifier().equals(MIGRATED_AUTH_SERVER_CONTAINER)) {
updateWithAuthServerInfo(container);
suiteContext.setMigratedAuthServerInfo(container);
}
@@ -160,7 +141,7 @@ public class AuthServerTestEnricher {
// validate setup
if (suiteContext.getMigratedAuthServerInfo() == null) {
throw new RuntimeException(String.format("Migration test was enabled but no auth server from which to migrate was activated. "
- + "A container matching '%s' needs to be enabled in arquillian.xml.", migratedAuthServerQualifier));
+ + "A container matching '%s' needs to be enabled in arquillian.xml.", MIGRATED_AUTH_SERVER_CONTAINER));
}
}
@@ -201,6 +182,14 @@ public class AuthServerTestEnricher {
LogChecker.checkJBossServerLog(jbossHomePath);
}
}
+//
+// public void startAuthServerContainer(@Observes BeforeSuite event) {
+// startContainerEvent.fire(new StartContainer(suiteContext.getAuthServerInfo().getArquillianContainer()));
+// }
+//
+// public void stopAuthServerContainer(@Observes AfterSuite event) {
+// containerController.get().stop(suiteContext.getAuthServerInfo().getQualifier());
+// }
public void initializeTestContext(@Observes(precedence = 2) BeforeClass event) {
TestContext testContext = new TestContext(suiteContext, event.getTestClass().getJavaClass());
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
index 571daff..c682597 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
@@ -67,7 +67,7 @@ public class Registry implements ContainerRegistry {
Validate.notNull(definition, "Definition must be specified");
try {
- logger.log(Level.INFO, "Registering container: {0}", definition.getContainerName());
+ logger.log(Level.FINE, "Registering container: {0}", definition.getContainerName());
@SuppressWarnings("rawtypes")
Collection<DeployableContainer> containerAdapters = loader.all(DeployableContainer.class);
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
index bb81a01..f1aa524 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
@@ -57,14 +57,13 @@ public class RegistryCreator {
@Inject
private Instance<ServiceLoader> loader;
-
- private String authContainer;
- private String migrationContainer;
-
+
public void createRegistry(@Observes ArquillianDescriptor event) {
ContainerRegistry reg = new Registry(injector.get());
ServiceLoader serviceLoader = loader.get();
+ log.info("arquillian.xml: " + System.getProperty("arquillian.xml"));
+
@SuppressWarnings("rawtypes")
Collection<DeployableContainer> containers = serviceLoader.all(DeployableContainer.class);
@@ -75,7 +74,7 @@ public class RegistryCreator {
for (ContainerDef container : event.getContainers()) {
if (isCreatingContainer(container, containers)) {
if (isEnabled(container)) {
- checkMultipleEnabledContainers(container);
+ log.info("Registering container: " + container.getContainerName());
reg.create(container, serviceLoader);
} else {
log.info("Container is disabled: " + container.getContainerName());
@@ -87,7 +86,7 @@ public class RegistryCreator {
for (ContainerDef container : group.getGroupContainers()) {
if (isCreatingContainer(container, containers)) {
if (isEnabled(container)) {
- //TODO add checkMultipleEnabledContainers according to groups
+ log.info("Registering container: " + container.getContainerName());
reg.create(container, serviceLoader);
} else {
log.info("Container is disabled: " + container.getContainerName());
@@ -106,28 +105,6 @@ public class RegistryCreator {
return !props.containsKey(ENABLED)
|| (props.containsKey(ENABLED) && props.get(ENABLED).equals("true"));
}
-
- private void checkMultipleEnabledContainers(ContainerDef containerDef) {
- String containerName = containerDef.getContainerName();
-
- if (containerName.startsWith("keycloak")) {
- if (migrationContainer == null) {
- migrationContainer = containerName;
- } else {
- throw new RuntimeException("There is more than one migration container "
- + "enabled in arquillian.xml. It has to be enabled at most one. "
- + "Do not activate more than one migration profile.");
- }
- } else if (containerName.startsWith("auth-server")) {
- if (authContainer == null) {
- authContainer = containerName;
- } else {
- throw new RuntimeException("There is more than one auth containec enabled "
- + "in arquillian.xml. It has to be enabled exactly one. Do not "
- + "activate more than one auth profile.");
- }
- }
- }
@SuppressWarnings("rawtypes")
private boolean isCreatingContainer(ContainerDef containerDef, Collection<DeployableContainer> containers) {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
index 63f5436..899a731 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
@@ -29,7 +29,6 @@ import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;
import org.jboss.arquillian.test.spi.execution.TestExecutionDecider;
import org.keycloak.testsuite.arquillian.h2.H2TestEnricher;
import org.keycloak.testsuite.arquillian.migration.MigrationTestExecutionDecider;
-import org.keycloak.testsuite.arquillian.undertow.CustomUndertowContainer;
/**
*
@@ -54,9 +53,6 @@ public class KeycloakArquillianExtension implements LoadableExtension {
.observer(H2TestEnricher.class);
builder
- .service(DeployableContainer.class, CustomUndertowContainer.class);
-
- builder
.service(TestExecutionDecider.class, MigrationTestExecutionDecider.class);
builder
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
index 2b1040a..4a4e197 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
@@ -17,6 +17,7 @@
package org.keycloak.testsuite.console.page.fragment;
+import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -89,7 +90,7 @@ public class DataTable {
}
public void clickRowActionButton(WebElement row, String buttonText) {
- row.findElement(xpath(".//td[contains(@class, 'kc-action-cell') and text()='" + buttonText + "']")).click();
+ row.findElement(xpath(".//button[text()='" + buttonText + "']")).click();
}
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
index 8159d34..df31a47 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
@@ -18,9 +18,6 @@
package org.keycloak.testsuite.console.page.fragment;
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-
-import org.jboss.arquillian.graphene.fragment.Root;
-import static org.keycloak.testsuite.util.WaitUtils.pause;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -30,9 +27,6 @@ import org.openqa.selenium.support.FindBy;
*/
public class ModalDialog {
- @Root
- private WebElement root;
-
@FindBy(xpath = ".//button[text()='Cancel']")
private WebElement cancelButton;
@FindBy(xpath = ".//button[text()='Delete']")
@@ -46,20 +40,16 @@ public class ModalDialog {
public void ok() {
waitUntilElement(okButton).is().present();
okButton.click();
- waitUntilElement(root).is().not().present();
}
public void confirmDeletion() {
waitUntilElement(deleteButton).is().present();
deleteButton.click();
- waitUntilElement(root).is().not().present();
- pause(100);
}
public void cancel() {
waitUntilElement(cancelButton).is().present();
cancelButton.click();
- waitUntilElement(root).is().not().present();
}
public void setName(String name) {
@@ -67,4 +57,4 @@ public class ModalDialog {
nameInput.clear();
nameInput.sendKeys(name);
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
index 082a2a4..a23acb6 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
@@ -35,7 +35,6 @@ import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
-import static org.jgroups.util.Util.assertTrue;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
index 2de16e8..a15cdb6 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
@@ -120,7 +120,7 @@ public abstract class AbstractKeycloakTest {
setDefaultPageUriParameters();
driverSettings();
-
+
TestEventsLogger.setDriver(driver);
if (!suiteContext.isAdminPasswordUpdated()) {
@@ -276,7 +276,7 @@ public abstract class AbstractKeycloakTest {
}
private void loadConstantsProperties() throws ConfigurationException {
- constantsProperties = new PropertiesConfiguration(System.getProperty("testsuite.constants"));
+ constantsProperties = new PropertiesConfiguration("test-constants.properties");
constantsProperties.setThrowExceptionOnMissing(true);
}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml b/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
index 7c9e96c..f1188a1 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
@@ -44,52 +44,42 @@
<property name="deploymentExportPath">target/deployments</property>
</engine>
- <!-- KEYCLOAK AUTH SERVERS -->
-
<container qualifier="auth-server-undertow" mode="suite" >
<configuration>
<property name="enabled">${auth.server.undertow}</property>
<property name="bindAddress">localhost</property>
- <property name="adapterImplClass">org.keycloak.testsuite.arquillian.undertow.CustomUndertowContainer</property>
+ <property name="adapterImplClass">org.keycloak.testsuite.arquillian.undertow.KeycloakOnUndertow</property>
<property name="bindHttpPort">${auth.server.http.port}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly" mode="suite" >
+ <container qualifier="auth-server-${auth.server}" mode="suite" >
<configuration>
- <property name="enabled">${auth.server.wildfly}</property>
+ <property name="enabled">${auth.server.jboss}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.home}</property>
- <property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Djboss.bind.address=0.0.0.0 -Xms64m -Xmx512m -XX:MaxPermSize=256m ${adapter.test.props}</property>
+ <property name="jbossHome">${auth.server.home}</property>
+ <property name="serverConfig">standalone.xml</property>
+ <property name="jbossArguments">
+ -Djboss.socket.binding.port-offset=${auth.server.port.offset}
+ -Djboss.bind.address=0.0.0.0
+ ${adapter.test.props}
+ </property>
+ <property name="javaVmArguments">
+ ${auth.server.memory.settings}
+ -Djava.net.preferIPv4Stack=true
+ </property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
<property name="javaHome">${auth.server.java.home}</property>
</configuration>
</container>
-
- <group qualifier="auth-server-wildfly-cluster">
- <container qualifier="auth-server-wildfly-balancer" mode="suite" >
- <configuration>
- <property name="enabled">${auth.server.wildfly.cluster}</property>
- <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.balancer.home}</property>
- <property name="jbossArguments">
- -Djboss.socket.binding.port-offset=${auth.server.port.offset}
- </property>
- <property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
- -Djava.net.preferIPv4Stack=true
- </property>
- <property name="outputToConsole">${frontend.console.output}</property>
- <property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
- </configuration>
- </container>
- <container qualifier="auth-server-wildfly-backend1" mode="manual" >
+
+ <group qualifier="auth-server-${auth.server}-cluster">
+ <container qualifier="auth-server-${auth.server}-backend1" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.cluster}</property>
+ <property name="enabled">${auth.server.cluster}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.backend1.home}</property>
+ <property name="jbossHome">${auth.server.backend1.home}</property>
<property name="serverConfig">standalone-ha.xml</property>
<property name="jbossArguments">
-Djboss.socket.binding.port-offset=${auth.server.backend1.port.offset}
@@ -97,19 +87,19 @@
${adapter.test.props}
</property>
<property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
+ ${auth.server.memory.settings}
-Djava.net.preferIPv4Stack=true
</property>
<property name="outputToConsole">${backends.console.output}</property>
<property name="managementPort">${auth.server.backend1.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly-backend2" mode="manual" >
+ <container qualifier="auth-server-${auth.server}-backend2" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.cluster}</property>
+ <property name="enabled">${auth.server.cluster}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.backend2.home}</property>
+ <property name="jbossHome">${auth.server.backend2.home}</property>
<property name="serverConfig">standalone-ha.xml</property>
<property name="jbossArguments">
-Djboss.socket.binding.port-offset=${auth.server.backend2.port.offset}
@@ -117,93 +107,39 @@
${adapter.test.props}
</property>
<property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
+ ${auth.server.memory.settings}
-Djava.net.preferIPv4Stack=true
</property>
<property name="outputToConsole">${backends.console.output}</property>
<property name="managementPort">${auth.server.backend2.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
</configuration>
</container>
</group>
-
- <container qualifier="auth-server-eap7" mode="suite" >
+
+ <container qualifier="auth-server-balancer-wildfly" mode="suite" >
<configuration>
- <property name="enabled">${auth.server.eap7}</property>
+ <property name="enabled">${auth.server.cluster}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.home}</property>
- <property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Djboss.bind.address=0.0.0.0 -Xms64m -Xmx512m -XX:MaxPermSize=256m ${adapter.test.props}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="jbossHome">${auth.server.balancer.home}</property>
+ <property name="jbossArguments">
+ -Djboss.socket.binding.port-offset=${auth.server.port.offset}
+ </property>
+ <property name="javaVmArguments">
+ -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
+ -Djava.net.preferIPv4Stack=true
+ </property>
+ <property name="outputToConsole">${frontend.console.output}</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="javaHome">${auth.server.java.home}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
</configuration>
</container>
-
- <group qualifier="auth-server-eap7-cluster">
- <container qualifier="auth-server-eap7-balancer" mode="suite" >
- <configuration>
- <property name="enabled">${auth.server.eap7.cluster}</property>
- <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.balancer.home}</property>
- <property name="jbossArguments">
- -Djboss.socket.binding.port-offset=${auth.server.port.offset}
- </property>
- <property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
- -Djava.net.preferIPv4Stack=true
- </property>
- <property name="outputToConsole">${frontend.console.output}</property>
- <property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
- </configuration>
- </container>
- <container qualifier="auth-server-eap7-backend1" mode="manual" >
- <configuration>
- <property name="enabled">${auth.server.eap7.cluster}</property>
- <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.backend1.home}</property>
- <property name="serverConfig">standalone-ha.xml</property>
- <property name="jbossArguments">
- -Djboss.socket.binding.port-offset=${auth.server.backend1.port.offset}
- -Djboss.node.name=node1
- ${adapter.test.props}
- </property>
- <property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
- -Djava.net.preferIPv4Stack=true
- </property>
- <property name="outputToConsole">${backends.console.output}</property>
- <property name="managementPort">${auth.server.backend1.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
- </configuration>
- </container>
- <container qualifier="auth-server-eap7-backend2" mode="manual" >
- <configuration>
- <property name="enabled">${auth.server.eap7.cluster}</property>
- <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
- <property name="jbossHome">${keycloak.backend2.home}</property>
- <property name="serverConfig">standalone-ha.xml</property>
- <property name="jbossArguments">
- -Djboss.socket.binding.port-offset=${auth.server.backend2.port.offset}
- -Djboss.node.name=node2
- ${adapter.test.props}
- </property>
- <property name="javaVmArguments">
- -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
- -Djava.net.preferIPv4Stack=true
- </property>
- <property name="outputToConsole">${backends.console.output}</property>
- <property name="managementPort">${auth.server.backend2.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
- </configuration>
- </container>
- </group>
-
+
<!-- PREVIOUS VERSIONS OF KEYCLOAK FOR MIGRATION TESTS -->
- <container qualifier="auth-server-wildfly-kc16" mode="manual" >
+ <container qualifier="auth-server-jboss-kc16" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.kc16}</property>
+ <property name="enabled">${auth.server.jboss.kc16}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
<property name="jbossHome">${keycloak.migration.home}</property>
<property name="javaVmArguments">
@@ -216,13 +152,13 @@
-Xms64m -Xmx512m -XX:MaxPermSize=256m
</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.startup.timeout}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly-kc15" mode="manual" >
+ <container qualifier="auth-server-jboss-kc15" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.kc15}</property>
+ <property name="enabled">${auth.server.jboss.kc15}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
<property name="jbossHome">${keycloak.migration.home}</property>
<property name="javaVmArguments">
@@ -235,49 +171,41 @@
-Xms64m -Xmx512m -XX:MaxPermSize=256m
</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.startup.timeout}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly-kc14" mode="manual" >
+ <container qualifier="auth-server-jboss-kc14" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.kc14}</property>
+ <property name="enabled">${auth.server.jboss.kc14}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
<property name="jbossHome">${keycloak.migration.home}</property>
<property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Xms64m -Xmx512m -XX:MaxPermSize=256m</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.startup.timeout}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly-kc13" mode="manual" >
+ <container qualifier="auth-server-jboss-kc13" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.kc13}</property>
+ <property name="enabled">${auth.server.jboss.kc13}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
<property name="jbossHome">${keycloak.migration.home}</property>
<property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Xms64m -Xmx512m -XX:MaxPermSize=256m</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.startup.timeout}</property>
</configuration>
</container>
- <container qualifier="auth-server-wildfly-kc12" mode="manual" >
+ <container qualifier="auth-server-jboss-kc12" mode="manual" >
<configuration>
- <property name="enabled">${auth.server.wildfly.kc12}</property>
+ <property name="enabled">${auth.server.jboss.kc12}</property>
<property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
<property name="jbossHome">${keycloak.migration.home}</property>
<property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Xms64m -Xmx512m -XX:MaxPermSize=256m</property>
<property name="managementPort">${auth.server.management.port}</property>
- <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+ <property name="startupTimeoutInSeconds">${auth.server.startup.timeout}</property>
</configuration>
</container>
-
- <!--
-
- APP SERVER CONTAINERS ARE ADDED BY XSL TRANSFORMATIONS IN ADAPTER TEST SUBMODULES
- The configuration of various application containers had to be split into multiple
- maven submodules: tests/other/adapters, which are activated on demand by profiles.
-
- -->
-
+
</arquillian>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json b/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json
index 111d510..ae0f5f9 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json
@@ -83,8 +83,7 @@
"password": "${keycloak.connectionsJpa.password:}",
"databaseSchema": "${keycloak.connectionsJpa.databaseSchema:update}",
"showSql": "${keycloak.connectionsJpa.showSql:false}",
- "formatSql": "${keycloak.connectionsJpa.formatSql:true}",
- "globalStatsInterval": "${keycloak.connectionsJpa.globalStatsInterval:-1}"
+ "formatSql": "${keycloak.connectionsJpa.formatSql:true}"
}
},
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/pom.xml
new file mode 100644
index 0000000..b051db7
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/pom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-as7</artifactId>
+
+ <name>Adapter Tests - JBoss - JBossAS 7</name>
+
+ <properties>
+ <app.server>as7</app.server>
+ <adapter.libs.home>${app.server.home}/modules/org/keycloak</adapter.libs.home>
+
+ <app.server.management.protocol>remote</app.server.management.protocol>
+ <app.server.management.port>${app.server.management.port.jmx}</app.server.management.port>
+
+ <app.server.java.home>${java7.home}</app.server.java.home>
+ <app.server.memory.settings>-Xms64m -Xmx512m -XX:MaxPermSize=256m</app.server.memory.settings>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>java7.home</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/AS7OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/AS7OIDCAdapterTest.java
new file mode 100644
index 0000000..93dec26
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/as7/src/test/java/org/keycloak/testsuite/adapter/AS7OIDCAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-as7")
+//@AdapterLibsLocationProperty("adapter.libs.as7")
+public class AS7OIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/pom.xml
new file mode 100644
index 0000000..c30978c
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-eap</artifactId>
+
+ <name>Adapter Tests - JBoss - EAP</name>
+
+ <properties>
+ <app.server>eap</app.server>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java
new file mode 100644
index 0000000..4912f06
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java
@@ -0,0 +1,16 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap")
+//@AdapterLibsLocationProperty("adapter.libs.eap7")
+//@Ignore //failing tests
+public class EAPOIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCSessionAdapterTest.java
new file mode 100644
index 0000000..e1db84f
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCSessionAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap")
+//@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAPOIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLAdapterTest.java
new file mode 100644
index 0000000..8852087
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSAMLServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-eap")
+//@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAPSAMLAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPDemoExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPDemoExampleAdapterTest.java
new file mode 100644
index 0000000..fa22b56
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/EAPDemoExampleAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap")
+//@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAPDemoExampleAdapterTest extends AbstractDemoExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/pom.xml
new file mode 100644
index 0000000..d013600
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-eap6</artifactId>
+
+ <name>Adapter Tests - JBoss - EAP 6</name>
+
+ <properties>
+ <app.server>eap6</app.server>
+
+ <app.server.management.protocol>remote</app.server.management.protocol>
+ <app.server.management.port>${app.server.management.port.jmx}</app.server.management.port>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCSessionAdapterTest.java
new file mode 100644
index 0000000..82f5926
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCSessionAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap6")
+//@AdapterLibsLocationProperty("adapter.libs.eap6")
+public class EAP6OIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/pom.xml
new file mode 100644
index 0000000..23301fb
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/pom.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+
+ <packaging>pom</packaging>
+
+ <name>Adapter Tests - JBoss</name>
+
+ <properties>
+ <common.resources>${project.parent.basedir}/common</common.resources>
+ <adapter.libs.home>${app.server.home}/modules/system/add-ons/keycloak</adapter.libs.home>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>adapter-test-jboss-submodules</id>
+ <activation>
+ <file>
+ <exists>src</exists>
+ </file>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-arquillian-container-managed</artifactId>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <profile>
+ <id>app-server-as7</id>
+ <modules>
+ <module>as7</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-eap</id>
+ <modules>
+ <module>eap</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-eap6</id>
+ <modules>
+ <module>eap6</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-wildfly</id>
+ <modules>
+ <module>wildfly</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-wildfly8</id>
+ <modules>
+ <module>wildfly8</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-wildfly9</id>
+ <modules>
+ <module>wildfly9</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-relative</id>
+ <modules>
+ <module>relative</module>
+ </modules>
+ </profile>
+
+ </profiles>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPCorsExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPCorsExampleAdapterTest.java
new file mode 100644
index 0000000..a718a3b
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPCorsExampleAdapterTest.java
@@ -0,0 +1,10 @@
+package org.keycloak.testsuite.adapter.example;
+
+/**
+ *
+ * @author fkiss
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPCorsExampleAdapterTest extends AbstractCorsExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPDemoExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPDemoExampleAdapterTest.java
new file mode 100644
index 0000000..d2775bf
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPDemoExampleAdapterTest.java
@@ -0,0 +1,10 @@
+package org.keycloak.testsuite.adapter.example;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPDemoExampleAdapterTest extends AbstractDemoExampleAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPJSConsoleExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPJSConsoleExampleAdapterTest.java
new file mode 100644
index 0000000..d11f68b
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPJSConsoleExampleAdapterTest.java
@@ -0,0 +1,10 @@
+package org.keycloak.testsuite.adapter.example;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPJSConsoleExampleAdapterTest extends AbstractJSConsoleExampleAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPSAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPSAMLExampleAdapterTest.java
new file mode 100644
index 0000000..6361e83
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/example/RelativeEAPSAMLExampleAdapterTest.java
@@ -0,0 +1,10 @@
+package org.keycloak.testsuite.adapter.example;
+
+/**
+ *
+ * @author mhajas
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPSAMLExampleAdapterTest extends AbstractSAMLExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCAdapterTest.java
new file mode 100644
index 0000000..249ec6b
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPOIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCSessionAdapterTest.java
new file mode 100644
index 0000000..9ef19ce
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPOIDCSessionAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPOIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPSAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPSAMLAdapterTest.java
new file mode 100644
index 0000000..cd27bee
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/eap/src/test/java/org/keycloak/testsuite/adapter/RelativeEAPSAMLAdapterTest.java
@@ -0,0 +1,11 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSAMLServletsAdapterTest;
+
+/**
+ * @author mhajas
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeEAPSAMLAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/pom.xml
new file mode 100644
index 0000000..96558d7
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <packaging>pom</packaging>
+
+ <artifactId>integration-arquillian-tests-adapters-jboss-relative</artifactId>
+
+ <name>Adapter Tests - JBoss - Relative</name>
+
+ <properties>
+ <common.resources>${project.parent.parent.basedir}/common</common.resources>
+
+ <app.server.skip.unpack>true</app.server.skip.unpack>
+
+ <auth.server.jboss>false</auth.server.jboss>
+ <auth.server.container>app-server-${app.server}</auth.server.container>
+ <auth.server.jboss.artifactId>${app.server.artifactId}</auth.server.jboss.artifactId>
+
+ <app.server.mode>suite</app.server.mode>
+
+ <app.server.port.offset>${auth.server.port.offset}</app.server.port.offset>
+ <app.server.http.port>${auth.server.http.port}</app.server.http.port>
+ <app.server.https.port>${auth.server.https.port}</app.server.https.port>
+ <app.server.management.port>${auth.server.management.port}</app.server.management.port>
+
+ <app.server.startup.timeout>${auth.server.jboss.startup.timeout}</app.server.startup.timeout>
+ <app.server.memory.settings>${auth.server.memory.settings}</app.server.memory.settings>
+ <app.server.ssl.required>${auth.server.ssl.required}</app.server.ssl.required>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>auth-server-wildfly</id>
+ <modules>
+ <module>wildfly</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>auth-server-eap</id>
+ <modules>
+ <module>eap</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCAdapterTest.java
new file mode 100644
index 0000000..dd7b733
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeWildflyOIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCSessionAdapterTest.java
new file mode 100644
index 0000000..021d25b
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflyOIDCSessionAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeWildflyOIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflySAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflySAMLAdapterTest.java
new file mode 100644
index 0000000..0413cee
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/relative/wildfly/src/test/java/org/keycloak/testsuite/adapter/RelativeWildflySAMLAdapterTest.java
@@ -0,0 +1,11 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSAMLServletsAdapterTest;
+
+/**
+ * @author mhajas
+ */
+//@AdapterLibsLocationProperty("adapter.libs.eap")
+public class RelativeWildflySAMLAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflySAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflySAMLExampleAdapterTest.java
new file mode 100644
index 0000000..e8627aa
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/WildflySAMLExampleAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-wildfly")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly")
+public class WildflySAMLExampleAdapterTest extends AbstractSAMLExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflySAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflySAMLAdapterTest.java
new file mode 100644
index 0000000..8e00445
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflySAMLAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSAMLServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-wildfly")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly")
+public class WildflySAMLAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/pom.xml
new file mode 100644
index 0000000..6c288a0
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-wildfly8</artifactId>
+
+ <name>Adapter Tests - JBoss - Wildfly 8</name>
+
+ <properties>
+ <app.server>wildfly8</app.server>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCAdapterTest.java
new file mode 100644
index 0000000..10f3d8d
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly8")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly8")
+public class Wildfly8OIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCSessionAdapterTest.java
new file mode 100644
index 0000000..06f2df7
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly8/src/test/java/org/keycloak/testsuite/adapter/Wildfly8OIDCSessionAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly8")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly8")
+public class Wildfly8OIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/pom.xml
new file mode 100644
index 0000000..d4a5e6b
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-jboss</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-wildfly9</artifactId>
+
+ <name>Adapter Tests - JBoss - Wildfly 9</name>
+
+ <properties>
+ <app.server>wildfly9</app.server>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9BasicAuthExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9BasicAuthExampleAdapterTest.java
new file mode 100644
index 0000000..bb70e9e
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9BasicAuthExampleAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9BasicAuthExampleAdapterTest extends AbstractBasicAuthExampleAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9DemoExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9DemoExampleAdapterTest.java
new file mode 100644
index 0000000..d1af7fa
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9DemoExampleAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9DemoExampleAdapterTest extends AbstractDemoExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9SAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9SAMLExampleAdapterTest.java
new file mode 100644
index 0000000..7f55123
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/example/Wildfly9SAMLExampleAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9SAMLExampleAdapterTest extends AbstractSAMLExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCAdapterTest.java
new file mode 100644
index 0000000..621cd20
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9OIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCSessionAdapterTest.java
new file mode 100644
index 0000000..3f7ddce
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9OIDCSessionAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9OIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLAdapterTest.java
new file mode 100644
index 0000000..77f8eb1
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSAMLServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-wildfly9")
+//@AdapterLibsLocationProperty("adapter.libs.wildfly9")
+public class Wildfly9SAMLAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse61/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse61/pom.xml
new file mode 100644
index 0000000..908b08c
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse61/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-fuse61</artifactId>
+
+ <name>Adapter Tests - Karaf - JBoss Fuse 6.1</name>
+
+ <properties>
+ <app.server>fuse61</app.server>
+
+ <app.server.management.user>admin</app.server.management.user>
+ <app.server.management.password>admin</app.server.management.password>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse62/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse62/pom.xml
new file mode 100644
index 0000000..b839725
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/karaf/fuse62/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-fuse62</artifactId>
+
+ <name>Adapter Tests - Karaf - JBoss Fuse 6.2</name>
+
+ <properties>
+ <app.server>fuse62</app.server>
+
+ <app.server.management.user>admin</app.server.management.user>
+ <app.server.management.password>admin</app.server.management.password>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/karaf/karaf3/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/karaf/karaf3/pom.xml
new file mode 100644
index 0000000..4243562
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/karaf/karaf3/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-karaf</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-karaf3</artifactId>
+
+ <name>Adapter Tests - Karaf - Karaf 3</name>
+
+ <properties>
+ <app.server>karaf3</app.server>
+
+ <app.server.management.user>karaf</app.server.management.user>
+ <app.server.management.password>karaf</app.server.management.password>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/karaf/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/karaf/pom.xml
index 421217e..9fc7753 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/karaf/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/adapters/karaf/pom.xml
@@ -1,35 +1,41 @@
<?xml version="1.0"?>
<!--
- ~ Copyright 2016 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.
- -->
+~ Copyright 2016 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.
+-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-tests-adapters</artifactId>
<version>1.9.2.Final-SNAPSHOT</version>
</parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>integration-arquillian-adapters-karaf</artifactId>
- <name>Adapter Tests on Karaf</name>
-
+ <artifactId>integration-arquillian-tests-adapters-karaf</artifactId>
+
+ <packaging>pom</packaging>
+
+ <name>Adapter Tests - Karaf</name>
+
<properties>
-
+ <common.resources>${project.parent.basedir}/common</common.resources>
+
<!--fuse examples expect auth server on 8080-->
<auth.server.port.offset>0</auth.server.port.offset>
<auth.server.http.port>8080</auth.server.http.port>
@@ -38,127 +44,96 @@
<app.server.http.port>8181</app.server.http.port>
</properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-container-karaf-managed</artifactId>
- <version>2.1.0.CR18</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.aries.jmx</groupId>
- <artifactId>org.apache.aries.jmx</artifactId>
- <version>1.1.1</version>
- </dependency>
-
- <dependency>
- <groupId>jline</groupId>
- <artifactId>jline</artifactId>
- <version>2.12</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sshd</groupId>
- <artifactId>sshd-core</artifactId>
- <version>0.12.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- <version>3.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf</groupId>
- <artifactId>org.apache.karaf.client</artifactId>
- <version>3.0.3</version>
- </dependency>
-
- </dependencies>
-
+
<profiles>
-
- <profile>
- <id>fuse</id>
- <activation>
- <property>
- <name>fuse.home</name>
- </property>
- </activation>
- <properties>
- <karaf.home>${fuse.home}</karaf.home>
- <arquillian.xml.stylesheet>src/main/xslt/arquillian-fuse.xsl</arquillian.xml.stylesheet>
- </properties>
- </profile>
-
<profile>
- <id>karaf</id>
+ <id>adapter-test-karaf-submodules</id>
<activation>
- <property>
- <name>!fuse.home</name>
- </property>
+ <file>
+ <exists>src</exists>
+ </file>
</activation>
- <properties>
- <karaf.version>3.0.3</karaf.version>
- <karaf.home>${containers.home}/apache-karaf-minimal-${karaf.version}</karaf.home>
- </properties>
<dependencies>
+
<dependency>
- <groupId>org.apache.karaf</groupId>
- <artifactId>apache-karaf-minimal</artifactId>
- <version>${karaf.version}</version>
- <type>zip</type>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-container-karaf-managed</artifactId>
+ <version>2.1.0.CR18</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>org.apache.aries.jmx</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+ <version>2.12</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sshd</groupId>
+ <artifactId>sshd-core</artifactId>
+ <version>0.12.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.karaf.shell</groupId>
+ <artifactId>org.apache.karaf.shell.console</artifactId>
+ <version>3.0.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.karaf</groupId>
+ <artifactId>org.apache.karaf.client</artifactId>
+ <version>3.0.3</version>
+ </dependency>
</dependencies>
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
+ <artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
- <id>unpack-karaf</id>
- <phase>generate-resources</phase>
<goals>
- <goal>unpack</goal>
+ <goal>enforce</goal>
</goals>
<configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.karaf</groupId>
- <artifactId>apache-karaf-minimal</artifactId>
- <version>${karaf.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}</outputDirectory>
- </artifactItem>
- </artifactItems>
- <overWriteIfNewer>true</overWriteIfNewer>
+ <rules>
+ <requireProperty>
+ <property>auth.server</property>
+ <regex>(wildfly)|(eap)</regex>
+ <regexMessage>Karaf/Fuse adapter tests require activation of profile "auth-server-wildfly" or "auth-server-eap".</regexMessage>
+ </requireProperty>
+ </rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
- </build>
+ </build>
</profile>
+
+
+ <profile>
+ <id>app-server-karaf3</id>
+ <modules>
+ <module>karaf3</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-fuse61</id>
+ <modules>
+ <module>fuse61</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-fuse62</id>
+ <modules>
+ <module>fuse62</module>
+ </modules>
+ </profile>
+
</profiles>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <app.server.karaf>true</app.server.karaf>
- <karaf.home>${karaf.home}</karaf.home>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/pom.xml
index 21b0ab4..f46954a 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/adapters/pom.xml
@@ -1,20 +1,20 @@
<?xml version="1.0"?>
<!--
- ~ Copyright 2016 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.
- -->
+~ Copyright 2016 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.
+-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
@@ -34,83 +34,140 @@
<name>Adapter Tests</name>
<properties>
+
+ <app.server.arquillian.xsl>${common.resources}/xslt/arquillian.xsl</app.server.arquillian.xsl>
+
+ <app.server.artifactId>integration-arquillian-servers-app-server-${app.server}</app.server.artifactId>
+ <app.server.skip.unpack>false</app.server.skip.unpack>
+
+ <app.server.mode>manual</app.server.mode>
+
<app.server.port.offset>200</app.server.port.offset>
<app.server.http.port>8280</app.server.http.port>
<app.server.https.port>8643</app.server.https.port>
+ <app.server.management.protocol>http-remoting</app.server.management.protocol>
<app.server.management.port>10190</app.server.management.port>
<app.server.management.port.jmx>10199</app.server.management.port.jmx>
+ <app.server.startup.timeout>60</app.server.startup.timeout>
+ <app.server.memory.settings>-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m</app.server.memory.settings>
+
<app.server.ssl.required>false</app.server.ssl.required>
+
<adapter.test.props>-Dapp.server.base.url=http://localhost:${app.server.http.port} -Dmy.host.name=localhost</adapter.test.props>
- <exclude.adapters>-</exclude.adapters>
- <arquillian.xml.stylesheet>src/main/xslt/arquillian.xsl</arquillian.xml.stylesheet>
- <skip.install.adapters>false</skip.install.adapters>
+ <app.server.home>${containers.home}/app-server-${app.server}</app.server.home>
+ <adapter.libs.mode>bundled</adapter.libs.mode>
+ <adapter.config.mode>bundled</adapter.config.mode>
+
</properties>
+
+ <modules>
+ <module>jboss</module>
+ <module>karaf</module>
+ <module>tomcat</module>
+ </modules>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-app-server-to-arquillian-xml</id>
- <phase>process-resources</phase>
- <goals>
- <goal>transform</goal>
- </goals>
- <configuration>
- <transformationSets>
- <transformationSet>
- <dir>${project.build.directory}/dependency</dir>
- <includes>
- <include>arquillian.xml</include>
- </includes>
- <stylesheet>${arquillian.xml.stylesheet}</stylesheet>
- <parameters>
- <parameter>
- <name>keycloak.version</name>
- <value>${project.version}</value>
- </parameter>
- </parameters>
- <outputDir>${project.build.directory}/dependency</outputDir>
- </transformationSet>
- </transformationSets>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
-
- <app.server.port.offset>${app.server.port.offset}</app.server.port.offset>
- <app.server.http.port>${app.server.http.port}</app.server.http.port>
- <app.server.https.port>${app.server.https.port}</app.server.https.port>
- <app.server.management.port>${app.server.management.port}</app.server.management.port>
- <app.server.management.port.jmx>${app.server.management.port.jmx}</app.server.management.port.jmx>
- <app.server.ssl.required>${app.server.ssl.required}</app.server.ssl.required>
-
- <adapter.test.props>${adapter.test.props}</adapter.test.props>
+ <profiles>
- <adapter.libs.mode>bundled</adapter.libs.mode>
- <adapter.config.mode>provided</adapter.config.mode>
+ <profile>
+ <id>adapter-test-submodules</id>
+ <activation>
+ <file>
+ <exists>src</exists>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-app-server-to-arquillian-xml</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${project.build.directory}/dependency</dir>
+ <includes>
+ <include>arquillian.xml</include>
+ </includes>
+ <stylesheet>${app.server.arquillian.xsl}</stylesheet>
+ <parameters>
+ <parameter>
+ <name>keycloak.version</name>
+ <value>${project.version}</value>
+ </parameter>
+ </parameters>
+ <outputDir>${project.build.directory}/dependency</outputDir>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-app-server</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>${app.server.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${containers.home}</outputDirectory>
+ <skip>${app.server.skip.unpack}</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <app.server>${app.server}</app.server>
+ <app.server.home>${app.server.home}</app.server.home>
+ <app.server.java.home>${app.server.java.home}</app.server.java.home>
- </systemPropertyVariables>
- <excludes>
- <exclude>${exclude.adapters}</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <profiles>
+ <app.server.mode>${app.server.mode}</app.server.mode>
+
+ <app.server.port.offset>${app.server.port.offset}</app.server.port.offset>
+ <app.server.http.port>${app.server.http.port}</app.server.http.port>
+ <app.server.https.port>${app.server.https.port}</app.server.https.port>
+ <app.server.management.protocol>${app.server.management.protocol}</app.server.management.protocol>
+ <app.server.management.user>${app.server.management.user}</app.server.management.user>
+ <app.server.management.password>${app.server.management.password}</app.server.management.password>
+ <app.server.management.port>${app.server.management.port}</app.server.management.port>
+ <app.server.management.port.jmx>${app.server.management.port.jmx}</app.server.management.port.jmx>
+ <app.server.ssl.required>${app.server.ssl.required}</app.server.ssl.required>
+
+ <app.server.startup.timeout>${app.server.startup.timeout}</app.server.startup.timeout>
+ <app.server.memory.settings>${app.server.memory.settings}</app.server.memory.settings>
+
+ <adapter.test.props>${adapter.test.props}</adapter.test.props>
+ <adapter.libs.home>${adapter.libs.home}</adapter.libs.home>
+ <adapter.libs.mode>${adapter.libs.mode}</adapter.libs.mode>
+ <adapter.config.mode>${adapter.config.mode}</adapter.config.mode>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
<profile>
<id>adapter-libs-provided</id>
<activation>
@@ -118,21 +175,9 @@
<name>!adapter.libs.bundled</name>
</property>
</activation>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <adapter.libs.mode>provided</adapter.libs.mode>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
+ <properties>
+ <adapter.libs.mode>provided</adapter.libs.mode>
+ </properties>
</profile>
<profile>
@@ -146,7 +191,6 @@
<pluginManagement>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
@@ -251,7 +295,6 @@
</executions>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
@@ -286,70 +329,6 @@
</build>
</profile>
- <profile>
- <id>app-server-eap6</id>
- <modules>
- <module>eap6</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-eap7</id>
- <modules>
- <module>eap7</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-wildfly</id>
- <modules>
- <module>wildfly</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-wildfly-relative</id>
- <modules>
- <module>wildfly-relative</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-wildfly8</id>
- <modules>
- <module>wildfly8</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-as7</id>
- <modules>
- <module>as7</module>
- </modules>
- </profile>
-
- <profile>
- <id>app-server-tomcat</id>
- <modules>
- <module>tomcat</module>
- </modules>
- </profile>
- <profile>
- <id>app-server-karaf</id>
- <modules>
- <module>karaf</module>
- </modules>
- </profile>
- <profile>
- <id>no-adapter-tests</id>
- <properties>
- <!-- Exclude all adapters tests. -->
- <exclude.adapters>**/adapter/**/*Test.java</exclude.adapters>
- </properties>
- </profile>
- <profile>
- <id>no-relative</id>
- <properties>
- <!-- Exclude relative adapters tests. -->
- <exclude.adapters>**/adapter/**/WildflyRelative*Test.java</exclude.adapters>
- </properties>
- </profile>
-
</profiles>
</project>
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/tomcat/pom.xml
index 01b3349..daf6968 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/tomcat/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/pom.xml
@@ -1,153 +1,65 @@
<?xml version="1.0"?>
<!--
- ~ Copyright 2016 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.
- -->
+~ Copyright 2016 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.
+-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.keycloak.testsuite</groupId>
<artifactId>integration-arquillian-tests-adapters</artifactId>
<version>1.9.2.Final-SNAPSHOT</version>
</parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>integration-arquillian-adapters-tomcat</artifactId>
- <name>Adapter Tests on Tomcat</name>
+ <artifactId>integration-arquillian-tests-adapters-tomcat</artifactId>
+
+ <packaging>pom</packaging>
+
+ <name>Adapter Tests - Tomcat</name>
<properties>
- <tomcat.version>8.0.23</tomcat.version>
- <tomcat.home>${containers.home}/apache-tomcat-${tomcat.version}</tomcat.home>
- <!-- FIXME disabled port-offset because tomcat doesn't support it -->
+ <common.resources>${project.parent.basedir}/common</common.resources>
+ <!--TODO: implement "port offset" for tomcat-->
<app.server.port.offset>0</app.server.port.offset>
<app.server.http.port>8080</app.server.http.port>
<app.server.management.port>9990</app.server.management.port>
</properties>
- <dependencies>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-tomcat-managed-7</artifactId>
- <version>1.0.0.CR7</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.10</version>
- <executions>
- <execution>
- <id>unpack-tomcat-and-adapter</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat</artifactId>
- <version>${tomcat.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}</outputDirectory>
- </artifactItem>
- <artifactItem>
- <groupId>org.keycloak</groupId>
- <artifactId>keycloak-tomcat8-adapter-dist</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${tomcat.home}/lib</outputDirectory>
- </artifactItem>
- </artifactItems>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- <execution>
- <id>libs-for-tomcat</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-client</artifactId>
- </artifactItem>
- <artifactItem>
- <groupId>org.jboss.spec.javax.ws.rs</groupId>
- <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
- </artifactItem>
- <artifactItem>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- </artifactItem>
- <artifactItem>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.4</version>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${tomcat.home}/lib</outputDirectory>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-tomcat-manager-user</id>
- <phase>process-test-resources</phase>
- <goals>
- <goal>transform</goal>
- </goals>
- <configuration>
- <transformationSets>
- <transformationSet>
- <dir>${tomcat.home}/conf</dir>
- <stylesheet>src/main/xslt/tomcat-users.xsl</stylesheet>
- <includes>
- <include>tomcat-users.xml</include>
- </includes>
- <outputDir>${tomcat.home}/conf</outputDir>
- </transformationSet>
- </transformationSets>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <app.server.tomcat>true</app.server.tomcat>
- <tomcat.home>${tomcat.home}</tomcat.home>
- <!-- TODO: implement port-offset for tomcat server.xml so we can shift from 8080 -->
- <app.server.management.port.tomcat>8089</app.server.management.port.tomcat>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <profiles>
+ <profile>
+ <id>app-server-tomcat7</id>
+ <modules>
+ <module>tomcat7</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-tomcat8</id>
+ <modules>
+ <module>tomcat8</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>app-server-tomcat9</id>
+ <modules>
+ <module>tomcat9</module>
+ </modules>
+ </profile>
+ </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/pom.xml
new file mode 100644
index 0000000..9902fd9
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat7/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-tomcat7</artifactId>
+
+ <name>Adapter Tests - Tomcat - Tomcat 7</name>
+
+ <properties>
+ <app.server>tomcat7</app.server>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-tomcat-managed-7</artifactId>
+ <version>1.0.0.CR7</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/pom.xml
new file mode 100644
index 0000000..d8511be
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-tomcat8</artifactId>
+
+ <name>Adapter Tests - Tomcat - Tomcat 8</name>
+
+ <properties>
+ <app.server>tomcat8</app.server>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-tomcat-managed-7</artifactId>
+ <version>1.0.0.CR7</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat8DemoExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat8DemoExampleAdapterTest.java
new file mode 100644
index 0000000..ef3d06d
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/example/Tomcat8DemoExampleAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-tomcat8")
+public class Tomcat8DemoExampleAdapterTest extends AbstractDemoExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/Tomcat8OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/Tomcat8OIDCAdapterTest.java
new file mode 100644
index 0000000..ce6255f
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat8/src/test/java/org/keycloak/testsuite/adapter/Tomcat8OIDCAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-tomcat8")
+public class Tomcat8OIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/pom.xml
new file mode 100644
index 0000000..397146c
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+~ Copyright 2016 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.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-tests-adapters-tomcat</artifactId>
+ <version>1.9.2.Final-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>integration-arquillian-tests-adapters-tomcat9</artifactId>
+
+ <name>Adapter Tests - Tomcat - Tomcat 9</name>
+
+ <properties>
+ <app.server>tomcat9</app.server>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-tomcat-managed-7</artifactId>
+ <version>1.0.0.CR7</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCAdapterTest.java
new file mode 100644
index 0000000..e52fb4d
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-tomcat9")
+public class Tomcat9OIDCAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCSessionAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCSessionAdapterTest.java
new file mode 100644
index 0000000..6e880d8
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/tomcat/tomcat9/src/test/java/org/keycloak/testsuite/adapter/Tomcat9OIDCSessionAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter;
+
+import org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-tomcat9")
+public class Tomcat9OIDCSessionAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/pom.xml b/testsuite/integration-arquillian/tests/other/console/pom.xml
index 116000e..e43de66 100644
--- a/testsuite/integration-arquillian/tests/other/console/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/console/pom.xml
@@ -35,7 +35,6 @@
<pluginManagement>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
@@ -45,7 +44,7 @@
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${keycloak.home}/themes</outputDirectory>
+ <outputDirectory>${auth.server.home}/themes</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/themes</directory>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
index 39ce3f0..81e0f2d 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
@@ -1,7 +1,6 @@
package org.keycloak.testsuite.console.page.authentication;
import org.jboss.arquillian.graphene.findby.ByJQuery;
-import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -15,7 +14,6 @@ import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
* @author Petr Mensik
* @author tkyjovsk
* @author mhajas
- * @author Vaclav Muzikar <vmuzikar@redhat.com>
*/
public class PasswordPolicy extends Authentication {
@@ -30,10 +28,10 @@ public class PasswordPolicy extends Authentication {
@FindBy(tagName = "select")
private WebElement addPolicySelectElement;
- @FindBy(tagName = "table")
- private WebElement table;
+ @FindBy(css = "tr.ng-scope")
+ private List<WebElement> allRows;
- public void addPolicy(Type policy, String value) {
+ public void addPolicy(PasswordPolicy.Type policy, String value) {
waitUntilElement(addPolicySelectElement).is().present();
addPolicySelect.selectByVisibleText(policy.getName());
setPolicyValue(policy, value);
@@ -41,36 +39,45 @@ public class PasswordPolicy extends Authentication {
}
- public void addPolicy(Type policy, int value) {
+ public void addPolicy(PasswordPolicy.Type policy, int value) {
addPolicy(policy, String.valueOf(value));
}
- public void addPolicy(Type policy) {
+ public void addPolicy(PasswordPolicy.Type policy) {
addPolicySelect.selectByVisibleText(policy.getName());
primaryButton.click();
}
- public void removePolicy(Type policy) {
- getPolicyRow(policy).findElement(By.cssSelector("td.kc-action-cell")).click();
+ public void removePolicy(PasswordPolicy.Type policy) {
+ int policyInputLocation = findPolicy(policy);
+ allRows.get(policyInputLocation).findElements(By.tagName("button")).get(0).click();
primaryButton.click();
}
- public void editPolicy(Type policy, int value) {
+ public void editPolicy(PasswordPolicy.Type policy, int value) {
editPolicy(policy, String.valueOf(value));
}
- public void editPolicy(Type policy, String value) {
+ public void editPolicy(PasswordPolicy.Type policy, String value) {
setPolicyValue(policy, value);
primaryButton.click();
}
- private void setPolicyValue(Type policy, String value) {
- WebElement input = getPolicyRow(policy).findElement(By.tagName("input"));
- Form.setInputValue(input, value);
+ private void setPolicyValue(PasswordPolicy.Type policy, String value) {
+ int policyInputLocation = findPolicy(policy);
+ WebElement input = allRows.get(policyInputLocation).findElement(By.tagName("input"));
+ input.clear();
+ input.sendKeys(value);
}
- private WebElement getPolicyRow(Type policy) {
- return table.findElement(By.xpath("//tr[td[text()='" + policy.getName() + "']]"));
+ private int findPolicy(PasswordPolicy.Type policy) {
+ for (int i = 0; i < allRows.size(); i++) {
+ String policyName = allRows.get(i).findElement(ByJQuery.selector("td:eq(0)")).getText();
+ if (policyName.equals(policy.getName())) {
+ return i;
+ }
+ }
+ return 0;
}
public enum Type {
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/RequiredActions.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/RequiredActions.java
index 7e4c29c..b6f182a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/RequiredActions.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/RequiredActions.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.console.page.authentication;
-import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -29,8 +28,6 @@ public class RequiredActions extends Authentication {
}
private void setRequiredActionValue(String id, boolean value) {
- WaitUtils.waitUntilElement(requiredActionTable).is().present();
-
WebElement checkbox = requiredActionTable.findElement(By.id(id));
if (checkbox.isSelected() != value) {
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
index c289e67..0269e03 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
@@ -1,6 +1,13 @@
package org.keycloak.testsuite.console.page.clients;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.representations.idm.ClientRepresentation;
+import static org.keycloak.testsuite.auth.page.login.OIDCLogin.OIDC;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.*;
+import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
import static org.keycloak.testsuite.page.Form.getInputValue;
import static org.keycloak.testsuite.util.WaitUtils.*;
@@ -21,6 +28,13 @@ public class CreateClientForm extends Form {
@FindBy(id = "protocol")
private Select protocolSelect;
+ @Page
+ private SAMLClientSettingsForm samlForm;
+
+ public SAMLClientSettingsForm samlForm() {
+ return samlForm;
+ }
+
public void setValues(ClientRepresentation client) {
waitUntilElement(clientIdInput).is().present();
@@ -36,6 +50,22 @@ public class CreateClientForm extends Form {
setInputValue(clientIdInput, clientId);
}
+ public enum OidcAccessType {
+ BEARER_ONLY("bearer-only"),
+ PUBLIC("public"),
+ CONFIDENTIAL("confidential");
+
+ private final String name;
+
+ private OidcAccessType(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+ }
+
public String getProtocol() {
waitUntilElement(protocolSelect.getFirstSelectedOption()).is().present();
return protocolSelect.getFirstSelectedOption().getText();
@@ -46,4 +76,86 @@ public class CreateClientForm extends Form {
protocolSelect.selectByVisibleText(protocol);
Timer.DEFAULT.reset("clientSettings.setProtocol()");
}
-}
\ No newline at end of file
+
+ public class SAMLClientSettingsForm extends Form {
+
+ public static final String SAML_ASSERTION_SIGNATURE = "saml.assertion.signature";
+ public static final String SAML_AUTHNSTATEMENT = "saml.authnstatement";
+ public static final String SAML_CLIENT_SIGNATURE = "saml.client.signature";
+ public static final String SAML_ENCRYPT = "saml.encrypt";
+ public static final String SAML_FORCE_POST_BINDING = "saml.force.post.binding";
+ public static final String SAML_MULTIVALUED_ROLES = "saml.multivalued.roles";
+ public static final String SAML_SERVER_SIGNATURE = "saml.server.signature";
+ public static final String SAML_SIGNATURE_ALGORITHM = "saml.signature.algorithm";
+ public static final String SAML_ASSERTION_CONSUMER_URL_POST = "saml_assertion_consumer_url_post";
+ public static final String SAML_ASSERTION_CONSUMER_URL_REDIRECT = "saml_assertion_consumer_url_redirect";
+ public static final String SAML_FORCE_NAME_ID_FORMAT = "saml_force_name_id_format";
+ public static final String SAML_NAME_ID_FORMAT = "saml_name_id_format";
+ public static final String SAML_SIGNATURE_CANONICALIZATION_METHOD = "saml_signature_canonicalization_method";
+ public static final String SAML_SINGLE_LOGOUT_SERVICE_URL_POST = "saml_single_logout_service_url_post";
+ public static final String SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT = "saml_single_logout_service_url_redirect";
+
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlAuthnStatement']]")
+ private OnOffSwitch samlAuthnStatement;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlServerSignature']]")
+ private OnOffSwitch samlServerSignature;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlAssertionSignature']]")
+ private OnOffSwitch samlAssertionSignature;
+ @FindBy(id = "signatureAlgorithm")
+ private Select signatureAlgorithm;
+ @FindBy(id = "canonicalization")
+ private Select canonicalization;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlEncrypt']]")
+ private OnOffSwitch samlEncrypt;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlClientSignature']]")
+ private OnOffSwitch samlClientSignature;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlForcePostBinding']]")
+ private OnOffSwitch samlForcePostBinding;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='frontchannelLogout']]")
+ private OnOffSwitch frontchannelLogout;
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlForceNameIdFormat']]")
+ private OnOffSwitch samlForceNameIdFormat;
+ @FindBy(id = "samlNameIdFormat")
+ private Select samlNameIdFormat;
+
+ @FindBy(xpath = "//fieldset[contains(@data-ng-show, 'saml')]//i")
+ private WebElement fineGrainCollapsor;
+
+ @FindBy(id = "consumerServicePost")
+ private WebElement consumerServicePostInput;
+ @FindBy(id = "consumerServiceRedirect")
+ private WebElement consumerServiceRedirectInput;
+ @FindBy(id = "logoutPostBinding")
+ private WebElement logoutPostBindingInput;
+ @FindBy(id = "logoutRedirectBinding")
+ private WebElement logoutRedirectBindingInput;
+
+ public void setValues(ClientRepresentation client) {
+ waitUntilElement(fineGrainCollapsor).is().visible();
+
+ Map<String, String> attributes = client.getAttributes();
+ samlAuthnStatement.setOn("true".equals(attributes.get(SAML_AUTHNSTATEMENT)));
+ samlServerSignature.setOn("true".equals(attributes.get(SAML_SERVER_SIGNATURE)));
+ samlAssertionSignature.setOn("true".equals(attributes.get(SAML_ASSERTION_SIGNATURE)));
+ if (samlServerSignature.isOn() || samlAssertionSignature.isOn()) {
+ signatureAlgorithm.selectByVisibleText(attributes.get(SAML_SIGNATURE_ALGORITHM));
+ canonicalization.selectByValue("string:" + attributes.get(SAML_SIGNATURE_CANONICALIZATION_METHOD));
+ }
+ samlEncrypt.setOn("true".equals(attributes.get(SAML_ENCRYPT)));
+ samlClientSignature.setOn("true".equals(attributes.get(SAML_CLIENT_SIGNATURE)));
+ samlForcePostBinding.setOn("true".equals(attributes.get(SAML_FORCE_POST_BINDING)));
+ frontchannelLogout.setOn(client.isFrontchannelLogout());
+ samlForceNameIdFormat.setOn("true".equals(attributes.get(SAML_FORCE_NAME_ID_FORMAT)));
+ samlNameIdFormat.selectByVisibleText(attributes.get(SAML_NAME_ID_FORMAT));
+
+ fineGrainCollapsor.click();
+ waitUntilElement(consumerServicePostInput).is().present();
+
+ setInputValue(consumerServicePostInput, attributes.get(SAML_ASSERTION_CONSUMER_URL_POST));
+ setInputValue(consumerServiceRedirectInput, attributes.get(SAML_ASSERTION_CONSUMER_URL_REDIRECT));
+ setInputValue(logoutPostBindingInput, attributes.get(SAML_SINGLE_LOGOUT_SERVICE_URL_POST));
+ setInputValue(logoutRedirectBindingInput, attributes.get(SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT));
+ }
+ }
+
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
index f5afcac..1994c0a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
@@ -22,7 +22,6 @@
package org.keycloak.testsuite.console.page.clients.credentials;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
@@ -69,7 +68,6 @@ public class ClientCredentialsGeneratePrivateKeysForm extends Form {
}
public void clickGenerateAndDownload() {
- waitUntilElement(generateAndDownloadButton).is().present();
generateAndDownloadButton.click();
}
}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
index 9eae0be..73957bc 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
@@ -2,7 +2,6 @@ package org.keycloak.testsuite.console.page.clients.mappers;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.pause;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
@@ -110,7 +109,6 @@ public class CreateClientMappersForm extends Form {
realmAvailable.selectByVisibleText(roleName);
}
selectRealmRoleButton.click();
- pause(500); // wait for the modal dialog to fade out
}
public void selectClientRole(String clientName, String roleName) {
@@ -119,7 +117,6 @@ public class CreateClientMappersForm extends Form {
clientAvailable.selectByVisibleText(roleName);
}
selectClientRoleButton.click();
- pause(500); // wait for the modal dialog to fade out
}
}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
index 17c98df..1e89e98 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
@@ -8,13 +8,14 @@ import org.openqa.selenium.support.FindBy;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import org.keycloak.testsuite.console.page.clients.CreateClientForm;
import org.openqa.selenium.support.ui.Select;
-import org.keycloak.testsuite.page.Form;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.BEARER_ONLY;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.PUBLIC;
import static org.keycloak.testsuite.util.WaitUtils.pause;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
/**
* @author tkyjovsk
@@ -51,11 +52,11 @@ public class ClientSettingsForm extends CreateClientForm {
@FindBy(id = "newRedirectUri")
private WebElement newRedirectUriInput;
- @FindBy(xpath = ".//i[contains(@data-ng-click, 'newRedirectUri') and @class='fa fa-plus']")
+ @FindBy(xpath = ".//i[contains(@data-ng-click, 'newRedirectUri')]")
private WebElement newRedirectUriSubmit;
@FindBy(xpath = ".//input[@ng-model='client.redirectUris[i]']")
private List<WebElement> redirectUriInputs;
- @FindBy(xpath = ".//i[contains(@data-ng-click, 'deleteRedirectUri') and @class='fa fa-minus']")
+ @FindBy(xpath = ".//i[contains(@data-ng-click, 'deleteRedirectUri')]")
private List<WebElement> deleteRedirectUriIcons;
@FindBy(id = "newWebOrigin")
@@ -67,22 +68,9 @@ public class ClientSettingsForm extends CreateClientForm {
@FindBy(xpath = ".//i[contains(@data-ng-click, 'deleteWebOrigin')]")
private List<WebElement> deleteWebOriginIcons;
- public enum OidcAccessType {
- BEARER_ONLY("bearer-only"),
- PUBLIC("public"),
- CONFIDENTIAL("confidential");
-
- private final String name;
-
- private OidcAccessType(String name) {
- this.name = name;
- }
+ @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='consentRequired']]")
+ private OnOffSwitch consentRequired;
- public String getName() {
- return name;
- }
- }
-
public void setBaseUrl(String baseUrl) {
setInputValue(baseUrlInput, baseUrl);
}
@@ -125,6 +113,32 @@ public class ClientSettingsForm extends CreateClientForm {
}
}
+ @Override
+ public void setValues(ClientRepresentation client) {
+ super.setValues(client);
+ setName(client.getName());
+ setEnabled(client.isEnabled());
+ setConsentRequired(client.isConsentRequired());
+ setBaseUrl(client.getBaseUrl());
+ if (OIDC.equals(client.getProtocol())) {
+ setAccessType(client);
+ if (!client.isBearerOnly()) {
+ setStandardFlowEnabled(client.isStandardFlowEnabled());
+ setDirectAccessGrantsEnabled(client.isDirectAccessGrantsEnabled());
+ if (client.isPublicClient()) {
+ setImplicitFlowEnabled(client.isImplicitFlowEnabled());
+ } else {//confidential
+ setServiceAccountsEnabled(client.isServiceAccountsEnabled());
+ }
+ if (client.isStandardFlowEnabled() || client.isImplicitFlowEnabled()) {
+ setRedirectUris(client.getRedirectUris());
+ }
+ }
+ setAdminUrl(client.getAdminUrl());
+ setWebOrigins(client.getWebOrigins());
+ }
+ }
+
public String getName() {
return getInputValue(nameInput);
}
@@ -149,8 +163,14 @@ public class ClientSettingsForm extends CreateClientForm {
consentRequiredSwitch.setOn(consentRequired);
}
- public void setAccessType(OidcAccessType accessType) {
- accessTypeSelect.selectByVisibleText(accessType.getName());
+ public void setAccessType(ClientRepresentation client) {
+ if (client.isBearerOnly()) {
+ accessTypeSelect.selectByVisibleText(BEARER_ONLY.getName());
+ } else if (client.isPublicClient()) {
+ accessTypeSelect.selectByVisibleText(PUBLIC.getName());
+ } else {
+ accessTypeSelect.selectByVisibleText(CONFIDENTIAL.getName());
+ }
}
public void addRedirectUri(String redirectUri) {
@@ -213,86 +233,5 @@ public class ClientSettingsForm extends CreateClientForm {
public void setServiceAccountsEnabled(boolean serviceAccountsEnabled) {
serviceAccountsEnabledSwitch.setOn(serviceAccountsEnabled);
}
-
- public class SAMLClientSettingsForm extends Form {
-
- public static final String SAML_ASSERTION_SIGNATURE = "saml.assertion.signature";
- public static final String SAML_AUTHNSTATEMENT = "saml.authnstatement";
- public static final String SAML_CLIENT_SIGNATURE = "saml.client.signature";
- public static final String SAML_ENCRYPT = "saml.encrypt";
- public static final String SAML_FORCE_POST_BINDING = "saml.force.post.binding";
- public static final String SAML_MULTIVALUED_ROLES = "saml.multivalued.roles";
- public static final String SAML_SERVER_SIGNATURE = "saml.server.signature";
- public static final String SAML_SIGNATURE_ALGORITHM = "saml.signature.algorithm";
- public static final String SAML_ASSERTION_CONSUMER_URL_POST = "saml_assertion_consumer_url_post";
- public static final String SAML_ASSERTION_CONSUMER_URL_REDIRECT = "saml_assertion_consumer_url_redirect";
- public static final String SAML_FORCE_NAME_ID_FORMAT = "saml_force_name_id_format";
- public static final String SAML_NAME_ID_FORMAT = "saml_name_id_format";
- public static final String SAML_SIGNATURE_CANONICALIZATION_METHOD = "saml_signature_canonicalization_method";
- public static final String SAML_SINGLE_LOGOUT_SERVICE_URL_POST = "saml_single_logout_service_url_post";
- public static final String SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT = "saml_single_logout_service_url_redirect";
-
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlAuthnStatement']]")
- private OnOffSwitch samlAuthnStatement;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlServerSignature']]")
- private OnOffSwitch samlServerSignature;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlAssertionSignature']]")
- private OnOffSwitch samlAssertionSignature;
- @FindBy(id = "signatureAlgorithm")
- private Select signatureAlgorithm;
- @FindBy(id = "canonicalization")
- private Select canonicalization;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlEncrypt']]")
- private OnOffSwitch samlEncrypt;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlClientSignature']]")
- private OnOffSwitch samlClientSignature;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlForcePostBinding']]")
- private OnOffSwitch samlForcePostBinding;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='frontchannelLogout']]")
- private OnOffSwitch frontchannelLogout;
- @FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='samlForceNameIdFormat']]")
- private OnOffSwitch samlForceNameIdFormat;
- @FindBy(id = "samlNameIdFormat")
- private Select samlNameIdFormat;
-
- @FindBy(xpath = "//fieldset[contains(@data-ng-show, 'saml')]//i")
- private WebElement fineGrainCollapsor;
-
- @FindBy(id = "consumerServicePost")
- private WebElement consumerServicePostInput;
- @FindBy(id = "consumerServiceRedirect")
- private WebElement consumerServiceRedirectInput;
- @FindBy(id = "logoutPostBinding")
- private WebElement logoutPostBindingInput;
- @FindBy(id = "logoutRedirectBinding")
- private WebElement logoutRedirectBindingInput;
-
- public void setValues(ClientRepresentation client) {
- waitUntilElement(fineGrainCollapsor).is().visible();
-
- Map<String, String> attributes = client.getAttributes();
- samlAuthnStatement.setOn("true".equals(attributes.get(SAML_AUTHNSTATEMENT)));
- samlServerSignature.setOn("true".equals(attributes.get(SAML_SERVER_SIGNATURE)));
- samlAssertionSignature.setOn("true".equals(attributes.get(SAML_ASSERTION_SIGNATURE)));
- if (samlServerSignature.isOn() || samlAssertionSignature.isOn()) {
- signatureAlgorithm.selectByVisibleText(attributes.get(SAML_SIGNATURE_ALGORITHM));
- canonicalization.selectByValue("string:" + attributes.get(SAML_SIGNATURE_CANONICALIZATION_METHOD));
- }
- samlEncrypt.setOn("true".equals(attributes.get(SAML_ENCRYPT)));
- samlClientSignature.setOn("true".equals(attributes.get(SAML_CLIENT_SIGNATURE)));
- samlForcePostBinding.setOn("true".equals(attributes.get(SAML_FORCE_POST_BINDING)));
- frontchannelLogout.setOn(client.isFrontchannelLogout());
- samlForceNameIdFormat.setOn("true".equals(attributes.get(SAML_FORCE_NAME_ID_FORMAT)));
- samlNameIdFormat.selectByVisibleText(attributes.get(SAML_NAME_ID_FORMAT));
-
- fineGrainCollapsor.click();
- waitUntilElement(consumerServicePostInput).is().present();
-
- setInputValue(consumerServicePostInput, attributes.get(SAML_ASSERTION_CONSUMER_URL_POST));
- setInputValue(consumerServiceRedirectInput, attributes.get(SAML_ASSERTION_CONSUMER_URL_REDIRECT));
- setInputValue(logoutPostBindingInput, attributes.get(SAML_SINGLE_LOGOUT_SERVICE_URL_POST));
- setInputValue(logoutRedirectBindingInput, attributes.get(SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT));
- }
- }
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
index 88e207c..2d927a9 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
@@ -191,10 +191,6 @@ public class LdapUserProviderForm extends Form {
vendorSelect.selectByVisibleText(vendor);
}
- public void selectVendor(int index) {
- vendorSelect.selectByIndex(index);
- }
-
public List<String> getVendors() {
waitUntilElement(By.id("vendor")).is().present();
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
index b6e51eb..2080962 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
@@ -1,8 +1,6 @@
package org.keycloak.testsuite.console.page.realm;
import org.keycloak.testsuite.console.page.AdminConsoleRealm;
-import org.keycloak.testsuite.util.WaitUtils;
-import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -13,14 +11,11 @@ import static org.keycloak.testsuite.util.WaitUtils.*;
* @author tkyjovsk
*/
public class RealmSettings extends AdminConsoleRealm {
- private static final String navTabsClassName = "nav-tabs";
-
- @FindBy(className = navTabsClassName)
+ @FindBy(className = "nav-tabs")
private RealmTabs realmTabs;
public RealmTabs tabs() {
- waitUntilElement(By.className(navTabsClassName)).is().present();
return realmTabs;
}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
index b4ab777..070f49a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
@@ -11,12 +11,9 @@ import java.util.Map;
import java.util.Set;
import org.keycloak.representations.idm.RoleRepresentation.Composites;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.pause;
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.logging.LogEntries;
-import org.openqa.selenium.logging.LogEntry;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
@@ -109,7 +106,6 @@ public class RoleCompositeRoles extends Form {
select.selectByVisibleText(role);
}
}
- waitUntilElement(button).is().enabled();
button.click();
}
}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
index 73173a7..2bd3a6b 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
@@ -32,7 +32,6 @@ import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicy;
import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicyForm.Digits;
import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicyForm.OTPHashAlg;
import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicyForm.OTPType;
-import org.keycloak.testsuite.util.WaitUtils;
/**
*
@@ -46,7 +45,6 @@ public class OTPPolicyTest extends AbstractConsoleTest {
@Before
public void beforeOTPPolicyTest() {
otpPolicyPage.navigateTo();
- WaitUtils.pause(1000); // wait for the form to fully render
}
@Test
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
index 877aa3f..0f68266 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
@@ -1,10 +1,12 @@
package org.keycloak.testsuite.console.clients;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
+import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.admin.client.resource.ClientsResource;
@@ -16,20 +18,32 @@ import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.clients.Client;
import org.keycloak.testsuite.console.page.clients.Clients;
import org.keycloak.testsuite.console.page.clients.CreateClient;
+import org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType;
+import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.By;
+
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.*;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_ASSERTION_CONSUMER_URL_POST;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_ASSERTION_CONSUMER_URL_REDIRECT;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_ASSERTION_SIGNATURE;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_AUTHNSTATEMENT;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_CLIENT_SIGNATURE;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_ENCRYPT;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_FORCE_NAME_ID_FORMAT;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_FORCE_POST_BINDING;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_MULTIVALUED_ROLES;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_NAME_ID_FORMAT;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_SERVER_SIGNATURE;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_SIGNATURE_ALGORITHM;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_SIGNATURE_CANONICALIZATION_METHOD;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_SINGLE_LOGOUT_SERVICE_URL_POST;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.SAMLClientSettingsForm.SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT;
import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsBooleanAttributes;
import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsListAttributes;
import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsStringAttributes;
-import static org.junit.Assert.assertEquals;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_AUTHNSTATEMENT;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_CLIENT_SIGNATURE;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_FORCE_NAME_ID_FORMAT;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_FORCE_POST_BINDING;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_NAME_ID_FORMAT;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_SERVER_SIGNATURE;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_SIGNATURE_ALGORITHM;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
+import static org.keycloak.testsuite.util.WaitUtils.pause;
/**
*
@@ -38,7 +52,7 @@ import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
public abstract class AbstractClientTest extends AbstractConsoleTest {
public final String TEST_CLIENT_ID = "test-client";
- public final List<String> TEST_REDIRECT_URIs = Arrays.asList(new String[]{"http://example.test/app/"});
+ public final String TEST_REDIRECT_URIS = "http://example.test/app/*";
@Page
protected Clients clientsPage;
@@ -46,9 +60,12 @@ public abstract class AbstractClientTest extends AbstractConsoleTest {
protected Client clientPage; // note: cannot call navigateTo() unless client id is set
@Page
protected CreateClient createClientPage;
+ @Page
+ protected ClientSettings clientSettingsPage;
@Before
public void beforeClientTest() {
+// configure().clients();
clientsPage.navigateTo();
}
@@ -59,35 +76,78 @@ public abstract class AbstractClientTest extends AbstractConsoleTest {
createClientPage.form().setValues(client);
createClientPage.form().save();
assertAlertSuccess();
+
+ pause(500); // To ensure that the form will be loaded completely
+
+ clientSettingsPage.form().setValues(client);
+ if (SAML.equals(client.getProtocol())) {
+ createClientPage.form().samlForm().setValues(client);
+ }
+ clientSettingsPage.form().save();
}
- public static ClientRepresentation createClientRep(String clientId, String protocol) {
+ private static ClientRepresentation createClientRep(String clientId) {
ClientRepresentation client = new ClientRepresentation();
client.setClientId(clientId);
client.setEnabled(true);
- client.setProtocol(protocol);
-
- client.setDirectAccessGrantsEnabled(true);
- client.setFullScopeAllowed(true);
- client.setPublicClient(true);
- client.setStandardFlowEnabled(true);
-
- if (protocol.equals(SAML)) {
- client.setAttributes(getSAMLAttributes());
+ client.setConsentRequired(false);
+ return client;
+ }
+
+ public static ClientRepresentation createOidcClientRep(OidcAccessType accessType, String clientId, String... redirectUris) {
+ ClientRepresentation client = createClientRep(clientId);
+
+ client.setProtocol(OIDC);
+
+ switch (accessType) {
+ case BEARER_ONLY:
+ client.setBearerOnly(true);
+ break;
+ case PUBLIC:
+ client.setBearerOnly(false);
+ client.setPublicClient(true);
+ client.setStandardFlowEnabled(true);
+ client.setImplicitFlowEnabled(false);
+ client.setDirectAccessGrantsEnabled(true);
+ setRedirectUris(client, redirectUris);
+ break;
+ case CONFIDENTIAL:
+ client.setBearerOnly(false);
+ client.setPublicClient(false);
+ client.setStandardFlowEnabled(true);
+ client.setDirectAccessGrantsEnabled(true);
+ client.setServiceAccountsEnabled(true);
+ setRedirectUris(client, redirectUris);
+ break;
}
return client;
}
- public static Map<String, String> getSAMLAttributes() {
- Map<String, String> attributes = new HashMap<>();
- attributes.put(SAML_CLIENT_SIGNATURE, "true");
- attributes.put(SAML_AUTHNSTATEMENT, "true");
- attributes.put(SAML_FORCE_POST_BINDING, "true");
- attributes.put(SAML_SERVER_SIGNATURE, "true");
- attributes.put(SAML_SIGNATURE_ALGORITHM, "RSA_SHA256");
- attributes.put(SAML_FORCE_NAME_ID_FORMAT, "false");
- attributes.put(SAML_NAME_ID_FORMAT, "username");
- return attributes;
+ public static ClientRepresentation createSamlClientRep(String clinetId) {
+ ClientRepresentation client = createClientRep(clinetId);
+
+ client.setProtocol(SAML);
+
+ client.setFrontchannelLogout(true);
+ client.setAttributes(getSAMLAttributes());
+
+ return client;
+ }
+
+ private static void setRedirectUris(ClientRepresentation client, String... redirectUris) {
+ List<String> redirectUrisList = new ArrayList<>();
+ redirectUrisList.addAll(Arrays.asList(redirectUris));
+ client.setRedirectUris(redirectUrisList);
+ }
+
+ protected static void setExpectedWebOrigins(ClientRepresentation client) {
+ List<String> webOrigins = new ArrayList<>();
+ for (String redirectUri : client.getRedirectUris()) {
+ //parse webOrigin from redirectUri: take substring from index 0 to
+ //first occurence of "/", excluded "http://" by starting search on index 7
+ webOrigins.add(redirectUri.substring(0, redirectUri.indexOf("/", 7)));
+ }
+ client.setWebOrigins(webOrigins);
}
public ClientRepresentation findClientByClientId(String clientId) {
@@ -112,12 +172,16 @@ public abstract class AbstractClientTest extends AbstractConsoleTest {
if (c1.getProtocol().equals(OIDC)) {
assertEqualsBooleanAttributes(c1.isBearerOnly(), c2.isBearerOnly());
- assertEqualsBooleanAttributes(c1.isDirectAccessGrantsEnabled(), c2.isDirectAccessGrantsEnabled());
- assertEqualsBooleanAttributes(c1.isPublicClient(), c2.isPublicClient());
- assertEqualsListAttributes(c1.getWebOrigins(), c2.getWebOrigins());
- assertEqualsStringAttributes(c1.getAdminUrl(), c2.getAdminUrl());
+ if (!c1.isBearerOnly()) {
+ assertEqualsBooleanAttributes(c1.isDirectAccessGrantsEnabled(), c2.isDirectAccessGrantsEnabled());
+ assertEqualsBooleanAttributes(c1.isPublicClient(), c2.isPublicClient());
+ assertEqualsListAttributes(c1.getWebOrigins(), c2.getWebOrigins());
+ assertEqualsStringAttributes(c1.getAdminUrl(), c2.getAdminUrl());
+ }
assertEqualsBooleanAttributes(c1.isSurrogateAuthRequired(), c2.isSurrogateAuthRequired());
assertEqualsBooleanAttributes(c1.isServiceAccountsEnabled(), c2.isServiceAccountsEnabled());
+ } else if (c1.getProtocol().equals(SAML)) {
+ assertEqualsBooleanAttributes(c1.isFrontchannelLogout(), c2.isFrontchannelLogout());
}
}
@@ -127,6 +191,26 @@ public abstract class AbstractClientTest extends AbstractConsoleTest {
}
}
+ protected static Map<String, String> getSAMLAttributes() {
+ Map<String, String> attributes = new HashMap<>();
+ attributes.put(SAML_ASSERTION_SIGNATURE, "true");
+ attributes.put(SAML_AUTHNSTATEMENT, "false");
+ attributes.put(SAML_CLIENT_SIGNATURE, "true");
+ attributes.put(SAML_ENCRYPT, "true");
+ attributes.put(SAML_FORCE_POST_BINDING, "true");
+ attributes.put(SAML_MULTIVALUED_ROLES, "false");
+ attributes.put(SAML_SERVER_SIGNATURE, "true");
+ attributes.put(SAML_SIGNATURE_ALGORITHM, "RSA_SHA512");
+ attributes.put(SAML_ASSERTION_CONSUMER_URL_POST, "http://example0.test");
+ attributes.put(SAML_ASSERTION_CONSUMER_URL_REDIRECT, "http://example1.test");
+ attributes.put(SAML_FORCE_NAME_ID_FORMAT, "true");
+ attributes.put(SAML_NAME_ID_FORMAT, "email");
+ attributes.put(SAML_SIGNATURE_CANONICALIZATION_METHOD, "http://www.w3.org/2001/10/xml-exc-c14n#WithComments");
+ attributes.put(SAML_SINGLE_LOGOUT_SERVICE_URL_POST, "http://example2.test");
+ attributes.put(SAML_SINGLE_LOGOUT_SERVICE_URL_REDIRECT, "http://example3.test");
+ return attributes;
+ }
+
public ProtocolMapperRepresentation findClientMapperByName(String clientId, String mapperName) {
ProtocolMapperRepresentation found = null;
for (ProtocolMapperRepresentation mapper : testRealmResource().clients().get(clientId).getProtocolMappers().getMappers()) {
@@ -145,4 +229,4 @@ public abstract class AbstractClientTest extends AbstractConsoleTest {
return clientsResource().get(id);
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
index d0c6743..c2f8eec 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
@@ -26,7 +26,8 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createOidcClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.clustering.ClientClustering;
/**
@@ -43,7 +44,7 @@ public class ClientClusteringTest extends AbstractClientTest {
@Before
public void before() {
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
found = findClientByClientId(TEST_CLIENT_ID);
@@ -94,4 +95,4 @@ public class ClientClusteringTest extends AbstractClientTest {
clientClusteringPage.form().addNode("");
assertAlertDanger();
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
index d489f4e..4030231 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
@@ -26,7 +26,8 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createOidcClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.credentials.ClientCredentials;
import org.keycloak.testsuite.console.page.clients.credentials.ClientCredentialsGeneratePrivateKeys;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
@@ -46,7 +47,7 @@ public class ClientCredentialsTest extends AbstractClientTest {
@Before
public void before() {
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
ClientRepresentation found = findClientByClientId(TEST_CLIENT_ID);
@@ -82,4 +83,4 @@ public class ClientCredentialsTest extends AbstractClientTest {
// generatePrivateKeysPage.generateForm().setStorePassword("pass2");
// assertAlertSuccess();//fails with phantomjs
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
index 0af4bf4..bf7bb06 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
@@ -26,8 +26,9 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createOidcClientRep;
import org.keycloak.testsuite.console.page.clients.installation.ClientInstallation;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
/**
*
@@ -43,7 +44,7 @@ public class ClientInstallationTest extends AbstractClientTest {
@Before
public void before() {
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
found = findClientByClientId(TEST_CLIENT_ID);
@@ -63,4 +64,4 @@ public class ClientInstallationTest extends AbstractClientTest {
clientInstallationPage.form().setConfigFormat("Keycloak OIDC JBoss Subsystem XML");
assertTrue(clientInstallationPage.form().getTextareaContent().contains("<realm>test</realm>"));
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
index 850bb39..084f317 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
@@ -31,8 +31,7 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMapper;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMappers;
import org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappers;
@@ -56,7 +55,7 @@ public class ClientMappersOIDCTest extends AbstractClientTest {
@Before
public void beforeClientMappersTest() {
- ClientRepresentation newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ ClientRepresentation newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
id = findClientByClientId(TEST_CLIENT_ID).getId();
@@ -376,4 +375,4 @@ public class ClientMappersOIDCTest extends AbstractClientTest {
createClientMappersPage.form().save();
assertAlertDanger();
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
index c822c23..7905bbd 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
@@ -29,8 +29,6 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.SAML;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMapper;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMappers;
import org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappers;
@@ -54,7 +52,7 @@ public class ClientMappersSAMLTest extends AbstractClientTest {
@Before
public void beforeClientMappersTest() {
- ClientRepresentation newClient = createClientRep(TEST_CLIENT_ID, SAML);
+ ClientRepresentation newClient = createSamlClientRep(TEST_CLIENT_ID);
testRealmResource().clients().create(newClient).close();
id = findClientByClientId(TEST_CLIENT_ID).getId();
@@ -211,4 +209,4 @@ public class ClientMappersSAMLTest extends AbstractClientTest {
assertEquals(1, config.size());
assertEquals("offline_access", config.get("role"));
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
index 64304d0..92d144c 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
@@ -9,8 +9,7 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.roles.ClientRole;
import org.keycloak.testsuite.console.page.clients.roles.ClientRoles;
import org.keycloak.testsuite.console.page.clients.roles.CreateClientRole;
@@ -40,7 +39,7 @@ public class ClientRolesTest extends AbstractClientTest {
@Before
public void beforeClientRolesTest() {
- ClientRepresentation newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ ClientRepresentation newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
id = findClientByClientId(TEST_CLIENT_ID).getId();
@@ -296,4 +295,4 @@ public class ClientRolesTest extends AbstractClientTest {
// assertTrue(flashMessage.getText(), flashMessage.isSuccess());
// assertNull(clients.findClient(newClient.getClientId()));
// }
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
index 69509f2..da68ca3 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
@@ -26,13 +26,13 @@ import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
import static org.junit.Assert.*;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.representations.idm.ClientMappingsRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.MappingsRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createOidcClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.scope.ClientScope;
/**
@@ -49,7 +49,7 @@ public class ClientScopeTest extends AbstractClientTest {
@Before
public void before() {
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
found = findClientByClientId(TEST_CLIENT_ID);
@@ -59,7 +59,6 @@ public class ClientScopeTest extends AbstractClientTest {
}
@Test
- @Ignore //phantomjs sometimes doens't enable "Add Selected >>" button when role is selected
public void clientScopeTest() {
assertTrue(found.isFullScopeAllowed());
clientScopePage.scopeForm().setFullScopeAllowed(false);
@@ -70,11 +69,11 @@ public class ClientScopeTest extends AbstractClientTest {
assertNull(getAllMappingsRepresentation().getRealmMappings());
assertNull(getAllMappingsRepresentation().getClientMappings());
- clientScopePage.roleForm().addRealmRole("offline_access");//fails with phantomjs
+ clientScopePage.roleForm().addRealmRole("offline_access");
assertAlertSuccess();
clientScopePage.roleForm().selectClientRole("account");
- clientScopePage.roleForm().addClientRole("view-profile");//fails with phantomjs
+ clientScopePage.roleForm().addClientRole("view-profile");
assertAlertSuccess();
found = findClientByClientId(TEST_CLIENT_ID);
@@ -85,16 +84,16 @@ public class ClientScopeTest extends AbstractClientTest {
assertEquals(1, clientMappings.size());
assertEquals("view-profile", clientMappings.get("account").getMappings().get(0).getName());
- clientScopePage.roleForm().removeAssignedRole("offline_access");
- assertAlertSuccess();//fails with phantomjs
- clientScopePage.roleForm().removeAssignedClientRole("view-profile");
- assertAlertSuccess();//fails with phantomjs
-
- assertNull(getAllMappingsRepresentation().getRealmMappings());
- assertNull(getAllMappingsRepresentation().getClientMappings());
+// clientScopePage.roleForm().removeAssignedRole("offline_access");
+// assertAlertSuccess();//fails with phantomjs
+// clientScopePage.roleForm().removeAssignedClientRole("view-profile");
+// assertAlertSuccess();//fails with phantomjs
+//
+// assertNull(getAllMappingsRepresentation().getRealmMappings());
+// assertNull(getAllMappingsRepresentation().getClientMappings());
}
private MappingsRepresentation getAllMappingsRepresentation() {
return testRealmResource().clients().get(found.getId()).getScopeMappings().getAll();
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
index 8090475..557a2db 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
@@ -18,9 +18,7 @@
package org.keycloak.testsuite.console.clients;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import javax.ws.rs.core.Response;
import org.jboss.arquillian.graphene.page.Page;
import static org.junit.Assert.*;
@@ -28,12 +26,8 @@ import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
import static org.keycloak.testsuite.admin.ApiUtil.getCreatedId;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.auth.page.login.Login.SAML;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.*;
import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.OidcAccessType.BEARER_ONLY;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.OidcAccessType.CONFIDENTIAL;
-import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.*;
import static org.keycloak.testsuite.util.WaitUtils.pause;
import org.keycloak.testsuite.util.Timer;
@@ -51,17 +45,20 @@ public class ClientSettingsTest extends AbstractClientTest {
private ClientRepresentation newClient;
@Test
- public void crudOIDCPublic() {
- newClient = createClientRep("oidc-public", OIDC);
+ public void crudOIDCConfidential() {
+ newClient = createOidcClientRep(CONFIDENTIAL, "oidc-confidential", TEST_REDIRECT_URIS);
createClient(newClient);
+ assertAlertSuccess();
+ //setExpectedWebOrigins(newClient);
+
// read & verify
ClientRepresentation found = findClientByClientId(newClient.getClientId());
assertNotNull("Client " + newClient.getClientId() + " was not found.", found);
assertClientSettingsEqual(newClient, found);
// update & verify
- newClient.setClientId("oidc-public-updated");
+ newClient.setClientId("oidc-confidential-updated");
newClient.setName("updatedName");
List<String> redirectUris = new ArrayList<>();
@@ -76,7 +73,7 @@ public class ClientSettingsTest extends AbstractClientTest {
webOrigins.add("http://example3.test");
newClient.setWebOrigins(webOrigins);
- clientSettingsPage.form().setClientId("oidc-public-updated");
+ clientSettingsPage.form().setClientId("oidc-confidential-updated");
clientSettingsPage.form().setName("updatedName");
clientSettingsPage.form().setRedirectUris(redirectUris);
clientSettingsPage.form().setWebOrigins(webOrigins);
@@ -95,43 +92,36 @@ public class ClientSettingsTest extends AbstractClientTest {
}
@Test
- public void createOIDCConfidential() {
- newClient = createClientRep("oidc-confidetial", OIDC);
+ public void createOIDCPublic() {
+ newClient = createOidcClientRep(PUBLIC, "oidc-public", TEST_REDIRECT_URIS);
createClient(newClient);
-
- newClient.setRedirectUris(TEST_REDIRECT_URIs);
- newClient.setPublicClient(false);
-
- clientSettingsPage.form().setAccessType(CONFIDENTIAL);
- clientSettingsPage.form().setRedirectUris(TEST_REDIRECT_URIs);
- clientSettingsPage.form().save();
+ assertAlertSuccess();
+ //setExpectedWebOrigins(newClient);
+
ClientRepresentation found = findClientByClientId(newClient.getClientId());
assertNotNull("Client " + newClient.getClientId() + " was not found.", found);
assertClientSettingsEqual(newClient, found);
}
@Test
- public void saveOIDCConfidentialWithoutRedirectURIs() {
- newClient = createClientRep("oidc-confidential", OIDC);
+ public void createOIDCPublicWithoutRedirectURIs() {
+ newClient = createOidcClientRep(PUBLIC, "oidc-public");
+ newClient.setStandardFlowEnabled(false);
createClient(newClient);
+ assertAlertSuccess();
- clientSettingsPage.form().setName("name");
- clientSettingsPage.form().save();
- assertAlertDanger();
+ ClientRepresentation found = findClientByClientId(newClient.getClientId());
+ assertNotNull("Client " + newClient.getClientId() + " was not found.", found);
+ assertClientSettingsEqual(newClient, found);
}
@Test
public void createOIDCBearerOnly() {
- newClient = createClientRep("oidc-bearer-only", OIDC);
+ newClient = createOidcClientRep(BEARER_ONLY, "oidc-bearer-only");
createClient(newClient);
+ assertAlertSuccess();
- clientSettingsPage.form().setAccessType(BEARER_ONLY);
- clientSettingsPage.form().save();
-
- newClient.setBearerOnly(true);
- newClient.setPublicClient(false);
-
ClientRepresentation found = findClientByClientId(newClient.getClientId());
assertNotNull("Client " + newClient.getClientId() + " was not found.", found);
assertClientSettingsEqual(newClient, found);
@@ -139,10 +129,12 @@ public class ClientSettingsTest extends AbstractClientTest {
@Test
public void createSAML() {
- newClient = createClientRep("saml", SAML);
+ newClient = createSamlClientRep("saml");
createClient(newClient);
+ assertAlertSuccess();
ClientRepresentation found = findClientByClientId(newClient.getClientId());
+ System.out.println("...." + found.isFrontchannelLogout());
assertNotNull("Client " + newClient.getClientId() + " was not found.", found);
assertClientSettingsEqual(newClient, found);
assertClientSamlAttributes(getSAMLAttributes(), found.getAttributes());
@@ -153,22 +145,27 @@ public class ClientSettingsTest extends AbstractClientTest {
clientsPage.table().createClient();
createClientPage.form().save();
assertAlertDanger();
-
- clientsPage.navigateTo();
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
- createClient(newClient);
-
- clientsPage.navigateTo();
- clientsPage.table().createClient();
- createClientPage.form().setClientId(TEST_CLIENT_ID);
- createClientPage.form().save();
- assertAlertDanger();
+ }
+
+// @Test
+ public void createInconsistentClient() {
+ ClientRepresentation c = createOidcClientRep(CONFIDENTIAL, "inconsistent_client");
+ c.setPublicClient(true);
+ c.setBearerOnly(true);
+
+ Response r = clientsResource().create(c);
+ r.close();
+ clientSettingsPage.setId(getCreatedId(r));
+
+ c = clientResource(clientSettingsPage.getId()).toRepresentation();
+ assertTrue(c.isBearerOnly());
+ assertTrue(c.isPublicClient());
}
public void createClients(String clientIdPrefix, int count) {
for (int i = 0; i < count; i++) {
String clientId = String.format("%s%02d", clientIdPrefix, i);
- ClientRepresentation cr = createClientRep(clientId, OIDC);
+ ClientRepresentation cr = createOidcClientRep(CONFIDENTIAL, clientId, "http://example.test/*");
Timer.DEFAULT.reset();
Response r = testRealmResource().clients().create(cr);
r.close();
@@ -185,11 +182,11 @@ public class ClientSettingsTest extends AbstractClientTest {
@Test
public void disabledClient() {
- newClient = createClientRep("disabled-client", OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, "disabled-client");
newClient.setEnabled(false);
createClient(newClient);
ClientRepresentation clientRepre = findClientByClientId("disabled-client");
assertTrue("Client should be disabled", clientRepre.isEnabled());
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
index c45e40f..d9e64a7 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
@@ -26,11 +26,9 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
/**
*
@@ -45,7 +43,7 @@ public class ClientsTest extends AbstractClientTest {
@Before
public void beforeClientsTest() {
- newClient = createClientRep(TEST_CLIENT_ID, OIDC);
+ newClient = createOidcClientRep(CONFIDENTIAL, TEST_CLIENT_ID, TEST_REDIRECT_URIS);
testRealmResource().clients().create(newClient).close();
ClientRepresentation found = findClientByClientId(TEST_CLIENT_ID);
@@ -73,4 +71,4 @@ public class ClientsTest extends AbstractClientTest {
ClientRepresentation found = findClientByClientId(TEST_CLIENT_ID);
assertNull("Deleted client " + TEST_CLIENT_ID + " was found.", found);
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
index 5990102..ddbaa8c 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
@@ -1,24 +1,3 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2012, Red Hat, Inc., and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
package org.keycloak.testsuite.console.events;
import org.jboss.arquillian.graphene.page.Page;
@@ -28,6 +7,7 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.console.AbstractConsoleTest;
+import org.keycloak.testsuite.console.clients.AbstractClientTest;
import org.keycloak.testsuite.console.page.clients.Clients;
import org.keycloak.testsuite.console.page.events.AdminEvents;
import org.keycloak.testsuite.console.page.events.Config;
@@ -39,8 +19,7 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
import org.keycloak.admin.client.resource.ClientsResource;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
+import static org.keycloak.testsuite.console.page.clients.CreateClientForm.OidcAccessType.CONFIDENTIAL;
/**
@@ -71,7 +50,7 @@ public class AdminEventsTest extends AbstractConsoleTest {
@Test
public void clientsAdminEventsTest() {
- newClient = createClientRep("test_client", OIDC);
+ newClient = AbstractClientTest.createOidcClientRep(CONFIDENTIAL, "test_client", "http://example.test/test_client/*");
Response response = clientsResource().create(newClient);
String id = ApiUtil.getCreatedId(response);
response.close();
@@ -111,4 +90,4 @@ public class AdminEventsTest extends AbstractConsoleTest {
public ClientsResource clientsResource() {
return testRealmResource().clients();
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
index fa57cdf..d0d2a27 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
@@ -133,7 +133,7 @@ public class LdapUserFederationTest extends AbstractConsoleTest {
@Test
public void testConnection() throws Exception {
createLdapUserProvider.navigateTo();
- createLdapUserProvider.form().selectVendor(1);
+ createLdapUserProvider.form().selectVendor("Other");
createLdapUserProvider.form().setConsoleDisplayNameInput("ldap");
createLdapUserProvider.form().selectEditMode(WRITABLE);
createLdapUserProvider.form().setLdapConnectionUrlInput("ldap://localhost:10389");
diff --git a/testsuite/integration-arquillian/tests/other/console_no_users/pom.xml b/testsuite/integration-arquillian/tests/other/console_no_users/pom.xml
index dc595c7..e45dfae 100644
--- a/testsuite/integration-arquillian/tests/other/console_no_users/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/console_no_users/pom.xml
@@ -34,7 +34,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
diff --git a/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java b/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
index f882879..914f748 100644
--- a/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
+++ b/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
@@ -66,7 +66,9 @@ public class ManyUsersTest extends AbstractUserTest {
}
realmTimer.reset("create realm before test");
- createRealm(REALM);
+ RealmRepresentation realm = new RealmRepresentation();
+ realm.setRealm(REALM);
+ realmsResouce().create(realm);
refreshToken();
}
diff --git a/testsuite/integration-arquillian/tests/other/pom.xml b/testsuite/integration-arquillian/tests/other/pom.xml
index 029d3ae..4353626 100644
--- a/testsuite/integration-arquillian/tests/other/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/pom.xml
@@ -44,7 +44,6 @@
<pluginManagement>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
@@ -68,7 +67,6 @@
</executions>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
@@ -78,7 +76,7 @@
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${jboss.server.config.dir}</outputDirectory>
+ <outputDirectory>${auth.server.config.dir}</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/dependency</directory>
@@ -92,15 +90,6 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <arquillian.xml>${project.build.directory}/dependency/arquillian.xml</arquillian.xml>
- </systemPropertyVariables>
- </configuration>
- </plugin>
</plugins>
</pluginManagement>
</build>
testsuite/integration-arquillian/tests/pom.xml 1298(+544 -754)
diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml
index 9c82a30..7fd15a5 100644
--- a/testsuite/integration-arquillian/tests/pom.xml
+++ b/testsuite/integration-arquillian/tests/pom.xml
@@ -33,125 +33,81 @@
<name>Tests</name>
- <description></description>
-
<modules>
<module>base</module>
<module>other</module>
</modules>
<properties>
- <containers.home>${project.build.directory}/containers</containers.home>
- <examples.home>${project.build.directory}/examples</examples.home>
- <jboss.server.config.dir>${project.build.directory}/undertow-configuration</jboss.server.config.dir>
+ <auth.server>undertow</auth.server>
+ <auth.server.undertow>true</auth.server.undertow>
- <auth.server.container>auth-server-undertow</auth.server.container>
+ <auth.server.container>auth-server-${auth.server}</auth.server.container>
+ <auth.server.home>${containers.home}/${auth.server.container}</auth.server.home>
+ <auth.server.config.dir>${auth.server.home}</auth.server.config.dir>
+
<auth.server.port.offset>100</auth.server.port.offset>
<auth.server.http.port>8180</auth.server.http.port>
<auth.server.https.port>8543</auth.server.https.port>
<auth.server.management.port>10090</auth.server.management.port>
<auth.server.management.port.jmx>10099</auth.server.management.port.jmx>
<auth.server.ssl.required>false</auth.server.ssl.required>
- <startup.timeout.sec>60</startup.timeout.sec>
+ <auth.server.jboss.startup.timeout>60</auth.server.jboss.startup.timeout>
+ <auth.server.memory.settings>-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m</auth.server.memory.settings>
+
+ <auth.server.jboss.artifactId>integration-arquillian-servers-auth-server-${auth.server}</auth.server.jboss.artifactId>
+ <auth.server.jboss.skip.unpack>${auth.server.undertow}</auth.server.jboss.skip.unpack>
+ <auth.server.jboss.startup.timeout>300</auth.server.jboss.startup.timeout>
+ <adapter.test.props/>
+ <examples.home>${project.build.directory}/examples</examples.home>
+
<browser>phantomjs</browser>
<firefox_binary>/usr/bin/firefox</firefox_binary>
- <arquillian-core.version>1.1.11.Final</arquillian-core.version>
- <selenium.version>2.52.0</selenium.version>
- <arquillian-drone.version>2.0.0.Beta1</arquillian-drone.version>
- <arquillian-graphene.version>2.1.0.Alpha3</arquillian-graphene.version>
- <arquillian-wildfly-container.version>8.2.0.Final</arquillian-wildfly-container.version>
- <version.shrinkwrap.resolvers>2.2.2</version.shrinkwrap.resolvers>
-
<frontend.console.output>true</frontend.console.output>
<backends.console.output>true</backends.console.output>
-
- <auth.server.java.home>${java.home}</auth.server.java.home>
-
- <testsuite.constants>test-constants.properties</testsuite.constants>
-
</properties>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.jboss.arquillian.selenium</groupId>
- <artifactId>selenium-bom</artifactId>
- <version>${selenium.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-bom</artifactId>
- <version>${arquillian-core.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.extension</groupId>
- <artifactId>arquillian-drone-bom</artifactId>
- <version>${arquillian-drone.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-arquillian-container-managed</artifactId>
- <version>${arquillian-wildfly-container.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<build>
<pluginManagement>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <project.build.directory>${project.build.directory}</project.build.directory>
- <browser>${browser}</browser>
- <firefox_binary>${firefox_binary}</firefox_binary>
- <shouldDeploy>false</shouldDeploy>
- <auth.server.container>${auth.server.container}</auth.server.container>
- <auth.server.undertow>true</auth.server.undertow>
- <auth.server.port.offset>${auth.server.port.offset}</auth.server.port.offset>
- <auth.server.http.port>${auth.server.http.port}</auth.server.http.port>
- <auth.server.https.port>${auth.server.https.port}</auth.server.https.port>
- <auth.server.management.port>${auth.server.management.port}</auth.server.management.port>
- <auth.server.management.port.jmx>${auth.server.management.port.jmx}</auth.server.management.port.jmx>
- <auth.server.ssl.required>${auth.server.ssl.required}</auth.server.ssl.required>
- <auth.server.java.home>${auth.server.java.home}</auth.server.java.home>
- <startup.timeout.sec>${startup.timeout.sec}</startup.timeout.sec>
- <jboss.server.config.dir>${jboss.server.config.dir}</jboss.server.config.dir>
- <frontend.console.output>${frontend.console.output}</frontend.console.output>
- <backends.console.output>${backend.console.output}</backends.console.output>
- <testsuite.constants>${testsuite.constants}</testsuite.constants>
- </systemPropertyVariables>
- <properties>
- <property>
- <name>listener</name>
- <value>org.keycloak.testsuite.util.TestEventsLogger</value>
- </property>
- </properties>
- <failIfNoTests>false</failIfNoTests>
- </configuration>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-auth-server-jboss</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>${auth.server.jboss.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${containers.home}</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ <skip>${auth.server.jboss.skip.unpack}</skip>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-admin-user-json-file</id>
- <phase>process-resources</phase>
+ <phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${jboss.server.config.dir}</outputDirectory>
+ <outputDirectory>${auth.server.config.dir}</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
@@ -165,6 +121,49 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <project.build.directory>${project.build.directory}</project.build.directory>
+ <arquillian.xml>${project.build.directory}/dependency/arquillian.xml</arquillian.xml>
+
+ <auth.server>${auth.server}</auth.server>
+ <auth.server.container>${auth.server.container}</auth.server.container>
+
+ <auth.server.undertow>${auth.server.undertow}</auth.server.undertow>
+ <auth.server.jboss>${auth.server.jboss}</auth.server.jboss>
+ <auth.server.memory.settings>${auth.server.memory.settings}</auth.server.memory.settings>
+
+ <auth.server.home>${auth.server.home}</auth.server.home>
+ <auth.server.java.home>${auth.server.java.home}</auth.server.java.home>
+
+ <auth.server.port.offset>${auth.server.port.offset}</auth.server.port.offset>
+ <auth.server.http.port>${auth.server.http.port}</auth.server.http.port>
+ <auth.server.https.port>${auth.server.https.port}</auth.server.https.port>
+ <auth.server.management.port>${auth.server.management.port}</auth.server.management.port>
+ <auth.server.management.port.jmx>${auth.server.management.port.jmx}</auth.server.management.port.jmx>
+ <auth.server.ssl.required>${auth.server.ssl.required}</auth.server.ssl.required>
+ <auth.server.jboss.startup.timeout>${auth.server.jboss.startup.timeout}</auth.server.jboss.startup.timeout>
+ <auth.server.config.dir>${auth.server.config.dir}</auth.server.config.dir>
+ <frontend.console.output>${frontend.console.output}</frontend.console.output>
+ <backends.console.output>${backend.console.output}</backends.console.output>
+
+ <adapter.test.props>${adapter.test.props}</adapter.test.props>
+
+ <browser>${browser}</browser>
+ <firefox_binary>${firefox_binary}</firefox_binary>
+
+ </systemPropertyVariables>
+ <properties>
+ <property>
+ <name>listener</name>
+ <value>org.keycloak.testsuite.util.TestEventsLogger</value>
+ </property>
+ </properties>
+ <failIfNoTests>false</failIfNoTests>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
</build>
@@ -172,57 +171,466 @@
<profiles>
<profile>
- <id>no-account</id>
+ <id>auth-server-wildfly</id>
<properties>
- <exclude.account>**/account/**/*Test.java</exclude.account>
+ <auth.server>wildfly</auth.server>
+ <auth.server.jboss>true</auth.server.jboss>
+ <auth.server.undertow>false</auth.server.undertow>
+ <auth.server.config.dir>${auth.server.home}/standalone/configuration</auth.server.config.dir>
+ <h2.version>1.3.173</h2.version>
</properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-arquillian-container-managed</artifactId>
+ </dependency>
+ </dependencies>
</profile>
+
<profile>
- <id>no-client</id>
+ <id>auth-server-eap</id>
<properties>
- <exclude.client>**/client/**/*Test.java</exclude.client>
+ <auth.server>eap</auth.server>
+ <auth.server.jboss>true</auth.server.jboss>
+ <auth.server.undertow>false</auth.server.undertow>
+ <auth.server.config.dir>${auth.server.home}/standalone/configuration</auth.server.config.dir>
+ <h2.version>1.3.173</h2.version>
</properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-arquillian-container-managed</artifactId>
+ </dependency>
+ </dependencies>
</profile>
+
<profile>
- <id>no-base</id>
+ <id>auth-server-cluster</id>
<properties>
- <exclude.account>**/account/**/*Test.java</exclude.account>
- <exclude.client>**/client/**/*Test.java</exclude.client>
+ <!--disable exclusion pattern for cluster test which is enabled by default in base/pom.xml-->
+ <exclude.cluster>-</exclude.cluster>
+
+ <auth.server.balancer.home>${containers.home}/auth-server-balancer-wildfly</auth.server.balancer.home>
+ <auth.server.backend1.home>${containers.home}/auth-server-${auth.server}-backend1</auth.server.backend1.home>
+ <auth.server.backend2.home>${containers.home}/auth-server-${auth.server}-backend2</auth.server.backend2.home>
+
+ <auth.server.config.dir>${auth.server.backend1.home}/standalone/configuration</auth.server.config.dir>
</properties>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <!--requireActiveProfile 'auth-server-wildfly/eap' doesn't work unless the profiles are defined in all submodule poms
+ using requireProperty instead-->
+ <requireProperty>
+ <property>auth.server</property>
+ <regex>(wildfly)|(eap)</regex>
+ <regexMessage>Profile "auth-server-cluster" requires activation of profile "auth-server-wildfly" or "auth-server-eap".</regexMessage>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-auth-server-load-balancer</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-server-wildfly-balancer</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ <outputDirectory>${auth.server.balancer.home}</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-auth-server-backend-nodes</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <move todir="${auth.server.balancer.home}">
+ <fileset dir="${auth.server.balancer.home}/balancer-wildfly"/>
+ </move>
+ <move todir="${auth.server.backend1.home}">
+ <fileset dir="${auth.server.home}"/>
+ </move>
+ <copy todir="${auth.server.backend2.home}">
+ <fileset dir="${auth.server.backend1.home}"/>
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <run.h2>true</run.h2>
+
+ <auth.server.jboss>false</auth.server.jboss>
+ <auth.server.cluster>true</auth.server.cluster>
+
+ <auth.server.balancer.home>${auth.server.balancer.home}</auth.server.balancer.home>
+ <auth.server.backend1.home>${auth.server.backend1.home}</auth.server.backend1.home>
+ <auth.server.backend2.home>${auth.server.backend2.home}</auth.server.backend2.home>
+
+ <!--100-->
+ <auth.server.backend1.port.offset>101</auth.server.backend1.port.offset>
+ <auth.server.backend2.port.offset>102</auth.server.backend2.port.offset>
+ <!--8180-->
+ <auth.server.backend1.http.port>8181</auth.server.backend1.http.port>
+ <auth.server.backend2.http.port>8182</auth.server.backend2.http.port>
+ <!--8543-->
+ <auth.server.backend1.https.port>8544</auth.server.backend1.https.port>
+ <auth.server.backend2.https.port>8545</auth.server.backend2.https.port>
+ <!--10090-->
+ <auth.server.backend1.management.port>10091</auth.server.backend1.management.port>
+ <auth.server.backend2.management.port>10092</auth.server.backend2.management.port>
+ <!--10099-->
+ <auth.server.backend1.management.port.jmx>10100</auth.server.backend1.management.port.jmx>
+ <auth.server.backend2.management.port.jmx>10101</auth.server.backend2.management.port.jmx>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</profile>
-
+
+
<profile>
- <id>common-test-dependencies</id>
+ <id>clean-jpa</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-maven-plugin</artifactId>
+ <configuration>
+ <changeLogFile>META-INF/jpa-changelog-master.xml</changeLogFile>
+
+ <url>${keycloak.connectionsJpa.url}</url>
+ <driver>${keycloak.connectionsJpa.driver}</driver>
+ <username>${keycloak.connectionsJpa.user}</username>
+ <password>${keycloak.connectionsJpa.password}</password>
+
+ <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
+ <databaseClass>${keycloak.connectionsJpa.liquibaseDatabaseClass}</databaseClass>
+ </configuration>
+ <executions>
+ <execution>
+ <id>clean-jpa</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>dropAll</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <!-- Profiles for migration tests-->
+
+ <profile>
+ <id>migration</id>
<activation>
- <file>
- <exists>src</exists>
- <!-- ^ only activate this profile in submodules that have actual tests -->
- </file>
+ <property>
+ <name>migrated.auth.server.version</name>
+ </property>
</activation>
- <dependencies>
- <!-- TEST DEPENDENCIES -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.junit</groupId>
- <artifactId>arquillian-junit-container</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.arquillian.graphene</groupId>
- <artifactId>graphene-webdriver</artifactId>
- <version>${arquillian-graphene.version}</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.protocol</groupId>
- <artifactId>arquillian-protocol-servlet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.extension</groupId>
- <artifactId>arquillian-phantom-driver</artifactId>
+ <properties>
+ <!--diable exclusion pattern for migration tests, which is enabled by default in the base/pom.xml-->
+ <exclude.migration>-</exclude.migration>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-properties</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>migrated.auth.server.version</property>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-migrated-auth-server-jboss</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>${migrated.auth.server.jboss.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${containers.home}</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>migration-kc16</id>
+ <activation>
+ <property>
+ <name>migrated.auth.server.version</name>
+ <value>1.6.1.Final</value>
+ </property>
+ </activation>
+ <properties>
+ <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc16</migrated.auth.server.jboss.artifactId>
+ </properties>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <auth.server.jboss.kc16>true</auth.server.jboss.kc16>
+ <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
+ <keycloak.migration.file>src/test/resources/migration-test/migration-realm-16.json</keycloak.migration.file>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>migration-kc15</id>
+ <activation>
+ <property>
+ <name>migrated.auth.server.version</name>
+ <value>1.5.1.Final</value>
+ </property>
+ </activation>
+ <properties>
+ <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc15</migrated.auth.server.jboss.artifactId>
+ </properties>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <auth.server.jboss.kc15>true</auth.server.jboss.kc15>
+ <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
+ <keycloak.migration.file>src/test/resources/migration-test/migration-realm-15.json</keycloak.migration.file>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>migration-kc14</id>
+ <activation>
+ <property>
+ <name>migrated.auth.server.version</name>
+ <value>1.4.0.Final</value>
+ </property>
+ </activation>
+ <properties>
+ <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc14</migrated.auth.server.jboss.artifactId>
+ </properties>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <auth.server.jboss.kc14>true</auth.server.jboss.kc14>
+ <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>migration-kc13</id>
+ <activation>
+ <property>
+ <name>migrated.auth.server.version</name>
+ <value>1.3.1.Final</value>
+ </property>
+ </activation>
+ <properties>
+ <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc13</migrated.auth.server.jboss.artifactId>
+ </properties>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <auth.server.jboss.kc13>true</auth.server.jboss.kc13>
+ <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>migration-kc12</id>
+ <activation>
+ <property>
+ <name>migrated.auth.server.version</name>
+ <value>1.2.0.Final</value>
+ </property>
+ </activation>
+ <properties>
+ <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc12</migrated.auth.server.jboss.artifactId>
+ </properties>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <auth.server.jboss.kc12>true</auth.server.jboss.kc12>
+ <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+
+
+
+ <profile>
+ <id>no-account</id>
+ <properties>
+ <exclude.account>**/account/**/*Test.java</exclude.account>
+ </properties>
+ </profile>
+ <profile>
+ <id>no-client</id>
+ <properties>
+ <exclude.client>**/client/**/*Test.java</exclude.client>
+ </properties>
+ </profile>
+ <profile>
+ <id>no-base</id>
+ <properties>
+ <exclude.account>**/account/**/*Test.java</exclude.account>
+ <exclude.client>**/client/**/*Test.java</exclude.client>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>common-test-dependencies</id>
+ <activation>
+ <file>
+ <exists>src/test</exists>
+ <!-- ^ only activate this profile in submodules that have actual tests -->
+ </file>
+ </activation>
+ <dependencies>
+ <!-- TEST DEPENDENCIES -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.junit</groupId>
+ <artifactId>arquillian-junit-container</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-webdriver</artifactId>
+ <version>${arquillian-graphene.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.protocol</groupId>
+ <artifactId>arquillian-protocol-servlet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.extension</groupId>
+ <artifactId>arquillian-phantom-driver</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.graphene</groupId>
@@ -274,6 +682,12 @@
<type>jar</type>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
<!-- Email Test Server -->
<dependency>
<groupId>com.icegreen</groupId>
@@ -319,10 +733,15 @@
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
-
- <!-- Keycloak Server on Undertow -->
+ <!--UNDERTOW-->
<dependency>
+ <groupId>org.keycloak.testsuite</groupId>
+ <artifactId>integration-arquillian-servers-auth-server-undertow</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>undertow-embedded</artifactId>
<version>1.0.0.Alpha1-SNAPSHOT</version>
@@ -389,11 +808,6 @@
<artifactId>hibernate-jpa-2.1-api</artifactId>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
@@ -424,16 +838,14 @@
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
-
+
</dependencies>
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
@@ -447,629 +859,7 @@
</plugins>
</build>
</profile>
-
- <profile>
- <id>clean-jpa</id>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-maven-plugin</artifactId>
- <configuration>
- <changeLogFile>META-INF/jpa-changelog-master.xml</changeLogFile>
-
- <url>${keycloak.connectionsJpa.url}</url>
- <driver>${keycloak.connectionsJpa.driver}</driver>
- <username>${keycloak.connectionsJpa.user}</username>
- <password>${keycloak.connectionsJpa.password}</password>
-
- <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
- <databaseClass>${keycloak.connectionsJpa.liquibaseDatabaseClass}</databaseClass>
- </configuration>
- <executions>
- <execution>
- <id>clean-jpa</id>
- <phase>clean</phase>
- <goals>
- <goal>dropAll</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>auth-server-wildfly</id>
- <properties>
- <auth.server.container>auth-server-wildfly</auth.server.container>
- <startup.timeout.sec>300</startup.timeout.sec>
- <adapter.test.props/>
- <keycloak.home>${containers.home}/keycloak-${project.version}</keycloak.home>
- <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
- <h2.version>1.3.173</h2.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-arquillian-container-managed</artifactId>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly>true</auth.server.wildfly>
- <auth.server.undertow>false</auth.server.undertow>
- <keycloak.home>${keycloak.home}</keycloak.home>
- <adapter.test.props>${adapter.test.props}</adapter.test.props>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-auth-server-wildfly</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-wildfly</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${containers.home}</outputDirectory>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
-
- <profile>
- <id>auth-server-wildfly-cluster</id>
- <properties>
- <!--disable exclusion pattern for cluster test which is enabled by default in base/pom.xml-->
- <exclude.cluster>-</exclude.cluster>
-
- <auth.server.container>auth-server-wildfly-cluster</auth.server.container>
- <startup.timeout.sec>300</startup.timeout.sec>
- <adapter.test.props/>
- <h2.version>1.3.173</h2.version>
-
- <keycloak.balancer.home>${containers.home}/balancer/wildfly-balancer-${project.version}</keycloak.balancer.home>
- <keycloak.backend1.home>${containers.home}/node1/keycloak-${project.version}</keycloak.backend1.home>
- <keycloak.backend2.home>${containers.home}/node2/keycloak-${project.version}</keycloak.backend2.home>
-
- <keycloak.home>${keycloak.backend1.home}</keycloak.home>
- <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-arquillian-container-managed</artifactId>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <run.h2>true</run.h2>
-
- <auth.server.wildfly.cluster>true</auth.server.wildfly.cluster>
- <auth.server.undertow>false</auth.server.undertow>
- <adapter.test.props>${adapter.test.props}</adapter.test.props>
-
- <keycloak.balancer.home>${keycloak.balancer.home}</keycloak.balancer.home>
- <keycloak.backend1.home>${keycloak.backend1.home}</keycloak.backend1.home>
- <keycloak.backend2.home>${keycloak.backend2.home}</keycloak.backend2.home>
-
- <!--100-->
- <auth.server.backend1.port.offset>101</auth.server.backend1.port.offset>
- <auth.server.backend2.port.offset>102</auth.server.backend2.port.offset>
- <!--8180-->
- <auth.server.backend1.http.port>8181</auth.server.backend1.http.port>
- <auth.server.backend2.http.port>8182</auth.server.backend2.http.port>
- <!--8543-->
- <auth.server.backend1.https.port>8544</auth.server.backend1.https.port>
- <auth.server.backend2.https.port>8545</auth.server.backend2.https.port>
- <!--10090-->
- <auth.server.backend1.management.port>10091</auth.server.backend1.management.port>
- <auth.server.backend2.management.port>10092</auth.server.backend2.management.port>
- <!--10099-->
- <auth.server.backend1.management.port.jmx>10100</auth.server.backend1.management.port.jmx>
- <auth.server.backend2.management.port.jmx>10101</auth.server.backend2.management.port.jmx>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-auth-server-wildfly</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-wildfly-balancer</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/balancer</outputDirectory>
- </artifactItem>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-wildfly</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/node1</outputDirectory>
- </artifactItem>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-wildfly</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/node2</outputDirectory>
- </artifactItem>
- </artifactItems>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
-
- <profile>
- <id>auth-server-eap7</id>
- <properties>
- <auth.server.container>auth-server-eap7</auth.server.container>
- <startup.timeout.sec>300</startup.timeout.sec>
- <adapter.test.props/>
- <keycloak.home>${containers.home}/keycloak-${version.server.dist}</keycloak.home>
- <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-arquillian-container-managed</artifactId>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-properties</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireProperty>
- <property>version.server.dist</property>
- </requireProperty>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.eap7>true</auth.server.eap7>
- <auth.server.undertow>false</auth.server.undertow>
- <keycloak.home>${keycloak.home}</keycloak.home>
- <adapter.test.props>${adapter.test.props}</adapter.test.props>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-auth-server-eap</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-eap7</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${containers.home}</outputDirectory>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>auth-server-eap7-cluster</id>
- <properties>
- <!--disable exclusion pattern for cluster test which is enabled by default in base/pom.xml-->
- <exclude.cluster>-</exclude.cluster>
-
- <auth.server.container>auth-server-eap7-cluster</auth.server.container>
- <startup.timeout.sec>300</startup.timeout.sec>
- <adapter.test.props/>
- <h2.version>1.3.173</h2.version>
-
- <keycloak.balancer.home>${containers.home}/balancer/wildfly-balancer-${project.version}</keycloak.balancer.home>
- <keycloak.backend1.home>${containers.home}/node1/keycloak-${version.server.dist}</keycloak.backend1.home>
- <keycloak.backend2.home>${containers.home}/node2/keycloak-${version.server.dist}</keycloak.backend2.home>
-
- <keycloak.home>${keycloak.backend1.home}</keycloak.home>
- <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-arquillian-container-managed</artifactId>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-properties</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireProperty>
- <property>version.server.dist</property>
- </requireProperty>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <run.h2>true</run.h2>
-
- <auth.server.eap7.cluster>true</auth.server.eap7.cluster>
- <auth.server.undertow>false</auth.server.undertow>
- <adapter.test.props>${adapter.test.props}</adapter.test.props>
-
- <keycloak.balancer.home>${keycloak.balancer.home}</keycloak.balancer.home>
- <keycloak.backend1.home>${keycloak.backend1.home}</keycloak.backend1.home>
- <keycloak.backend2.home>${keycloak.backend2.home}</keycloak.backend2.home>
-
- <!--100-->
- <auth.server.backend1.port.offset>101</auth.server.backend1.port.offset>
- <auth.server.backend2.port.offset>102</auth.server.backend2.port.offset>
- <!--8180-->
- <auth.server.backend1.http.port>8181</auth.server.backend1.http.port>
- <auth.server.backend2.http.port>8182</auth.server.backend2.http.port>
- <!--8543-->
- <auth.server.backend1.https.port>8544</auth.server.backend1.https.port>
- <auth.server.backend2.https.port>8545</auth.server.backend2.https.port>
- <!--10090-->
- <auth.server.backend1.management.port>10091</auth.server.backend1.management.port>
- <auth.server.backend2.management.port>10092</auth.server.backend2.management.port>
- <!--10099-->
- <auth.server.backend1.management.port.jmx>10100</auth.server.backend1.management.port.jmx>
- <auth.server.backend2.management.port.jmx>10101</auth.server.backend2.management.port.jmx>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-auth-server-wildfly</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-wildfly-balancer</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/balancer</outputDirectory>
- </artifactItem>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-eap7</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/node1</outputDirectory>
- </artifactItem>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>integration-arquillian-server-eap7</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- <outputDirectory>${containers.home}/node2</outputDirectory>
- </artifactItem>
- </artifactItems>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <!-- Profiles for migration tests-->
-
- <profile>
- <id>migration</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- </property>
- </activation>
- <properties>
- <!--diable exclusion pattern for migration tests, which is enabled by default in the base/pom.xml-->
- <exclude.migration>-</exclude.migration>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-properties</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireProperty>
- <property>migrated.auth.server.version</property>
- </requireProperty>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-migrated-auth-server-wildfly</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.keycloak.testsuite</groupId>
- <artifactId>${migrated.auth.server.artifactId}</artifactId>
- <version>${project.version}</version>
- <type>zip</type>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${containers.home}</outputDirectory>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>migration-kc16</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- <value>1.6.1.Final</value>
- </property>
- </activation>
- <properties>
- <migrated.auth.server.artifactId>integration-arquillian-server-wildfly-kc16</migrated.auth.server.artifactId>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly.kc16>true</auth.server.wildfly.kc16>
- <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
- <keycloak.migration.file>src/test/resources/migration-test/migration-realm-16.json</keycloak.migration.file>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>migration-kc15</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- <value>1.5.1.Final</value>
- </property>
- </activation>
- <properties>
- <migrated.auth.server.artifactId>integration-arquillian-server-wildfly-kc15</migrated.auth.server.artifactId>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly.kc15>true</auth.server.wildfly.kc15>
- <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
- <keycloak.migration.file>src/test/resources/migration-test/migration-realm-15.json</keycloak.migration.file>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>migration-kc14</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- <value>1.4.0.Final</value>
- </property>
- </activation>
- <properties>
- <migrated.auth.server.artifactId>integration-arquillian-server-wildfly-kc14</migrated.auth.server.artifactId>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly.kc14>true</auth.server.wildfly.kc14>
- <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>migration-kc13</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- <value>1.3.1.Final</value>
- </property>
- </activation>
- <properties>
- <migrated.auth.server.artifactId>integration-arquillian-server-wildfly-kc13</migrated.auth.server.artifactId>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly.kc13>true</auth.server.wildfly.kc13>
- <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>migration-kc12</id>
- <activation>
- <property>
- <name>migrated.auth.server.version</name>
- <value>1.2.0.Final</value>
- </property>
- </activation>
- <properties>
- <migrated.auth.server.artifactId>integration-arquillian-server-wildfly-kc12</migrated.auth.server.artifactId>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <auth.server.wildfly.kc12>true</auth.server.wildfly.kc12>
- <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
+
</profiles>
</project>