arquillian.xml

217 lines | 11.342 kB Blame History Raw Download
<!--
~ 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.
-->

<arquillian xmlns="http://jboss.org/schema/arquillian"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://jboss.org/schema/arquillian
        http://jboss.org/schema/arquillian/arquillian_1_0.xsd">

    <defaultProtocol type="Servlet 3.0" />
	
    <extension qualifier="webdriver">
        <property name="browser">${browser}</property>
        <property name="htmlUnit.version">${htmlUnitBrowserVersion}</property>
        <property name="firefox_binary">${firefox_binary}</property>
        <property name="chromeArguments">${chromeArguments}</property>
        <property name="phantomjs.cli.args">${phantomjs.cli.args} --ssl-certificates-path=${client.certificate.ca.path} --ssl-client-certificate-file=${client.certificate.file} --ssl-client-key-file=${client.key.file} --ssl-client-key-passphrase=${client.key.passphrase}</property>
    </extension>
    
    <extension qualifier="graphene">
        <property name="waitGuiInterval">5</property>
        <property name="waitAjaxInterval">5</property>
        <property name="waitModelInterval">10</property>
        <property name="waitGuardInterval">5</property>
    </extension>
    
    <extension qualifier="graphene-secondbrowser">
        <property name="browser">${browser}</property>
        <property name="firefox_binary">${firefox_binary}</property>
    </extension>
    
    <engine>
        <!-- This allows manual inspection of deployed archives. -->
        <property name="deploymentExportPath">target/deployments</property>
    </engine>
    
    <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.KeycloakOnUndertow</property>
            <property name="bindHttpPort">${auth.server.http.port}</property>
            <property name="remoteMode">${undertow.remote}</property>
        </configuration>
    </container>
    
    <container qualifier="auth-server-${auth.server}" mode="suite" >
        <configuration>
            <property name="enabled">${auth.server.jboss}</property>
            <property name="adapterImplClass">${auth.server.adapter.impl.class}</property>
            <property name="jbossHome">${auth.server.home}</property>
            <property name="${auth.server.config.property.name}">${auth.server.config.property.value}</property>
            <!-- This is required for domain mode -->
            <property name="allowConnectingToRunningServer">true</property>
            <property name="jbossArguments">
                -Djboss.socket.binding.port-offset=${auth.server.port.offset}
                -Djboss.bind.address=0.0.0.0 
                ${adapter.test.props}
                ${migration.import.properties}
                ${auth.server.profile}
                ${auth.server.feature}
            </property>
            <property name="javaVmArguments">
                ${auth.server.jboss.jvm.debug.args}
                ${auth.server.memory.settings}
                -Djava.net.preferIPv4Stack=true
            </property>
            <property name="managementPort">${auth.server.management.port}</property>
            <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
            <property name="javaHome">${auth.server.java.home}</property>
        </configuration>
    </container>

    <group qualifier="auth-server-${auth.server}-cluster">
        <container qualifier="auth-server-${auth.server}-backend1" mode="manual" >
            <configuration>
                <property name="enabled">${auth.server.cluster}</property>
                <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</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}
                    -Djboss.node.name=node1
                    ${adapter.test.props}
                    ${auth.server.profile}
                </property>
                <property name="javaVmArguments">
                    ${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">${auth.server.jboss.startup.timeout}</property>
            </configuration>
        </container>
        <container qualifier="auth-server-${auth.server}-backend2" mode="manual" >
            <configuration>
                <property name="enabled">${auth.server.cluster}</property>
                <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</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} 
                    -Djboss.node.name=node2
                    ${adapter.test.props}
                    ${auth.server.profile}
                </property>
                <property name="javaVmArguments">
                    ${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">${auth.server.jboss.startup.timeout}</property>
            </configuration>
        </container>
    </group>

    <!-- Clustering with embedded undertow -->
    <group qualifier="auth-server-undertow-cluster">
        <container qualifier="auth-server-undertow-backend1" mode="manual" >
            <configuration>
                <property name="enabled">${auth.server.undertow.cluster}</property>
                <property name="adapterImplClass">org.keycloak.testsuite.arquillian.undertow.KeycloakOnUndertow</property>
                <property name="bindAddress">localhost</property>
                <property name="bindHttpPort">${auth.server.http.port}</property>
                <property name="bindHttpPortOffset">1</property>
                <property name="route">node1</property>
                <property name="remoteMode">${undertow.remote}</property>
            </configuration>
        </container>
        <container qualifier="auth-server-undertow-backend2" mode="manual" >
            <configuration>
                <property name="enabled">${auth.server.undertow.cluster}</property>
                <property name="adapterImplClass">org.keycloak.testsuite.arquillian.undertow.KeycloakOnUndertow</property>
                <property name="bindAddress">localhost</property>
                <property name="bindHttpPort">${auth.server.http.port}</property>
                <property name="bindHttpPortOffset">2</property>
                <property name="route">node2</property>
                <property name="remoteMode">${undertow.remote}</property>
            </configuration>
        </container>

        <container qualifier="auth-server-balancer-undertow" mode="suite" >
            <configuration>
                <property name="enabled">${auth.server.undertow.cluster}</property>
                <property name="adapterImplClass">org.keycloak.testsuite.arquillian.undertow.lb.SimpleUndertowLoadBalancerContainer</property>
                <property name="bindAddress">localhost</property>
                <property name="bindHttpPort">${auth.server.http.port}</property>
                <property name="nodes">node1=http://localhost:8181,node2=http://localhost:8182</property>
            </configuration>
        </container>
    </group>


    <container qualifier="auth-server-balancer-wildfly" mode="suite" >
        <configuration>
            <property name="enabled">${auth.server.cluster}</property>
            <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</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="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
        </configuration>
    </container>
    
    <container qualifier="auth-server-remote" mode="suite" >
        <configuration>
            <property name="enabled">${auth.server.remote}</property>
            <property name="adapterImplClass">org.jboss.as.arquillian.container.remote.RemoteDeployableContainer</property>

            <property name="managementAddress">${auth.server.host}</property>
            <property name="managementPort">${auth.server.management.port}</property>
            <property name="username">admin</property>
            <property name="password">admin</property>
        </configuration>
    </container>
    
    <!-- PREVIOUS VERSION OF KEYCLOAK FOR MIGRATION TESTS -->
    
    <container qualifier="auth-server-jboss-migration" mode="manual" >
        <configuration>
            <property name="enabled">${auth.server.jboss.migration}</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}
                ${migration.import.props.previous}
                ${auth.server.memory.settings}
            </property>
            <property name="managementPort">${auth.server.management.port}</property>
            <property name="startupTimeoutInSeconds">${auth.server.jboss.startup.timeout}</property>
        </configuration>
    </container>
            
</arquillian>