Skip to content

Instantly share code, notes, and snippets.

@albihasani94
Last active July 1, 2018 21:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save albihasani94/1c0e9cfdf546d4698fd54f017650e762 to your computer and use it in GitHub Desktop.
Save albihasani94/1c0e9cfdf546d4698fd54f017650e762 to your computer and use it in GitHub Desktop.
Thorntail 2.0 with Arquillian 1.3.0.Final
package org.wildfly.swarm.jaxrs.rest;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
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.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.wildfly.swarm.Swarm;
import org.wildfly.swarm.arquillian.CreateSwarm;
import org.wildfly.swarm.jaxrs.JAXRSArchive;
@RunWith(Arquillian.class)
public class ApplicationTest {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationTest.class);
private static final String CREATE_DEPLOYMENT = "=====Create deployment=====";
private static final String RETURN_DEPLOYMENT_ARCHIVE = "=====Return deployment archive: {}=====";
private static final String CREATE_SWARM = "=====Create swarm=====";
@Deployment(name = "arquillian_test_single_deployment")
public static Archive createDeployment() {
LOGGER.info(CREATE_DEPLOYMENT);
JAXRSArchive deployment = ShrinkWrap.create(JAXRSArchive.class);
deployment.addClass(HelloWorldEndpoint.class);
deployment.addClass(JAXRSConfiguration.class);
LOGGER.info(RETURN_DEPLOYMENT_ARCHIVE, deployment.getName());
return deployment;
}
@CreateSwarm
public static Swarm newContainer() throws Exception {
LOGGER.info(CREATE_SWARM);
return new Swarm();
}
@Test
public void doNothing() {
}
@Test
public void testMyService() {
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/hello");
Invocation.Builder invocationBuilder = target.request(MediaType.TEXT_PLAIN_TYPE);
Response response = invocationBuilder.get();
Assert.assertEquals(200, response.getStatus());
}
}
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wf-swarm-examples</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>jaxrs</artifactId>
<name>Thorntail JAXRS with Arquillian</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<version.io.thorntail>2.0.0.Final</version.io.thorntail>
<version.jboss.arquillian>1.3.0.Final</version.jboss.arquillian>
<version.org.slf4j>1.7.25</version.org.slf4j>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>bom-all</artifactId>
<version>${version.io.thorntail}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>${version.jboss.arquillian}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>jaxrs-example</finalName>
<plugins>
<plugin>
<groupId>io.thorntail</groupId>
<artifactId>thorntail-maven-plugin</artifactId>
<version>${version.io.thorntail}</version>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>arquillian</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.org.slf4j}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
@albihasani94
Copy link
Author

thorntail.2.0.arquillian.1.3.0.log

[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building Thorntail JAXRS with Arquillian 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jaxrs ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ jaxrs ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to /home/albihasani94/Desktop/wildfly-swarm-jaxrs/jaxrs/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ jaxrs ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/albihasani94/Desktop/wildfly-swarm-jaxrs/jaxrs/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.5.1:testCompile (default-testCompile) @ jaxrs ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/albihasani94/Desktop/wildfly-swarm-jaxrs/jaxrs/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ jaxrs ---
[INFO] Surefire report directory: /home/albihasani94/Desktop/wildfly-swarm-jaxrs/jaxrs/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.wildlfy.swarm.jaxrs.rest.ApplicationTest
[main] INFO org.wildlfy.swarm.jaxrs.rest.ApplicationTest - =====Create deployment=====
[main] INFO org.wildlfy.swarm.jaxrs.rest.ApplicationTest - =====Return deployment archive: 5ddcb622-7a86-43be-8f85-e51113f914a2.war=====
[main] INFO org.wildlfy.swarm.jaxrs.rest.ApplicationTest - =====Create deployment=====
[main] INFO org.wildlfy.swarm.jaxrs.rest.ApplicationTest - =====Return deployment archive: f79eac78-478b-436a-a045-d109421de651.war=====
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.442 sec <<< FAILURE! - in org.wildlfy.swarm.jaxrs.rest.ApplicationTest
org.wildlfy.swarm.jaxrs.rest.ApplicationTest  Time elapsed: 0.441 sec  <<< ERROR!
java.lang.IllegalArgumentException: Can not add multiple org.jboss.shrinkwrap.api.Archive deployments with the same name: arquillian_test_single_deployment
	at org.jboss.arquillian.container.spi.client.deployment.DeploymentScenario.validateNotSameNameAndTypeOfDeployment(DeploymentScenario.java:290)
	at org.jboss.arquillian.container.spi.client.deployment.DeploymentScenario.addDeployment(DeploymentScenario.java:41)
	at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:82)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:62)
	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:83)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:89)
	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:163)
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:350)
	at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54)
	at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:177)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:115)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)


Results :

Tests in error: 
  ApplicationTest.org.wildlfy.swarm.jaxrs.rest.ApplicationTest » IllegalArgument

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.163 s
[INFO] Finished at: 2018-07-01T17:06:03+02:00
[INFO] Final Memory: 37M/344M
[INFO] ------------------------------------------------------------------------

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment