454 lines
23 KiB
XML
454 lines
23 KiB
XML
<?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</groupId>
|
|
<artifactId>keycloak-testsuite-pom</artifactId>
|
|
<version>5.0.0-SNAPSHOT</version>
|
|
<relativePath>../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian</artifactId>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>Keycloak Arquillian Integration TestSuite</name>
|
|
|
|
<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>
|
|
<app.server>undertow</app.server>
|
|
|
|
<!-- Wildfly deprecated versions -->
|
|
<wildfly.deprecated.version>14.0.1.Final</wildfly.deprecated.version>
|
|
<wildfly.deprecated.wildfly.core.version>6.0.2.Final</wildfly.deprecated.wildfly.core.version>
|
|
<wildfly.deprecated.arquillian.wildfly.container>2.1.0.Final</wildfly.deprecated.arquillian.wildfly.container>
|
|
|
|
<!--component versions-->
|
|
<!--
|
|
to update arquillian-core to 1.3.0.Final or higher
|
|
- see https://issues.jboss.org/browse/ARQ-2181
|
|
- update org.keycloak.testsuite.arquillian.containers.KeycloakContainerTestExtension according to
|
|
current version of org.jboss.arquillian.container.test.impl.ContainerTestExtension
|
|
-->
|
|
<arquillian-core.version>1.2.1.Final</arquillian-core.version>
|
|
<!--the version of shrinkwrap_resolver should align with the version in arquillian-bom-->
|
|
<shrinkwrap-resolver.version>2.2.6</shrinkwrap-resolver.version>
|
|
<selenium.version>3.14.0</selenium.version>
|
|
<arquillian-drone.version>2.5.1</arquillian-drone.version>
|
|
<arquillian-graphene.version>2.3.2</arquillian-graphene.version>
|
|
<arquillian-wildfly-container.version>2.1.1.Final</arquillian-wildfly-container.version>
|
|
<arquillian-wls-container.version>1.0.1.Final</arquillian-wls-container.version>
|
|
<arquillian-jetty9-container.version>1.0.0.CR3</arquillian-jetty9-container.version>
|
|
<arquillian-container-karaf.version>2.2.0.Final</arquillian-container-karaf.version>
|
|
<arquillian-infinispan-container.version>1.2.0.Beta2</arquillian-infinispan-container.version>
|
|
<arquillian-tomcat7-container-version>1.0.1.Final</arquillian-tomcat7-container-version>
|
|
<arquillian-tomcat8-container-version>1.0.1.Final</arquillian-tomcat8-container-version>
|
|
<arquillian-tomcat9-container-version>1.0.1.Final</arquillian-tomcat9-container-version>
|
|
<undertow-embedded.version>1.0.0.Alpha2</undertow-embedded.version>
|
|
<version.org.wildfly.extras.creaper>1.6.1</version.org.wildfly.extras.creaper>
|
|
<testcontainers.version>1.5.1</testcontainers.version>
|
|
<appium.client.version>6.1.0</appium.client.version>
|
|
|
|
<!--migration properties-->
|
|
<migration.70.version>1.9.8.Final</migration.70.version>
|
|
<migration.71.version>2.5.5.Final</migration.71.version>
|
|
<migration.72.version>3.4.3.Final</migration.72.version>
|
|
<migration.73.version>4.8.3.Final</migration.73.version>
|
|
|
|
<!-- By default, skip docker-maven-plugin when running base tests-->
|
|
<docker.database.skip>true</docker.database.skip>
|
|
<docker.database.postStart>/bin/true</docker.database.postStart>
|
|
<docker.database.wait-for-log-regex>NEVER-MATCHING-REGEX</docker.database.wait-for-log-regex>
|
|
<docker.database.shmsize>67108864</docker.database.shmsize>
|
|
|
|
<jdbc.mvn.groupId>com.h2database</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>h2</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>${h2.version}</jdbc.mvn.version>
|
|
|
|
<keycloak.connectionsJpa.driver>org.h2.Driver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>sa</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password></keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:h2:mem:test;MVCC=TRUE;DB_CLOSE_DELAY=-1</keycloak.connectionsJpa.url>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
|
|
<!-- Selenium Server -->
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-server</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Selenium dependencies -->
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-api</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-java</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-support</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-leg-rc</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>lift</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Drivers -->
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-chrome-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-firefox-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-ie-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-edge-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-safari-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-remote-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-opera-driver</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</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.shrinkwrap.resolver</groupId>
|
|
<artifactId>shrinkwrap-resolver-bom</artifactId>
|
|
<version>${shrinkwrap-resolver.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.infinispan.arquillian.container</groupId>
|
|
<artifactId>infinispan-arquillian-impl</artifactId>
|
|
<version>${arquillian-infinispan-container.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wildfly.arquillian</groupId>
|
|
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
|
<version>${arquillian-wildfly-container.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wildfly.arquillian</groupId>
|
|
<artifactId>wildfly-arquillian-container-remote</artifactId>
|
|
<version>${arquillian-wildfly-container.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wildfly.arquillian</groupId>
|
|
<artifactId>wildfly-arquillian-container-domain-managed</artifactId>
|
|
<version>${arquillian-wildfly-container.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.container</groupId>
|
|
<artifactId>arquillian-wls-remote-12.1.x</artifactId>
|
|
<version>${arquillian-wls-container.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.container</groupId>
|
|
<artifactId>undertow-embedded</artifactId>
|
|
<version>${undertow-embedded.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.container</groupId>
|
|
<artifactId>arquillian-container-karaf-managed</artifactId>
|
|
<version>${arquillian-container-karaf.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.container</groupId>
|
|
<artifactId>arquillian-container-osgi</artifactId>
|
|
<version>${arquillian-container-karaf.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.19.1</version>
|
|
<configuration>
|
|
<failIfNoTests>false</failIfNoTests>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
<version>1.0.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>3.0.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.commonjava.maven.plugins</groupId>
|
|
<artifactId>directory-maven-plugin</artifactId>
|
|
<version>0.3.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.googlecode.maven-download-plugin</groupId>
|
|
<artifactId>download-maven-plugin</artifactId>
|
|
<version>1.4.1</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<modules>
|
|
<module>test-apps</module>
|
|
<module>servers</module>
|
|
<module>tests</module>
|
|
<module>util</module>
|
|
</modules>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>test-70-migration</id>
|
|
<properties>
|
|
<migrated.auth.server.version>${migration.70.version}</migrated.auth.server.version>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>test-71-migration</id>
|
|
<properties>
|
|
<migrated.auth.server.version>${migration.71.version}</migrated.auth.server.version>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>test-72-migration</id>
|
|
<properties>
|
|
<migrated.auth.server.version>${migration.72.version}</migrated.auth.server.version>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>test-73-migration</id>
|
|
<properties>
|
|
<migrated.auth.server.version>${migration.73.version}</migrated.auth.server.version>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>db-mysql</id>
|
|
<properties>
|
|
<keycloak.connectionsJpa.driver>com.mysql.jdbc.Driver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:mysql://${auth.server.db.host}/${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>
|
|
<jdbc.mvn.groupId>mysql</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>mysql-connector-java</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>${mysql.version}</jdbc.mvn.version>
|
|
<docker.database.image>mysql:5.7.25</docker.database.image>
|
|
<docker.database.port>3306</docker.database.port>
|
|
<docker.database.skip>false</docker.database.skip>
|
|
<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>db-postgres</id>
|
|
<properties>
|
|
<keycloak.connectionsJpa.driver>org.postgresql.Driver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:postgresql://${auth.server.db.host}/${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>
|
|
<jdbc.mvn.groupId>org.postgresql</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>postgresql</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>${postgresql.version}</jdbc.mvn.version>
|
|
<docker.database.image>postgres:9.6.11</docker.database.image>
|
|
<docker.database.port>5432</docker.database.port>
|
|
<docker.database.skip>false</docker.database.skip>
|
|
<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>db-mariadb</id>
|
|
<properties>
|
|
<keycloak.connectionsJpa.driver>org.mariadb.jdbc.Driver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:mariadb://${auth.server.db.host}/${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>
|
|
<jdbc.mvn.groupId>org.mariadb.jdbc</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>mariadb-java-client</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>${mariadb.version}</jdbc.mvn.version>
|
|
<docker.database.image>mariadb:10.2.21</docker.database.image>
|
|
<docker.database.port>3306</docker.database.port>
|
|
<docker.database.skip>false</docker.database.skip>
|
|
<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>db-mssql2017</id>
|
|
<properties>
|
|
<docker.database.image>microsoft/mssql-server-linux:2017-GA</docker.database.image>
|
|
<docker.database.port>1433</docker.database.port>
|
|
<docker.database.skip>false</docker.database.skip>
|
|
<docker.database.postStart>/opt/mssql-tools/bin/sqlcmd -e -U sa -P vEry5tron9Pwd -d master -Q CREATE\ DATABASE\ ${keycloak.connectionsJpa.database}</docker.database.postStart>
|
|
<docker.database.wait-for-log-regex>(?si)SQL Server is now ready for client connections.*Service Broker manager has started</docker.database.wait-for-log-regex>
|
|
<keycloak.connectionsJpa.driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>sa</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>vEry5tron9Pwd</keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:sqlserver://${auth.server.db.host}:${docker.database.port};databaseName=${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>
|
|
<jdbc.mvn.groupId>com.microsoft.sqlserver</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>mssql-jdbc</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>${mssql.version}</jdbc.mvn.version>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>db-oracle11g</id>
|
|
<properties>
|
|
<docker.database.image>oracle/database:11.2.0.2-xe</docker.database.image>
|
|
<docker.database.port>1521</docker.database.port>
|
|
<docker.database.shmsize>1073741824</docker.database.shmsize>
|
|
<docker.database.skip>false</docker.database.skip>
|
|
<docker.database.wait-for-log-regex>(?si)DATABASE IS READY TO USE</docker.database.wait-for-log-regex>
|
|
<keycloak.connectionsJpa.driver>oracle.jdbc.OracleDriver</keycloak.connectionsJpa.driver>
|
|
<keycloak.connectionsJpa.database>XE</keycloak.connectionsJpa.database>
|
|
<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>
|
|
<keycloak.connectionsJpa.url>jdbc:oracle:thin:@${auth.server.db.host}:${docker.database.port}:${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>
|
|
<docker.database.postStart>bash -c while\ !\ sqlplus\ -L\ SYS/sa@localhost/XE\ AS\ SYSDBA\ <<<\ $'CREATE\ USER\ ${keycloak.connectionsJpa.user}\ IDENTIFIED\ BY\ ${keycloak.connectionsJpa.password};\n\ GRANT\ CONNECT,\ RESOURCE,\ DBA,\ GRANT\ ANY\ PRIVILEGE,\ UNLIMITED\ TABLESPACE\ TO\ ${keycloak.connectionsJpa.user};\n';\ do\ sleep\ 5;\ done</docker.database.postStart>
|
|
<jdbc.mvn.groupId>com.oracle</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>ojdbc7</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>12.1.0</jdbc.mvn.version>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|