Remote Arquillian Test on Wildfly 10 fail when container running on a remote machine
axelberle Jul 20, 2016 10:54 AMI just tested a simple example setup of how to run a remote test on Wildfly 10. I posted an issue here: Remote Wildfly 10 Test fail when running on a remote machine · Issue #1 · MatousJobanek/examples · GitHub
Could anybody share a working wildfly 10 or 9 setup, that permit the remote execution of arquillian tests? This seems to be a little bit difficult, and I cannot figure out if it is an Arquillian issue or a Wildfly issue.
Anyhow this is what happens:
- This is the test project: examples/wildfly-arquillian/wildfly-arquillian-remote-example at master · MatousJobanek/examples · GitHub
- I added the following arquillian.xml, configuring the access to the remote machine on IP 192.168.0.91
<?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"> <container qualifier="wildfly-remote" default="true"> <configuration> <property name="managementAddress">192.168.0.91</property> <property name="managementPort">9990</property> <property name="username">admin</property> <property name="password">1admin1</property> </configuration> </container> </arquillian>
- The wildfly 10 has the following standalone.xml config:
...
<interfaces> <interface name="management"> <any-address/> </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>
- The machine running the test via maven has the following output:
... Caused by: java.lang.IllegalStateException: Error launching request at http://127.0.0.1:8080/test/ArquillianServletRunner?outputMode=serializedObject&className=org.jboss.arquillian.wildfly.remote.example.EmptyDeploymentTest&methodName=emptyInContainerTest. No result returned at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.executeWithRetry(ServletMethodExecutor.java:139) at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:99) ... 82 more
- The remote machine running wildfly 10 shows the following output (it seems arquillian connects to the wildlfy container and succeeds in depoying the test, but I think it does not get executed (no System.out.println showing) .
... 13:56:06,990 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0012: Started server default-server. 13:56:07,139 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0018: Host default-host starting 13:56:07,242 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0006: Undertow HTTP listener default listening on 0.0.0.0:8080 13:56:07,522 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) WFLYJCA0001: Bound data source [java:jboss/jdbc/carf_test_integration] 13:56:08,071 INFO [org.jboss.ws.common.management] (MSC service thread 1-2) JBWS022052: Starting JBossWS 5.1.3.Final (Apache CXF 3.1.4) 13:56:08,196 INFO [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-2) ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final 13:56:08,279 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-2) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/jboss/wildfly/standalone/deployments 13:56:08,619 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management 13:56:08,625 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://0.0.0.0:9990 13:56:08,625 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 5321ms - Started 267 of 553 services (371 services are lazy, passive or on-demand) 13:56:34,212 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001: Content added at location /opt/jboss/wildfly/standalone/data/content/78/693a4aa9b50b6207e99f3fc84f0077b3be50be/content 13:56:34,245 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "test.war" (runtime-name: "test.war") 13:56:35,002 WARN [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0013: Deployment deployment "test.war" contains CDI annotations but no bean archive was not found. (No beans.xml nor class with bean defining annotations) 13:56:35,362 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 63) WFLYUT0021: Registered web context: /test 13:56:35,472 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0010: Deployed "test.war" (runtime-name : "test.war") 13:56:37,015 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 63) WFLYUT0022: Unregistered web context: /test 13:56:37,070 INFO [org.hibernate.validator.internal.util.Version] (MSC service thread 1-2) HV000001: Hibernate Validator 5.2.3.Final 13:56:37,178 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment test.war (runtime-name: test.war) in 169ms 13:56:37,244 INFO [org.jboss.as.repository] (management-handler-thread - 2) WFLYDR0002: Content removed from location /opt/jboss/wildfly/standalone/data/content/78/693a4aa9b50b6207e99f3fc84f0077b3be50be/content 13:56:37,245 INFO [org.jboss.as.server] (management-handler-thread - 2) WFLYSRV0009: Undeployed "test.war" (runtime-name: "test.war")
6. The test being run:
package org.jboss.arquillian.wildfly.remote.example; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Test; import org.junit.runner.RunWith; /** * @author <a href="mailto:mjobanek@redhat.com">Matous Jobanek</a> */ @RunWith(Arquillian.class) public class EmptyDeploymentTest { @Deployment public static Archive deploy(){ return ShrinkWrap.create(WebArchive.class, "test.war"); } @Test public void emptyInContainerTest(){ System.out.println("========================================="); System.out.println("This test should run inside the container"); System.out.println("========================================="); } }
7. The pom.xml is:
<?xml version="1.0" encoding="UTF-8"?> <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> <groupId>org.jboss.arquillian</groupId> <artifactId>wildfly-arquillian-remote-example</artifactId> <version>1.0-SNAPSHOT</version> <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>1.1.11.Final</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> </dependency> <dependency> <groupId>org.wildfly.arquillian</groupId> <artifactId>wildfly-arquillian-container-remote</artifactId> <version>2.0.0.Final</version> </dependency> </dependencies> </project>
Could someone post a sample wildfly standalone.xml setup showing how to do it?
Thanks,
Axel