2 Replies Latest reply on Jul 20, 2016 10:23 AM by Axel Wilhelm Berle

    Remote Arquillian test on Wildfly 10 inside docker fails with strange message: Got 403 (Forbidden)

    Axel Wilhelm Berle Newbie

      I am trying to execute our arquillian tests on a remote wildfly-10 instance.

       

      It works fine when I excute it on the same machine, but when inside a docker instance, it fails with a strange message.

       

      Error launching test at http://127.0.0.1:8080/simple-test/ArquillianServletRunner?outputMode=serializedObject&className= .... Got 403 (Forbidden)

       

      2016-07-19 17:54:13,667 main INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
      2016-07-19 17:54:13,995 DEBUG  [SimpleArquillianTest] Deployable test war: simple-test.war:
      /WEB-INF/
      /WEB-INF/classes/
      /WEB-INF/classes/br/
      /WEB-INF/classes/br/com/
      /WEB-INF/classes/br/com/ml/
      /WEB-INF/classes/br/com/ml/backend/
      /WEB-INF/classes/br/com/ml/backend/services/
      /WEB-INF/classes/br/com/ml/backend/services/pedido/
      /WEB-INF/classes/br/com/ml/backend/services/pedido/PedidoDTO.class
      /WEB-INF/classes/br/com/ml/backend/services/pedido/ItemDTO.class
      /WEB-INF/classes/log4j.xml
      /WEB-INF/beans.xml 
      XNIO version 3.3.4.Final
      XNIO NIO Implementation Version 3.3.4.Final
      JBoss Remoting version 4.0.18.Final
      java.lang.IllegalStateException: Error launching test at http://127.0.0.1:8080/simple-test/ArquillianServletRunner?outputMode=serializedObject&className=tdd.br.com.ml.backend.services.log.SimpleArquillianTest&methodName=deveria_injectar_pedido&cmd=event. Got 403 (Forbidden)
           at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.execute(ServletMethodExecutor.java:219)
           at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor$1.run(ServletMethodExecutor.java:250)
           at java.util.TimerThread.mainLoop(Timer.java:555)
           at java.util.TimerThread.run(Timer.java:505)
      Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.501 sec <<< FAILURE! - in tdd.br.com.ml.backend.services.log.SimpleArquillianTest
      deveria_injectar_pedido(tdd.br.com.ml.backend.services.log.SimpleArquillianTest)  Time elapsed: 0.047 sec  <<< ERROR!
      java.lang.IllegalStateException: Error launching test tdd.br.com.ml.backend.services.log.SimpleArquillianTest public void tdd.br.com.ml.backend.services.log.SimpleArquillianTest.deveria_injectar_pedido()
      Caused by: java.lang.IllegalStateException: Error launching test at http://127.0.0.1:8080/simple-test/ArquillianServletRunner?outputMode=serializedObject&className=tdd.br.com.ml.backend.services.log.SimpleArquillianTest&methodName=deveria_injectar_pedido. Got 403 (Forbidden)

       

      The test gets deployed in the Wildfly instance on docker, as can be seen in the log file generated:

       

      2016-07-19 17:43:12,684 DEBUG [org.jboss.as.config] (MSC service thread 1-1) VM Arguments: -D[Standalone] -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/opt/jboss/wildfly/standalone/log/server.log -Dlogging.configuration=file:/opt/jboss/wildfly/standalone/configuration/logging.properties

      2016-07-19 17:43:13,991 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)

      2016-07-19 17:43:14,012 INFO  [org.xnio] (MSC service thread 1-4) XNIO version 3.3.4.Final

      2016-07-19 17:43:14,023 INFO  [org.xnio.nio] (MSC service thread 1-4) XNIO NIO Implementation Version 3.3.4.Final

      2016-07-19 17:43:14,083 INFO  [org.jboss.remoting] (MSC service thread 1-3) JBoss Remoting version 4.0.18.Final

      2016-07-19 17:43:14,123 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 33) WFLYJCA0004: Deploying JDBC-compliant driver class org.hsqldb.jdbcDriver (version 2.3)

      2016-07-19 17:43:14,130 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 37) WFLYIO001: Worker 'default' has auto-configured to 4 core threads with 32 task threads based on your 2 available processors

      2016-07-19 17:43:14,135 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 38) WFLYCLINF0001: Activating Infinispan subsystem.

      2016-07-19 17:43:14,187 INFO  [org.jboss.as.connector] (MSC service thread 1-1) WFLYJCA0009: Starting JCA Subsystem (WildFly/IronJacamar 1.3.2.Final)

      2016-07-19 17:43:14,194 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) WFLYJCA0018: Started Driver service with driver-name = hsqldb

      2016-07-19 17:43:14,216 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 44) WFLYJSF0007: Activated the following JSF Implementations: [main]

      2016-07-19 17:43:14,243 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 46) WFLYNAM0001: Activating Naming Subsystem

      2016-07-19 17:43:14,324 INFO  [org.jboss.as.naming] (MSC service thread 1-1) WFLYNAM0003: Starting Naming Service

      2016-07-19 17:43:14,332 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 54) WFLYTX0013: Node identifier property is set to the default value. Please make sure it is unique.

      2016-07-19 17:43:14,334 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-1) WFLYMAIL0001: Bound mail session [java:jboss/mail/Default]

      2016-07-19 17:43:14,355 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 56) WFLYWS0002: Activating WebServices Extension

      2016-07-19 17:43:14,363 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 53) WFLYSEC0002: Activating Security Subsystem

      2016-07-19 17:43:14,380 INFO  [org.jboss.as.security] (MSC service thread 1-1) WFLYSEC0001: Current PicketBox version=4.9.4.Final

      2016-07-19 17:43:14,413 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0003: Undertow 1.3.15.Final starting

      2016-07-19 17:43:14,413 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0003: Undertow 1.3.15.Final starting

      2016-07-19 17:43:14,552 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0014: Creating file handler for path '/opt/jboss/wildfly/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]']

      2016-07-19 17:43:14,583 INFO  [org.jboss.as.ejb3] (MSC service thread 1-1) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 8 (per class), which is derived from the number of CPUs on this host.

      2016-07-19 17:43:14,584 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0012: Started server default-server.

      2016-07-19 17:43:14,584 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0018: Host default-host starting

      2016-07-19 17:43:14,583 INFO  [org.jboss.as.ejb3] (MSC service thread 1-3) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 32 (per class), which is derived from thread worker pool sizing.

      2016-07-19 17:43:14,691 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0006: Undertow HTTP listener default listening on 0.0.0.0:8080

      2016-07-19 17:43:14,982 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/jboss/wildfly/standalone/deployments

      2016-07-19 17:43:15,115 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-3) ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final

      2016-07-19 17:43:15,124 INFO  [org.jboss.ws.common.management] (MSC service thread 1-4) JBWS022052: Starting JBossWS 5.1.3.Final (Apache CXF 3.1.4)

      2016-07-19 17:43:15,223 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) WFLYJCA0001: Bound data source [java:jboss/jdbc/carf_test_integration]

      2016-07-19 17:43:15,575 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management

      2016-07-19 17:43:15,580 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://0.0.0.0:9990

      2016-07-19 17:43:15,581 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 3552ms - Started 267 of 553 services (371 services are lazy, passive or on-demand)

      2016-07-19 17:43:50,179 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001: Content added at location /opt/jboss/wildfly/standalone/data/content/39/9ad3f064785073f6c396fffb7cea4bc7314527/content

      2016-07-19 17:43:50,201 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "simple-test.war" (runtime-name: "simple-test.war")

      2016-07-19 17:43:50,690 INFO  [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0003: Processing weld deployment simple-test.war

      2016-07-19 17:43:50,738 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-4) HV000001: Hibernate Validator 5.2.3.Final

      2016-07-19 17:43:50,949 INFO  [org.jboss.weld.deployer] (MSC service thread 1-3) WFLYWELD0006: Starting Services for CDI deployment: simple-test.war

      2016-07-19 17:43:50,976 INFO  [org.jboss.weld.Version] (MSC service thread 1-3) WELD-000900: 2.3.2 (Final)

      2016-07-19 17:43:51,018 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0009: Starting weld service for deployment simple-test.war

      2016-07-19 17:43:51,888 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 64) WFLYUT0021: Registered web context: /simple-test

      2016-07-19 17:43:51,940 INFO  [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0010: Deployed "simple-test.war" (runtime-name : "simple-test.war")

      2016-07-19 17:43:52,325 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 64) WFLYUT0022: Unregistered web context: /simple-test

      2016-07-19 17:43:52,358 INFO  [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0010: Stopping weld service for deployment simple-test.war

      2016-07-19 17:43:52,399 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment simple-test.war (runtime-name: simple-test.war) in 80ms

      2016-07-19 17:43:52,418 INFO  [org.jboss.as.repository] (management-handler-thread - 2) WFLYDR0002: Content removed from location /opt/jboss/wildfly/standalone/data/content/39/9ad3f064785073f6c396fffb7cea4bc7314527/content

      2016-07-19 17:43:52,418 INFO  [org.jboss.as.server] (management-handler-thread - 2) WFLYSRV0009: Undeployed "simple-test.war" (runtime-name: "simple-test.war")

       

       

      The (relevant parts of) standalone2.xml are: (belive me, I tired all kinds of combinations, fixed IPs and all):

       

      <?xml version='1.0' encoding='UTF-8'?>
      
      <server xmlns="urn:jboss:domain:4.0">
      
         ...
      
      
         <interfaces>
              <interface name="management">
      
                   <inet-address value="${jboss.bind.address.management}"/>
      
              </interface>
              <interface name="public">
                  <any-address/>
              </interface>
          </interfaces>
      
          <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
              <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
              <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
              <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
              <socket-binding name="http" port="${jboss.http.port:8080}"/>
              <socket-binding name="https" port="${jboss.https.port:8443}"/>
              <socket-binding name="txn-recovery-environment" port="4712"/>
              <socket-binding name="txn-status-manager" port="4713"/>
              <outbound-socket-binding name="mail-smtp">
                  <remote-destination host="localhost" port="25"/>
              </outbound-socket-binding>
          </socket-binding-group>
      
      </server>
      
      
      
      
      
      
      
      
      
      
      

       

      This is the docker file used for the wildlfy image: (awberle/wildfly-10-carf)

       

      FROM jboss/base-jdk:8
      
      MAINTAINER "axelberle@yahoo.de"
      
      # Set the WILDFLY_VERSION env variable
      ENV WILDFLY_VERSION 10.0.0.Final
      ENV JBOSS_HOME /opt/jboss/wildfly
      
      # Add the WildFly distribution to /opt, and make wildfly the owner of the extracted tar content
      # Make sure the distribution is available from a well-known place
      RUN cd $HOME \
          && curl -O https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz \
          && tar xf wildfly-$WILDFLY_VERSION.tar.gz \
          && mv $HOME/wildfly-$WILDFLY_VERSION $JBOSS_HOME \
          && rm wildfly-$WILDFLY_VERSION.tar.gz
      
      # Ensure signals are forwarded to the JVM process correctly for graceful shutdown
      ENV LAUNCH_JBOSS_IN_BACKGROUND true
      
      ENV MODULE_PATH /modules/system/layers/base/
      ENV POSTGRESQL_DRIVER postgresql-9.4.1208.jar
      ENV HSQLDB_DRIVER hsqldb-2.3.3.jar
      ENV POSTGRESQL_FILE  ${MODULE_PATH}/org/postgresql/main/${POSTGRESQL_DRIVER}
      ENV POSTGRESQL_MODULE ${MODULE_PATH}/org/postgresql/main/module.xml
      ENV HSQLDB_FILE      ${MODULE_PATH}/org/hsqldb/main/${HSQLDB_DRIVER}
      ENV HSQLDB_MODULE    ${MODULE_PATH}/org/hsqldb/main/module.xml
      
      # Copy drivers
      ADD ${POSTGRESQL_FILE}  ${JBOSS_HOME}/${POSTGRESQL_FILE}
      ADD ${POSTGRESQL_MODULE} ${JBOSS_HOME}/${POSTGRESQL_MODULE}
      ADD ${HSQLDB_FILE}      ${JBOSS_HOME}/${HSQLDB_FILE}
      ADD ${HSQLDB_MODULE}    ${JBOSS_HOME}/${HSQLDB_MODULE}
      
      # Create admin user
      RUN $JBOSS_HOME/bin/add-user.sh admin 1admin1 --silent
      
      # Create report directory
      RUN mkdir $JBOSS_HOME/standalone/test-reports
      
      # Expose the ports we're interested in
      EXPOSE 8080
      EXPOSE 9990
      
      # Set the default command to run on boot
      # This will boot WildFly in the standalone mode and bind to all interface
      ENTRYPOINT ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "--server-config=config/standalone2.xml"]
      

       

      I start the wildfly docker instance like this:

       

      sudo docker run -d -it --name wildfly-carf10-tests -p 8080:8080 -p 9992:9990 \
          -v /app/mlcarf_arquillian_integration_tests/wildfly-config:/opt/jboss/wildfly/standalone/configuration/config \
          -v /app/mlcarf_arquillian_integration_tests/logs/:/opt/jboss/wildfly/standalone/log/ \
          -v /app/mlcarf_arquillian_integration_tests/test-reports/:/opt/jboss/wildfly/standalone/test-reports/ \
          awberle/wildfly-10-carf:1.1
      

       

      Arquillian.xml is configures like this: (I also tried a fixed IP here)

       

      <?xml version="1.0" encoding="UTF-8"?>
      <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">
      
          <engine>
              <property name="deploymentExportPath">target/deployments</property>
          </engine>
      
          <container qualifier="wildfly-remote" default="true">
              <configuration>
                  <property name="managementAddress">localhost</property>
                  <property name="managementPort">9992</property>
                  <property name="username">admin</property>
                  <property name="password">1admin1</property>
              </configuration>
          </container>
      
      </arquillian>
      

       

      My test is this:

       

      package tdd.br.com.ml.backend.services.log;
      
      import javax.inject.Inject;
      
      import org.jboss.arquillian.container.test.api.Deployment;
      import org.jboss.arquillian.junit.Arquillian;
      import org.jboss.shrinkwrap.api.ShrinkWrap;
      import org.jboss.shrinkwrap.api.asset.EmptyAsset;
      import org.jboss.shrinkwrap.api.spec.WebArchive;
      import org.junit.Assert;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;
      
      import br.com.ml.backend.services.pedido.ItemDTO;
      import br.com.ml.backend.services.pedido.PedidoDTO;
      
      @RunWith(Arquillian.class)
      public class SimpleArquillianTest {
      
          private static final Logger LOG = LoggerFactory.getLogger(SimpleArquillianTest.class);
      
          static final String WEB_CONTEXT = "simple-test";
      
          @Deployment
          public static WebArchive createArchiveAndDeploy() {
      
              WebArchive war = ShrinkWrap.create(WebArchive.class, WEB_CONTEXT + ".war");
              war.addClass(PedidoDTO.class);
              war.addClass(ItemDTO.class);               
              war.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
              war.addAsResource("log4j.xml");
              LOG.debug("Deployable test war: {} ", war.toString(true));
              return war;
          }
      
          @Inject
          PedidoDTO pedidoDTO;
      
          @Test
          public void deveria_injectar_pedido() {
      
              LOG.debug("aqui");
             
              Assert.assertNotNull(pedidoDTO);       
      
          }
      
      }
      

       

      My pom.ml is: (first the parent part, then the dependent module)

       

      <dependencyManagement>
          <dependencies>
              <dependency>
                  <groupId>org.jboss.spec</groupId>
                  <artifactId>jboss-javaee-7.0</artifactId>
                  <version>1.0.0.Final</version>
                  <type>pom</type>
                  <scope>import</scope>
              </dependency>
      
              <dependency>
                  <groupId>org.slf4j</groupId>
                  <artifactId>slf4j-log4j12</artifactId>
                  <version>1.7.18</version>
              </dependency>
      
              <dependency>
                  <groupId>org.apache.logging.log4j</groupId>
                  <artifactId>log4j-core</artifactId>
                  <version>2.5</version>
              </dependency>
      
              <dependency>
                  <groupId>org.jboss.arquillian</groupId>
                  <artifactId>arquillian-bom</artifactId>
                  <version>1.1.11.Final</version>
                  <scope>import</scope>
                  <type>pom</type>
              </dependency>
      
              <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <version>4.12</version>
              </dependency>
      
              <dependency>
                  <groupId>org.wildfly.arquillian</groupId>
                  <artifactId>wildfly-arquillian-container-remote</artifactId>
                  <version>2.0.0.Final</version>
              </dependency>
      
          </dependencies>
      </dependencyManagement>
        
      ...  
        
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>
          <parent>
              <groupId>br.com.ml</groupId>
              <artifactId>carf-parent</artifactId>
              <version>1.0.0-SNAPSHOT</version>
          </parent>
          <artifactId>carf-backend</artifactId>
          <packaging>jar</packaging>
      
      
          <dependencies>
      
              <dependency>
                  <groupId>org.json</groupId>
                  <artifactId>json</artifactId>
                  <version>20160212</version>
              </dependency>
      
              <dependency>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-lang3</artifactId>
                  <version>3.4</version>
              </dependency>
      
      
              <!-- Logging -->
      
              <dependency>
                  <groupId>org.slf4j</groupId>
                  <artifactId>slf4j-log4j12</artifactId>
              </dependency>
      
              <dependency>
                  <groupId>org.apache.logging.log4j</groupId>
                  <artifactId>log4j-core</artifactId>
              </dependency>
      
      
              <!-- JEE -->
              <dependency>
                  <groupId>javax</groupId>
                  <artifactId>javaee-api</artifactId>
                  <version>7.0</version>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Jax-RS -->
      
              <dependency>
                  <groupId>com.fasterxml.jackson.core</groupId>
                  <artifactId>jackson-annotations</artifactId>
                  <version>2.7.3</version>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Hibernate framework -->
      
              <dependency>
                  <groupId>org.hibernate</groupId>
                  <artifactId>hibernate-core</artifactId>
                  <version>${hibernate.version}</version>
                  <scope>provided</scope>
              </dependency>
              <dependency>
                  <groupId>org.hibernate</groupId>
                  <artifactId>hibernate-entitymanager</artifactId>
                  <version>${hibernate.version}</version>
                  <scope>provided</scope>
              </dependency>
              <dependency>
                  <groupId>org.hibernate.javax.persistence</groupId>
                  <artifactId>hibernate-jpa-2.1-api</artifactId>
                  <scope>provided</scope>
              </dependency>
      
      
              <!-- Test -->
      
              <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <scope>test</scope>
              </dependency>
      
              <dependency>
                  <groupId>org.hsqldb</groupId>
                  <artifactId>hsqldb</artifactId>
                  <version>2.3.3</version>
                  <scope>test</scope>
              </dependency>
      
              <dependency>
                  <groupId>com.google.code.gson</groupId>
                  <artifactId>gson</artifactId>
                  <version>2.6.2</version>
                  <scope>test</scope>
              </dependency>
      
              <!-- Arquillian -->
      
              <dependency>
                  <groupId>org.jboss.arquillian.junit</groupId>
                  <artifactId>arquillian-junit-container</artifactId>
                  <scope>test</scope>
              </dependency>
      
              <dependency>
                  <groupId>org.jboss.shrinkwrap.resolver</groupId>
                  <artifactId>shrinkwrap-resolver-depchain</artifactId>
                  <type>pom</type>
                  <scope>test</scope>
              </dependency>
      
              <!-- BDD -->
              <!-- this version comes from the cukespace fork, hosted on my github account -->
              <dependency>
                  <groupId>com.github.cukespace</groupId>
                  <artifactId>cukespace-core</artifactId>
                  <version>1.6.2_1</version>
                  <scope>test</scope>
              </dependency>
      
              <dependency>
                  <groupId>net.masterthought</groupId>
                  <artifactId>cucumber-reporting</artifactId>
                  <version>2.2.0</version>
                  <scope>test</scope>
              </dependency>
      
          </dependencies>
      
          <build>
      
              <testResources>
                  <testResource>
                      <filtering>true</filtering>
                      <directory>${project.basedir}/src/test/resources</directory>
                  </testResource>          
                  <testResource>
                      <filtering>true</filtering>
                      <directory>${project.basedir}/src/test/java</directory>
                  </testResource>
              </testResources>
      
              <plugins>
                  <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>properties-maven-plugin</artifactId>
                      <executions>
                          <execution>
                              <phase>initialize</phase>
                              <goals>
                                  <goal>read-project-properties</goal>
                              </goals>
                              <configuration>
                                  <files>
                                      <file>${project.parent.basedir}/config.properties</file>
                                  </files>
                              </configuration>
                          </execution>
                      </executions>
                  </plugin>
      
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-compiler-plugin</artifactId>
                  </plugin>
      
              </plugins>
          </build>
      
          <profiles>
      
              <profile>
      
                  <id>wildfly-remote</id>
                  <activation>
                      <activeByDefault>true</activeByDefault>
                  </activation>
      
                  <dependencies>
      
                      <!-- Arquillian WildFly Remote Container Adapter -->
      
                      <dependency>
                          <groupId>org.wildfly.arquillian</groupId>
                          <artifactId>wildfly-arquillian-container-remote</artifactId>
                          <scope>test</scope>
                      </dependency>
      
                  </dependencies>
      
                  <build>
                      <plugins>
                          <plugin>
                              <groupId>org.apache.maven.plugins</groupId>
                              <artifactId>maven-surefire-plugin</artifactId>
                              <version>2.19.1</version>
                              <configuration>
                                  <systemPropertyVariables>
                                      <arquillian.launch>wildfly-remote</arquillian.launch>
                                  </systemPropertyVariables>
                              </configuration>
                          </plugin>
                      </plugins>
                  </build>
              </profile>
          </profiles>
      
      </project>
      </profile>
      

       

       

      Any help would be very appreciated!