pom.xml

696 lines | 32.737 kB Blame History Raw Download
<?xml version="1.0"?>
<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</artifactId>
        <version>1.8.1.Final</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>integration-arquillian-tests</artifactId>
    <packaging>pom</packaging>
    <name>Tests</name>
    
    <modules>
        <module>base</module>
        <module>adapters</module>
    </modules>
    
    <properties>
        <containers.home>${project.build.directory}/containers</containers.home>
        <examples.home>${project.build.directory}/examples</examples.home>

        <auth.server.container>auth-server-undertow</auth.server.container>
        <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>
        
        <browser>phantomjs</browser>

        <arquillian-core.version>1.1.8.Final</arquillian-core.version>
        <selenium.version>2.45.0</selenium.version>
        <arquillian-drone.version>2.0.0.Alpha4</arquillian-drone.version>
        <arquillian-graphene.version>2.1.0.Alpha2</arquillian-graphene.version>
        <arquillian-wildfly-container.version>8.2.0.Final</arquillian-wildfly-container.version>
        <version.shrinkwrap.resolvers>2.1.1</version.shrinkwrap.resolvers>
        <skip.unpack.previous>true</skip.unpack.previous>
    </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>
                            <browser>${browser}</browser>
                            <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>
                            <startup.timeout.sec>${startup.timeout.sec}</startup.timeout.sec>
                            <jboss.server.config.dir>${project.build.directory}/undertow-configuration</jboss.server.config.dir>
                        </systemPropertyVariables>
                        <properties>
                            <property>
                                <name>listener</name>
                                <value>org.keycloak.testsuite.util.TestEventsLogger</value>
                            </property>
                        </properties>
                        <failIfNoTests>false</failIfNoTests>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>unpack-previous</id>
                            <phase>generate-test-resources</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                            <configuration>
                                <skip>${skip.unpack.previous}</skip>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>org.keycloak.testsuite</groupId>
                                        <artifactId>${server.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-resources-plugin</artifactId>
                    <version>2.7</version>
                    <executions>
                        <execution>
                            <id>copy-admin-user-json-file</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${project.build.directory}/undertow-configuration</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>
            </plugins>
        </pluginManagement>        
    </build>

    <profiles>
        
        <profile>
            <id>common-for-tests</id>
            <activation>
                <file>
                    <exists>src</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>
                    <artifactId>arquillian-browser-screenshooter</artifactId>
                    <version>2.1.0.Alpha3</version><!-- TODO upgrade <arquillian-graphene.version> and use ${arquillian-graphene.version} -->
                </dependency>
                
<!--                <dependency>
                    <groupId>org.arquillian.extension</groupId>
                    <artifactId>arquillian-recorder-reporter-impl</artifactId>
                    <version>1.1.0.Final</version>
                </dependency>-->
                
                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </dependency>

                <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>javax.servlet-api</artifactId>
                    <version>3.1.0</version>
                </dependency>

                <dependency>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                    <version>1.9.2</version>
                    <type>jar</type>
                </dependency>
        
                <!-- Email Test Server -->
                <dependency>
                    <groupId>com.icegreen</groupId>
                    <artifactId>greenmail</artifactId>
                    <exclusions>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                        
                <!-- Keycloak deps for tests -->

                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-dependencies-server-all</artifactId>
                    <type>pom</type>
                </dependency>

                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-admin-client</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-client-registration-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-services</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-adapter-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-adapter-spi</artifactId>
                </dependency>


                <!-- Keycloak Server on Undertow -->

                <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>jaxrs-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>async-http-servlet-3.0</artifactId>
                </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-client</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-undertow</artifactId>
                    <scope>compile</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-multipart-provider</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-jackson-provider</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.jackson</groupId>
                    <artifactId>jackson-core-asl</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.jackson</groupId>
                    <artifactId>jackson-mapper-asl</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.jackson</groupId>
                    <artifactId>jackson-xc</artifactId>
                </dependency>
        
                <dependency>
                    <groupId>org.hibernate.javax.persistence</groupId>
                    <artifactId>${hibernate.javax.persistence.artifactId}</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-entitymanager</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk15on</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcpkix-jdk15on</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.hamcrest</groupId>
                    <artifactId>hamcrest-all</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.infinispan</groupId>
                    <artifactId>infinispan-core</artifactId>
                </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> 
                </plugins>
            </build>            
        </profile>
        
        <profile>
            <id>auth-server-wildfly</id>
            <properties>
                <auth.server.container>auth-server-wildfly</auth.server.container>
                <auth.server.wildfly.home>${containers.home}/keycloak-${project.version}</auth.server.wildfly.home>
                <startup.timeout.sec>300</startup.timeout.sec>
                <adapter.test.props/>
            </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-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>unpack</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>
                        <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>
                                    <auth.server.wildfly.home>${auth.server.wildfly.home}</auth.server.wildfly.home>
                                    <adapter.test.props>${adapter.test.props}</adapter.test.props>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                        <plugin>
                            <artifactId>maven-resources-plugin</artifactId>
                            <version>2.7</version>
                            <executions>
                                <execution>
                                    <id>copy-admin-user-json-file</id>
                                    <phase>process-resources</phase>
                                    <goals>
                                        <goal>copy-resources</goal>
                                    </goals>
                                    <configuration>
                                        <outputDirectory>${auth.server.wildfly.home}/standalone/configuration</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>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>auth-server-eap6</id>
            <properties>
                <auth.server.container>auth-server-eap6</auth.server.container>
                <auth.server.eap6.home>${containers.home}/keycloak-${project.version}</auth.server.eap6.home>
                <startup.timeout.sec>300</startup.timeout.sec>
                <adapter.test.props/>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.as</groupId>
                    <artifactId>jboss-as-arquillian-container-managed</artifactId>
                    <version>7.2.0.Final</version>
                </dependency>
            </dependencies>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>unpack</id>
                                    <phase>generate-test-resources</phase>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                    <configuration>
                                        <artifactItems>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>integration-arquillian-server-eap6</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>
                                    <auth.server.eap6>true</auth.server.eap6>
                                    <auth.server.undertow>false</auth.server.undertow>
                                    <auth.server.eap6.home>${auth.server.eap6.home}</auth.server.eap6.home>
                                    <adapter.test.props>${adapter.test.props}</adapter.test.props>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                        <plugin>
                            <artifactId>maven-resources-plugin</artifactId>
                            <version>2.7</version>
                            <executions>
                                <execution>
                                    <id>copy-admin-user-json-file</id>
                                    <phase>process-resources</phase>
                                    <goals>
                                        <goal>copy-resources</goal>
                                    </goals>
                                    <configuration>
                                        <outputDirectory>${auth.server.eap6.home}/standalone/configuration</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>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <!-- Profiles for migration tests-->
        
        <profile>
            <id>migration-kc16</id>
            <properties>
                <skip.unpack.previous>false</skip.unpack.previous>
                <server.version>1.6.1.Final</server.version>
                <server.artifactId>integration-arquillian-server-wildfly-kc16</server.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <migration>true</migration>
                                    <migration.kc16>true</migration.kc16>
                                    <keycloak.migration.home>${containers.home}/keycloak-${server.version}</keycloak.migration.home>
                                    <keycloak.migration.file>src/test/resources/migration-test/migration-realm-16.json</keycloak.migration.file>
                                    <version>${server.version}</version>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc15</id>
            <properties>
                <skip.unpack.previous>false</skip.unpack.previous>
                <server.version>1.5.1.Final</server.version>
                <server.artifactId>integration-arquillian-server-wildfly-kc15</server.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <migration>true</migration>
                                    <migration.kc15>true</migration.kc15>
                                    <keycloak.migration.home>${containers.home}/keycloak-${server.version}</keycloak.migration.home>
                                    <keycloak.migration.file>src/test/resources/migration-test/migration-realm-15.json</keycloak.migration.file>
                                    <version>${server.version}</version>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc14</id>
            <properties>
                <skip.unpack.previous>false</skip.unpack.previous>
                <server.version>1.4.0.Final</server.version>
                <server.artifactId>integration-arquillian-server-wildfly-kc14</server.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <migration>true</migration>
                                    <migration.kc14>true</migration.kc14>
                                    <keycloak.migration.home>${containers.home}/keycloak-${server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc13</id>
            <properties>
                <skip.unpack.previous>false</skip.unpack.previous>
                <server.version>1.3.1.Final</server.version>
                <server.artifactId>integration-arquillian-server-wildfly-kc13</server.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <migration>true</migration>
                                    <migration.kc13>true</migration.kc13>
                                    <keycloak.migration.home>${containers.home}/keycloak-${server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc12</id>
            <properties>
                <skip.unpack.previous>false</skip.unpack.previous>
                <server.version>1.2.0.Final</server.version>
                <server.artifactId>integration-arquillian-server-wildfly-kc12</server.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <migration>true</migration>
                                    <migration.kc12>true</migration.kc12>
                                    <keycloak.migration.home>${containers.home}/keycloak-${server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
    </profiles>
    
</project>