edb05421ac
closes #33517 Signed-off-by: mposolda <mposolda@gmail.com>
830 lines
38 KiB
XML
830 lines
38 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">
|
|
<parent>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-tests</artifactId>
|
|
<version>999.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<artifactId>integration-arquillian-tests-base</artifactId>
|
|
|
|
<name>Base TestSuite</name>
|
|
|
|
<description></description>
|
|
|
|
<properties>
|
|
<arquillian.protocol.default>Servlet 5.0</arquillian.protocol.default>
|
|
<cli.log.output>false</cli.log.output>
|
|
<test.intermittent>false</test.intermittent>
|
|
<exclude.test>-</exclude.test>
|
|
<exclude.console>-</exclude.console>
|
|
<exclude.account>-</exclude.account>
|
|
<exclude.client>-</exclude.client>
|
|
<!--exclude cluster tests by default, enabled by 'auth-server-*-cluster' profiles in tests/pom.xml-->
|
|
<exclude.cluster>**/cluster/**/*Test.java</exclude.cluster>
|
|
<exclude.crossdc>**/crossdc/**/*Test.java</exclude.crossdc>
|
|
<mvel.version>2.5.2.Final</mvel.version>
|
|
<systemrules.version>1.19.0</systemrules.version>
|
|
<common.resources>${basedir}/../../servers/auth-server/common</common.resources>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-util-embedded-ldap</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk15on</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-core</artifactId>
|
|
<scope>test</scope>
|
|
<type>test-jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-configuration</groupId>
|
|
<artifactId>commons-configuration</artifactId>
|
|
<version>1.10</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-testsuite-providers</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-testsuite-providers-deployment</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest</artifactId>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.icegreen</groupId>
|
|
<artifactId>greenmail</artifactId>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.subethamail</groupId>
|
|
<artifactId>subethasmtp</artifactId>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-model-storage-services</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-servers-app-server-spi</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-util</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-test-apps-servlets</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mvel</groupId>
|
|
<artifactId>mvel2</artifactId>
|
|
<version>${mvel.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven.resolver</groupId>
|
|
<artifactId>maven-resolver-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.smallrye</groupId>
|
|
<artifactId>jandex</artifactId>
|
|
<version>${smallrye.jandex.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.stefanbirkner</groupId>
|
|
<artifactId>system-rules</artifactId>
|
|
<version>${systemrules.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.infinispan</groupId>
|
|
<artifactId>infinispan-server-hotrod</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-saml-adapter-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.xml.ws</groupId>
|
|
<artifactId>jakarta.xml.ws-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.resteasy</groupId>
|
|
<artifactId>resteasy-core</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.ws.rs</groupId>
|
|
<artifactId>jakarta.ws.rs-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.apicatalog</groupId>
|
|
<artifactId>titanium-json-ld</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.setl</groupId>
|
|
<artifactId>rdf-urdna</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jboss.spec.javax.servlet</groupId>
|
|
<artifactId>jboss-servlet-api_3.0_spec</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Embedded Distribution -->
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-junit5</artifactId>
|
|
<version>${project.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>*</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-validator</groupId>
|
|
<artifactId>commons-validator</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>migration-test/*</include>
|
|
<include>authorization-test/*</include>
|
|
</includes>
|
|
</testResource>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
</testResource>
|
|
</testResources>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>2.2</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>arquillian-default-protocol</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>transform</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformationSets>
|
|
<transformationSet>
|
|
<dir>src/test/resources</dir>
|
|
<includes>
|
|
<include>arquillian.xml</include>
|
|
</includes>
|
|
<stylesheet>src/test/resources/arquillian.xsl</stylesheet>
|
|
<outputDir>${project.build.directory}/dependency</outputDir>
|
|
<parameters>
|
|
<parameter>
|
|
<name>defaultProtocol</name>
|
|
<value>${arquillian.protocol.default}</value>
|
|
</parameter>
|
|
</parameters>
|
|
</transformationSet>
|
|
</transformationSets>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>${exclude.test}</exclude>
|
|
<exclude>${exclude.console}</exclude>
|
|
<exclude>${exclude.account}</exclude>
|
|
<exclude>${exclude.client}</exclude>
|
|
<exclude>${exclude.cluster}</exclude>
|
|
<exclude>${exclude.crossdc}</exclude>
|
|
</excludes>
|
|
<systemPropertyVariables>
|
|
<com.mchange.v2.c3p0.VMID>testsuiteVmId</com.mchange.v2.c3p0.VMID>
|
|
<auth.server.db.host>${docker.container.testdb.ip}</auth.server.db.host>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-common-dependencies</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>wildfly-config.xml</include>
|
|
<include>password-blacklists/**</include>
|
|
<include>log4j.properties</include>
|
|
<include>vault/**</include>
|
|
<include>firefox-cookies-prefs.js</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-admin-user-json-file</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skip.add.user.json}</skip>
|
|
<outputDirectory>${auth.server.config.dir}</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/test/resources</directory>
|
|
<includes>
|
|
<include>keycloak-add-user.json</include>
|
|
</includes>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-client-cli-dist</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-client-cli-dist</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>zip</type>
|
|
<outputDirectory>${containers.home}</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-testsuite-providers-to-base-testsuite</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeGroupIds>org.keycloak.testsuite</includeGroupIds>
|
|
<includeArtifactIds>integration-arquillian-testsuite-providers</includeArtifactIds>
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>io.fabric8</groupId>
|
|
<artifactId>docker-maven-plugin</artifactId>
|
|
<version>${docker.maven.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>start-db-container</id>
|
|
<phase>process-test-classes</phase>
|
|
<goals>
|
|
<goal>start</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.database.skip}</skip>
|
|
<showLogs>true</showLogs>
|
|
<images>
|
|
<image>
|
|
<alias>testdb</alias>
|
|
<name>${docker.database.image}</name>
|
|
<run>
|
|
<shmSize>${docker.database.shmsize}</shmSize>
|
|
<ports>
|
|
<port>${docker.database.port}:${docker.database.port}</port>
|
|
</ports>
|
|
<env>
|
|
<!-- MYSQL and MariaDB -->
|
|
<MYSQL_DATABASE>${keycloak.connectionsJpa.database}</MYSQL_DATABASE>
|
|
<MYSQL_USER>${keycloak.connectionsJpa.user}</MYSQL_USER>
|
|
<MYSQL_PASSWORD>${keycloak.connectionsJpa.password}</MYSQL_PASSWORD>
|
|
<MYSQL_RANDOM_ROOT_PASSWORD>true</MYSQL_RANDOM_ROOT_PASSWORD>
|
|
|
|
<!-- PostgreSQL -->
|
|
<POSTGRES_DB>${keycloak.connectionsJpa.database}</POSTGRES_DB>
|
|
<POSTGRES_USER>${keycloak.connectionsJpa.user}</POSTGRES_USER>
|
|
<POSTGRES_PASSWORD>${keycloak.connectionsJpa.password}</POSTGRES_PASSWORD>
|
|
|
|
<!-- MSSQL -->
|
|
<ACCEPT_EULA>Y</ACCEPT_EULA>
|
|
<MSSQL_SA_PASSWORD>${keycloak.connectionsJpa.password}</MSSQL_SA_PASSWORD>
|
|
|
|
<!-- Oracle -->
|
|
<ORACLE_SID>${keycloak.connectionsJpa.database}</ORACLE_SID>
|
|
<ORACLE_PWD>sa</ORACLE_PWD>
|
|
</env>
|
|
<cmd>${docker.database.cmd}</cmd>
|
|
<wait>
|
|
<!-- Do not use waiting for port since that is unreliable, sometimes port is listening before DB is ready to serve -->
|
|
<log>${docker.database.wait-for-log-regex}</log>
|
|
<time>2000000</time>
|
|
<kill>10000</kill>
|
|
<exec>
|
|
<postStart>${docker.database.postStart}</postStart>
|
|
<breakOnError>true</breakOnError>
|
|
</exec>
|
|
</wait>
|
|
</run>
|
|
</image>
|
|
</images>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>stop-db-container</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>stop</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.database.skip}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
<profiles>
|
|
|
|
<profile>
|
|
<id>app-server-wildfly</id>
|
|
<activation>
|
|
<property>
|
|
<name>app.server</name>
|
|
<value>wildfly</value>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<app.server>wildfly</app.server> <!--in case the profile is called directly-->
|
|
<app.server.skip.unpack>false</app.server.skip.unpack>
|
|
<wildfly.core.version>${tests.wildfly.core.version}</wildfly.core.version>
|
|
</properties>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-servers-app-server-wildfly</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<!--required by creaper-core-->
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-cli</artifactId>
|
|
<scope>test</scope>
|
|
<version>${wildfly.core.version}</version>
|
|
</dependency>
|
|
<!-- FIXME: Override in order to prevent NoClassDefFoundError: org/jboss/threads/AsyncFuture in ClientContainerController -->
|
|
<dependency>
|
|
<groupId>org.jboss.threads</groupId>
|
|
<artifactId>jboss-threads</artifactId>
|
|
<version>2.4.0.Final</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.commonjava.maven.plugins</groupId>
|
|
<artifactId>directory-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>app-server-eap8</id>
|
|
<activation>
|
|
<property>
|
|
<name>app.server</name>
|
|
<value>eap8</value>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<app.server>eap8</app.server>
|
|
<app.server.skip.unpack>false</app.server.skip.unpack>
|
|
<app.server.artifactId>integration-arquillian-servers-app-server-jboss-galleon</app.server.artifactId>
|
|
<wildfly.core.version>${tests.wildfly.core.version}</wildfly.core.version>
|
|
</properties>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-servers-app-server-jboss-galleon</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<!--required by creaper-core-->
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-cli</artifactId>
|
|
<scope>test</scope>
|
|
<version>${wildfly.core.version}</version>
|
|
</dependency>
|
|
<!-- FIXME: Override in order to prevent NoClassDefFoundError: org/jboss/threads/AsyncFuture in ClientContainerController -->
|
|
<dependency>
|
|
<groupId>org.jboss.threads</groupId>
|
|
<artifactId>jboss-threads</artifactId>
|
|
<version>2.4.0.Final</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.commonjava.maven.plugins</groupId>
|
|
<artifactId>directory-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-servers-crossdc-undertow</id>
|
|
<properties>
|
|
<skip.clean.second.cache>false</skip.clean.second.cache>
|
|
<exclude.crossdc>-</exclude.crossdc>
|
|
<surefire.memory.Xmx>1024m</surefire.memory.Xmx>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>auth-servers-crossdc-jboss</id>
|
|
<properties>
|
|
<skip.clean.second.cache>false</skip.clean.second.cache>
|
|
<skip.copy.auth.crossdc.nodes>false</skip.copy.auth.crossdc.nodes>
|
|
<exclude.crossdc>-</exclude.crossdc>
|
|
<surefire.memory.Xmx>1024m</surefire.memory.Xmx>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>generate-certs-for-custom-app-server-host</id>
|
|
<activation>
|
|
<property>
|
|
<name>app.server.host</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>keytool-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>remove-old-app-server-key</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>deleteAlias</goal>
|
|
</goals>
|
|
<configuration>
|
|
<keystore>${app.server.keystore}</keystore>
|
|
<storepass>${app.server.keystore.password}</storepass>
|
|
<alias>localhost3</alias>
|
|
<skip>${app.server.skip.unpack}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>generate-new-app-server-cert</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>generateKeyPair</goal>
|
|
</goals>
|
|
<configuration>
|
|
<keystore>${app.server.keystore}</keystore>
|
|
<storepass>${app.server.keystore.password}</storepass>
|
|
<alias>${app.server.host}</alias>
|
|
<dname>CN=${app.server.host}, OU=Keycloak, O=Red Hat, L=Westword, ST=MA, C=US</dname>
|
|
<keyalg>RSA</keyalg>
|
|
<keysize>2048</keysize>
|
|
<sigalg>SHA256withRSA</sigalg>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>export-app-server-cert</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>exportCertificate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<keystore>${app.server.keystore}</keystore>
|
|
<storepass>${app.server.keystore.password}</storepass>
|
|
<alias>${app.server.host}</alias>
|
|
<file>${dependency.keystore.root}/${app.server.host}.pem</file>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>import-app-server-cert-to-truststore</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>importCertificate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<keystore>${dependency.truststore}</keystore>
|
|
<storepass>${dependency.truststore.password}</storepass>
|
|
<alias>${app.server.host}</alias>
|
|
<file>${dependency.keystore.root}/${app.server.host}.pem</file>
|
|
<trustcacerts>true</trustcacerts>
|
|
<noprompt>true</noprompt>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-processed-truststore-to-app-server</id>
|
|
<phase>process-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${app.server.keystore.dir}</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${dependency.keystore.root}</directory>
|
|
</resource>
|
|
</resources>
|
|
<overwrite>true</overwrite>
|
|
<skip>${app.server.skip.unpack}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-processed-truststore-to-secured-deployment-app-server-config</id>
|
|
<phase>process-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${app.server.home}/standalone-secured-deployments/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${dependency.keystore.root}</directory>
|
|
</resource>
|
|
</resources>
|
|
<overwrite>true</overwrite>
|
|
<skip>${app.server.skip.unpack}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-processed-keystore-to-secured-deployment-app-server-config</id>
|
|
<phase>process-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${app.server.home}/standalone-secured-deployments/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${app.server.keystore.dir}</directory>
|
|
<includes>
|
|
<include>adapter.jks</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<overwrite>true</overwrite>
|
|
<skip>${app.server.skip.unpack}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-fips140-2</id>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-bcfips-deps-client-tools</id>
|
|
<phase>process-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${containers.home}/keycloak-client-tools/bin/client/lib</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${containers.home}/auth-server-quarkus/bin/client/lib</directory>
|
|
<includes>
|
|
<include>bc-fips-*</include>
|
|
<include>bctls-fips-*</include>
|
|
<include>bcutil-fips-*</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-quarkus-embedded</id>
|
|
<properties>
|
|
<surefire.memory.Xms>2048m</surefire.memory.Xms>
|
|
<surefire.memory.Xmx>2048m</surefire.memory.Xmx>
|
|
<surefire.memory.metaspace>512m</surefire.memory.metaspace>
|
|
<surefire.memory.metaspace.max>1024m</surefire.memory.metaspace.max>
|
|
<junit-vintage-engine.version>5.9.3</junit-vintage-engine.version>
|
|
</properties>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-junit5</artifactId>
|
|
<version>${project.version}</version>
|
|
<exclusions>
|
|
<!-- TODO: FIPS not yet supported -->
|
|
<exclusion>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-crypto-fips1402</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
<version>${junit-vintage-engine.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.logmanager</groupId>
|
|
<artifactId>log4j-jboss-logmanager</artifactId>
|
|
<version>1.3.0.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
<version>${byte-buddy.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>infinispan-server</id>
|
|
<properties>
|
|
<docker.infinispan.skip>false</docker.infinispan.skip>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>io.fabric8</groupId>
|
|
<artifactId>docker-maven-plugin</artifactId>
|
|
<version>${docker.maven.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>start-ispn-container</id>
|
|
<phase>process-test-classes</phase>
|
|
<goals>
|
|
<goal>start</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.infinispan.skip}</skip>
|
|
<showLogs>true</showLogs>
|
|
<images>
|
|
<image>
|
|
<alias>infinispan</alias>
|
|
<name>quay.io/infinispan/server:${infinispan.version}</name>
|
|
<run>
|
|
<ports>
|
|
<port>11222:11222</port>
|
|
</ports>
|
|
<env>
|
|
<USER>keycloak</USER>
|
|
<PASS>Password1!</PASS>
|
|
</env>
|
|
<net>host</net>
|
|
<cmd>-b 127.0.0.1 -k 127.0.0.1</cmd>
|
|
<wait>
|
|
<log>.*ISPN080001.*</log>
|
|
<time>2000000</time>
|
|
<kill>10000</kill>
|
|
</wait>
|
|
</run>
|
|
</image>
|
|
</images>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>stop-ispn-container</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>stop</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.infinispan.skip}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
</project>
|