VOOZH about

URL: https://www.javacodegeeks.com/2014/11/arquillian-tests-on-a-wildfly-instance-hosted-on-openshift.html

⇱ Arquillian tests on a WildFly instance hosted on OpenShift


Tech Tip #54 explained how to enable Arquillian for an existing Java EE project. In that tip, the tests were run against a locally installed WildFly server. Would the same adapter work if this WildFly instance was running on OpenShift ? No!

Because the security constraints and requirement of a PaaS, as opposed to a xlocalhost, are different. Lets take a look at what’s required to run our tests in javaee7-simple-sample against a WildFly instance hosted on OpenShift.

Lets get started!
 
 

  1. As explained in Tech Tip #52, create a WildFly application on OpenShift as shown:
    workspaces> rhc app-create mywildfly jboss-wildfly-8
    Application Options
    -------------------
    Domain: milestogo
    Cartridges: jboss-wildfly-8
    Gear Size: default
    Scaling: no
    
    Creating application 'mywildfly' ... Artifacts deployed: ./ROOT.war
    done
    
     WildFly 8 administrator added. Please make note of these credentials:
    
     Username: adminMYtMTDb
     Password: tq1K-QYLFgBD
     
     run 'rhc port-forward mywildfly' to access the web admin area on port 9990.
    
    Waiting for your DNS name to be available ... done
    
    Cloning into 'mywildfly'...
    Warning: Permanently added the RSA host key for IP address '54.163.64.193' to the list of known hosts.
    
    Your application 'mywildfly' is now available.
    
     URL: http://mywildfly-milestogo.rhcloud.com/
     SSH to: 54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com
     Git remote: ssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/
     Cloned to: /Users/arungupta/workspaces/mywildfly
    
    Run 'rhc show-app mywildfly' for more details about your app.

    Note down the ssh user name from the log. This is the part before @ in the value corresponding to SSH to.

  2. Until FORGEPLUGINS-177 is resolved, we need to manually add maven profile and provide container configuration information in “arquillian.xml”. Add the following <profile> to “pom.xml”:
    <profile>
     <id>arquillian-wildfly-openshift</id>
     <build>
     <plugins>
     <plugin>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>2.14.1</version>
     <configuration>
     <systemPropertyVariables>
     <arquillian.launch>arquillian-wildfly-openshift</arquillian.launch>
     </systemPropertyVariables>
     </configuration>
     </plugin>
     </plugins>
     </build>
     <dependencies>
     <dependency>
     <groupId>org.jboss.arquillian.container</groupId>
     <artifactId>arquillian-openshift</artifactId>
     <version>1.0.0.Final-SNAPSHOT</version>
     <scope>test</scope>
     </dependency>
     </dependencies>
    </profile>

    This is using arquillian-openshift container and referring to arquillian-wildfly-openshift configuration that will be matched with the appropriate container in “arquillian.xml”. So this is how the updated “arquillian.xml” look:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <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="arquillian-wildfly-remote"/>
     <container qualifier="arquillian-wildfly-openshift">
     <configuration>
     <property name="namespace">milestogo</property>
     <property name="application">mywildfly</property>
     <property name="libraDomain">rhcloud.com</property>
     <property name="sshUserName">54699516ecb8d41cb8000016</property>
     <property name="login">arungupta@redhat.com</property>
     <property name="deploymentTimeoutInSeconds">300</property>
     <property name="disableStrictHostChecking">true</property> 
     </configuration>
     </container>
    </arquillian>

    Note the new <container> with the qualifier arquillian-wildfly-openshift. It provides information about where the server is located and some other configuration properties. The sshUserName property value should be the same from the WildFly instance created earlier.

  3. That’s it, now you can run the test against the WildFly instance on OpenShift:
    javaee7-simple-sample> mvn test -Parquillian-wildfly-openshift
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] ------------------------------------------------------------------------
    [INFO] Building helloworld 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ helloworld ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 1 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ helloworld ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.14.1:test (default-test) @ helloworld ---
    [INFO] Surefire report directory: /Users/arungupta/workspaces/javaee7-simple-sample/target/surefire-reports
    
    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running org.javaee7.sample.PersonTest
    Nov 17, 2014 11:18:24 AM org.jboss.arquillian.container.openshift.OpenShiftContainer start
    INFO: Preparing Arquillian OpenShift container at http://mywildfly-milestogo.rhcloud.com
    Nov 17, 2014 11:19:19 AM org.jboss.arquillian.container.openshift.OpenShiftRepository push
    INFO: Pushed to the remote repository ssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/
    Nov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftRepository push
    INFO: Pushed to the remote repository ssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/
    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 152.653 sec
    Nov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftContainer stop
    INFO: Shutting down Arquillian OpenShift container at http://mywildfly-milestogo.rhcloud.com
    
    Results :
    
    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
    
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 05:46 min
    [INFO] Finished at: 2014-11-17T11:24:09+02:00
    [INFO] Final Memory: 12M/309M
    [INFO] ------------------------------------------------------------------------

Enjoy!

Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Thank you!

We will contact you soon.

👁 Photo of Arun Gupta
Arun Gupta
November 19th, 2014Last Updated: November 19th, 2014
0 109 3 minutes read

Arun Gupta

Arun is a technology enthusiast, avid runner, author of a best-selling book, globe trotter, a community guy, Java Champion, JavaOne Rockstar, JUG Leader, Minecraft Modder, Devoxx4Kids-er, and a Red Hatter.
Subscribe

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Back to top button
Close
wpDiscuz