You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2011/10/27 22:16:24 UTC
svn commit: r1189987 - in
/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example: ./
src/test/java/org/superbiz/moviefun/ src/test/resources/
Author: jgallimore
Date: Thu Oct 27 20:16:24 2011
New Revision: 1189987
URL: http://svn.apache.org/viewvc?rev=1189987&view=rev
Log:
A couple of other testing techniques for comparison :)
Added:
openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesEJBIT.java
openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesHtmlUnitTest.java
openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesTest.java
Modified:
openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml
openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml
Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml?rev=1189987&r1=1189986&r2=1189987&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml Thu Oct 27 20:16:24 2011
@@ -155,7 +155,7 @@
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-selenium</artifactId>
- <version>${version.arquillian}</version>
+ <version>1.0.0.CR2</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -180,16 +180,30 @@
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-impl</artifactId>
- <version>${version.arquillian}</version>
+ <version>1.0.0.CR2</version>
<type>jar</type>
- <scope>compile</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-selenium-server</artifactId>
- <version>${version.arquillian}</version>
+ <version>1.0.0.CR2</version>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>tomee-embedded</artifactId>
+ <version>1.0.0-beta-2-SNAPSHOT</version>
<type>jar</type>
- <scope>compile</scope>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.htmlunit</groupId>
+ <artifactId>htmlunit</artifactId>
+ <version>2.9</version>
+ <type>jar</type>
+ <scope>test</scope>
</dependency>
</dependencies>
<!-- This section allows you to configure where to publish libraries for
Added: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesEJBIT.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesEJBIT.java?rev=1189987&view=auto
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesEJBIT.java (added)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesEJBIT.java Thu Oct 27 20:16:24 2011
@@ -0,0 +1,55 @@
+package org.superbiz.moviefun;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
+
+import javax.ejb.EJB;
+
+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.spec.JavaArchive;
+import org.jboss.shrinkwrap.impl.base.asset.ClassLoaderAsset;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+
+@RunWith(Arquillian.class)
+public class MoviesEJBIT {
+
+ @Deployment
+ public static JavaArchive createDeployment() {
+ // explicit archive name required until ARQ-77 is resolved
+ return ShrinkWrap.create(JavaArchive.class, "test.jar").addClasses(Movie.class, MoviesImpl.class, Movies.class, MoviesRemote.class, MoviesEJBIT.class)
+ .addAsResource(new ClassLoaderAsset("META-INF/ejb-jar.xml") , "META-INF/ejb-jar.xml")
+ .addAsResource(new ClassLoaderAsset("META-INF/persistence.xml") , "META-INF/persistence.xml");
+ }
+
+ @EJB
+ Movies movies;
+
+ @Test
+ public void shouldBeAbleToAddAMovie() throws Exception {
+ assertNotNull("Verify that the ejb was injected", movies);
+ Movie movie = new Movie();
+ movie.setDirector("Michael Bay");
+ movie.setGenre("Action");
+ movie.setRating(9);
+ movie.setTitle("Bad Boys");
+ movie.setYear(1995);
+ movies.addMovie(movie);
+
+ assertEquals(1, movies.count());
+ List<Movie> moviesFound = movies.findByTitle("Bad Boys");
+
+ assertEquals(1, moviesFound.size());
+ assertEquals("Michael Bay", moviesFound.get(0).getDirector());
+ assertEquals("Action", moviesFound.get(0).getGenre());
+ assertEquals(9, moviesFound.get(0).getRating());
+ assertEquals("Bad Boys", moviesFound.get(0).getTitle());
+ assertEquals(1995, moviesFound.get(0).getYear());
+ }
+
+}
Added: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesHtmlUnitTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesHtmlUnitTest.java?rev=1189987&view=auto
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesHtmlUnitTest.java (added)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesHtmlUnitTest.java Thu Oct 27 20:16:24 2011
@@ -0,0 +1,83 @@
+package org.superbiz.moviefun;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
+import javax.ejb.embeddable.EJBContainer;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.tomee.embedded.EmbeddedTomEEContainer;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.gargoylesoftware.htmlunit.WebClient;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+public class MoviesHtmlUnitTest {
+
+ private static EJBContainer container;
+ private static File webApp;
+
+ @BeforeClass public static void start() throws IOException {
+ webApp = createWebApp();
+ Properties p = new Properties();
+ p.setProperty(EJBContainer.APP_NAME, "moviefun");
+ p.setProperty(EJBContainer.PROVIDER, "tomee-embedded"); // need web feature
+ p.setProperty(EJBContainer.MODULES, webApp.getAbsolutePath());
+ p.setProperty(EmbeddedTomEEContainer.TOMEE_EJBCONTAINER_HTTP_PORT, "9999");
+ container = EJBContainer.createEJBContainer(p);
+ }
+
+ @AfterClass public static void stop() {
+ if (container != null) {
+ container.close();
+ }
+ if (webApp != null) {
+ try {
+ FileUtils.forceDelete(webApp);
+ } catch (IOException e) {
+ FileUtils.deleteQuietly(webApp);
+ }
+ }
+ }
+
+ private static File createWebApp() throws IOException {
+ File file = new File(System.getProperty("java.io.tmpdir") + "/tomee-" + Math.random());
+ if (!file.mkdirs() && !file.exists()) {
+ throw new RuntimeException("can't create " + file.getAbsolutePath());
+ }
+
+ FileUtils.copyDirectory(new File("target/classes"), new File(file, "WEB-INF/classes"));
+ FileUtils.copyDirectory(new File("src/main/webapp"), file);
+
+ return file;
+ }
+
+ @Test
+ public void testShouldMakeSureWebappIsWorking() throws Exception {
+ WebClient webClient = new WebClient();
+ HtmlPage page = webClient.getPage("http://localhost:9999/moviefun/setup.jsp");
+
+ assertMoviesPresent(page);
+
+ page = webClient.getPage("http://localhost:9999/moviefun/faces/movie/List.xhtml");
+
+ assertMoviesPresent(page);
+ webClient.closeAllWindows();
+ }
+
+ private void assertMoviesPresent(HtmlPage page) {
+ String pageAsText = page.asText();
+ assertTrue(pageAsText.contains("Wedding Crashers"));
+ assertTrue(pageAsText.contains("Starsky & Hutch"));
+ assertTrue(pageAsText.contains("Shanghai Knights"));
+ assertTrue(pageAsText.contains("I-Spy"));
+ assertTrue(pageAsText.contains("The Royal Tenenbaums"));
+ assertTrue(pageAsText.contains("Zoolander"));
+ assertTrue(pageAsText.contains("Shanghai Noon"));
+ }
+}
Added: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesTest.java?rev=1189987&view=auto
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesTest.java (added)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesTest.java Thu Oct 27 20:16:24 2011
@@ -0,0 +1,45 @@
+package org.superbiz.moviefun;
+
+import java.util.List;
+
+import javax.ejb.embeddable.EJBContainer;
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class MoviesTest {
+
+ private MoviesRemote movies;
+
+ @Before
+ public void setUp() throws Exception {
+ EJBContainer ejbContainer = EJBContainer.createEJBContainer();
+ Object object = ejbContainer.getContext().lookup("java:global/arquillian-tomee-moviefun-example/Movies!org.superbiz.moviefun.MoviesRemote");
+
+ assertTrue(object instanceof MoviesRemote);
+ movies = (MoviesRemote) object;
+ }
+
+ @Test
+ public void testShouldAddAMovie() throws Exception {
+ Movie movie = new Movie();
+ movie.setDirector("Michael Bay");
+ movie.setGenre("Action");
+ movie.setRating(9);
+ movie.setTitle("Bad Boys");
+ movie.setYear(1995);
+ movies.addMovie(movie);
+
+ assertEquals(1, movies.count());
+ List<Movie> moviesFound = movies.findByTitle("Bad Boys");
+
+ assertEquals(1, moviesFound.size());
+ assertEquals("Michael Bay", moviesFound.get(0).getDirector());
+ assertEquals("Action", moviesFound.get(0).getGenre());
+ assertEquals(9, moviesFound.get(0).getRating());
+ assertEquals("Bad Boys", moviesFound.get(0).getTitle());
+ assertEquals(1995, moviesFound.get(0).getYear());
+ }
+
+}
Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml?rev=1189987&r1=1189986&r2=1189987&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml Thu Oct 27 20:16:24 2011
@@ -23,7 +23,7 @@
<container qualifier="tomee" default="true">
<configuration>
<property name="dir">/tmp/arquillian-apache-tomee</property>
- <property name="httpPort">9080</property>
+ <property name="httpPort">8080</property>
<property name="stopPort">9005</property>
</configuration>
</container>