diff --git a/solution/movieplex7-1.0-SNAPSHOT.war b/solution/movieplex7-1.0-SNAPSHOT.war index 6ca561e..3c33840 100644 Binary files a/solution/movieplex7-1.0-SNAPSHOT.war and b/solution/movieplex7-1.0-SNAPSHOT.war differ diff --git a/solution/movieplex7/pom.xml b/solution/movieplex7/pom.xml index ba0863e..a081f5f 100644 --- a/solution/movieplex7/pom.xml +++ b/solution/movieplex7/pom.xml @@ -8,7 +8,24 @@ war Java EE 7 Hands-on Lab Solution + + + 1.1.1.Final + 8.2.0.Final + + + + + org.jboss.arquillian + arquillian-bom + ${org.jboss.arquillian.version} + import + pom + + + + javax @@ -16,6 +33,20 @@ 7.0 provided + + + junit + junit + 4.10 + test + + + + org.jboss.arquillian.junit + arquillian-junit-container + test + 1.1.5.Final + @@ -44,6 +75,56 @@ + + + + wildfly-remote-arquillian + + + io.undertow + undertow-websockets-jsr + 1.0.0.Beta33 + test + + + org.jboss.resteasy + resteasy-client + 3.0.10.Final + test + + + org.jboss.resteasy + resteasy-jaxb-provider + 3.0.10.Final + test + + + org.jboss.resteasy + resteasy-json-p-provider + 3.0.10.Final + test + + + org.wildfly + wildfly-arquillian-container-remote + ${org.wildfly} + test + + + + + + src/test/resources + true + + + src/test/resources-wildfly-remote + true + + + + + diff --git a/solution/movieplex7/src/main/resources/rebel-remote.xml b/solution/movieplex7/src/main/resources/rebel-remote.xml new file mode 100644 index 0000000..5766e43 --- /dev/null +++ b/solution/movieplex7/src/main/resources/rebel-remote.xml @@ -0,0 +1,5 @@ + + + movieplex7 + 308189028181009897fe78d8106d460e74321158c2b74f8c93b366c5578b1aa956a133e92e25ae84ae89354a7b11e00d260dd7fa47a184770fb043f69bc522334530261bb5fa60aadf072a7a6f3869c3c8c55185f3f16c70126ef8a01f6220513f66aa91f90f8387035ffa58cfe8d1362bbad60390b4f18ab333c8818ba89a5dca7c1baf2c062b0203010001 + diff --git a/solution/movieplex7/src/main/resources/rebel.xml b/solution/movieplex7/src/main/resources/rebel.xml new file mode 100644 index 0000000..9f64ad8 --- /dev/null +++ b/solution/movieplex7/src/main/resources/rebel.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/solution/movieplex7/src/test/java/org/javaee7/movieplex7/rest/MovieFacadeRESTTest.java b/solution/movieplex7/src/test/java/org/javaee7/movieplex7/rest/MovieFacadeRESTTest.java new file mode 100644 index 0000000..a0898f4 --- /dev/null +++ b/solution/movieplex7/src/test/java/org/javaee7/movieplex7/rest/MovieFacadeRESTTest.java @@ -0,0 +1,64 @@ +package org.javaee7.movieplex7.rest; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.WebTarget; +import org.javaee7.movieplex7.entities.Movie; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.*; +import org.junit.runner.RunWith; + +/** + * @author arungupta + */ +@RunWith(Arquillian.class) +public class MovieFacadeRESTTest { + + private WebTarget target; + private static final String WEBAPP_SRC = "src/main/webapp"; + private static final String RESOURCE_SRC = "src/main/resources"; + + @Deployment(testable = false) + public static WebArchive createDeployment() { + WebArchive war = ShrinkWrap.create(WebArchive.class) + .addPackages(true, "org.javaee7.movieplex7"); + + for (File file : new File(WEBAPP_SRC + "/WEB-INF").listFiles()) { + war.addAsWebInfResource(file); + } + + for (File file : new File(RESOURCE_SRC).listFiles()) { + war.addAsResource(file); + } + + System.out.println(war.toString(true)); + return war; + } + + @ArquillianResource + private URL base; + + @Before + public void setUp() throws MalformedURLException { + Client client = ClientBuilder.newClient(); + target = client.target(URI.create(new URL(base, "webresources/movie").toExternalForm())); + target.register(Movie.class); + } + + @Test + public void testGetAll() throws Exception { + Movie[] list = target.request().get(Movie[].class); + assertEquals(20, list.length); + } + +}