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/09 23:18:38 UTC

svn commit: r1180717 - in /openejb/trunk/arquillian-tomee: arquillian-tomee-moviefun-example/ arquillian-tomee-moviefun-example/src/main/resources/META-INF/ arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/ arquillian-tomee-moviefu...

Author: jgallimore
Date: Sun Oct  9 21:18:38 2011
New Revision: 1180717

URL: http://svn.apache.org/viewvc?rev=1180717&view=rev
Log:
TOMEE-4 added Selenium test to Moviefun example

Added:
    openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesSeleniumTest.java
      - copied, changed from r1180464, openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesIT.java
Removed:
    openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesIT.java
Modified:
    openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml
    openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/main/resources/META-INF/persistence.xml
    openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/resources/arquillian.xml
    openejb/trunk/arquillian-tomee/arquillian-tomee-remote/src/main/java/org/apache/openejb/arquillian/remote/RemoteTomEEContainer.java

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=1180717&r1=1180716&r2=1180717&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/pom.xml Sun Oct  9 21:18:38 2011
@@ -27,7 +27,8 @@
   <name>TomEE Arquillian Adaptor :: Sample :: Moviefun</name>
 
   <properties>
-    <version.selenium>2.0b2</version.selenium>
+    <version.selenium>2.7.0</version.selenium>
+    <version.selenium.rc>2.0rc2</version.selenium.rc>
   </properties>
 
   <build>
@@ -42,6 +43,78 @@
           <wtpversion>2.0</wtpversion>
         </configuration>
       </plugin>
+      <plugin>
+	   <groupId>org.apache.maven.plugins</groupId>
+	   <artifactId>maven-dependency-plugin</artifactId>
+	   <version>2.1</version>
+	   <executions>
+	      <execution>
+	         <id>copy-test-libs</id>
+	         <phase>process-test-resources</phase>
+	         <configuration>
+	            <artifactItems>
+	               <artifactItem>
+	                  <groupId>commons-beanutils</groupId>
+	                  <artifactId>commons-beanutils</artifactId>
+	                  <version>1.8.3</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>commons-codec</groupId>
+	                  <artifactId>commons-codec</artifactId>
+	                  <version>1.3</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>commons-collections</groupId>
+	                  <artifactId>commons-collections</artifactId>
+	                  <version>3.2</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>commons-digester</groupId>
+	                  <artifactId>commons-digester</artifactId>
+	                  <version>1.8</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>commons-logging</groupId>
+	                  <artifactId>commons-logging</artifactId>
+	                  <version>1.1.1</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>javax.servlet</groupId>
+	                  <artifactId>jstl</artifactId>
+	                  <version>1.1.2</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>log4j</groupId>
+	                  <artifactId>log4j</artifactId>
+	                  <version>1.2.16</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>org.apache.myfaces.core</groupId>
+	                  <artifactId>myfaces-api</artifactId>
+	                  <version>2.0.3</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>org.apache.myfaces.core</groupId>
+	                  <artifactId>myfaces-impl</artifactId>
+	                  <version>2.0.3</version>
+	               </artifactItem>
+	               <artifactItem>
+	                  <groupId>taglibs</groupId>
+	                  <artifactId>standard</artifactId>
+	                  <version>1.1.2</version>
+	               </artifactItem>
+	            </artifactItems>
+	            <outputDirectory>
+	               ${project.build.directory}/test-libs
+	            </outputDirectory>
+	            <stripVersion>true</stripVersion>
+	         </configuration>
+	         <goals>
+	            <goal>copy</goal>
+	         </goals>
+	      </execution>
+	   </executions>
+	</plugin>
     </plugins>
   </build>
   <dependencies>
@@ -98,7 +171,7 @@
     <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-remote-control</artifactId>
-      <version>${version.selenium}</version>
+      <version>${version.selenium.rc}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -107,6 +180,13 @@
       <version>${version.selenium}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+    	<groupId>org.seleniumhq.selenium</groupId>
+    	<artifactId>selenium-api</artifactId>
+    	<version>${version.selenium}</version>
+    	<type>jar</type>
+    	<scope>test</scope>
+    </dependency>
   </dependencies>
   <!-- This section allows you to configure where to publish libraries for 
     sharing. It is not required and may be deleted. For more information see: 
@@ -132,6 +212,7 @@
           <groupId>org.apache.openejb</groupId>
           <artifactId>arquillian-tomee-embedded</artifactId>
           <version>1.0-SNAPSHOT</version>
+          <scope>test</scope>
         </dependency>
       </dependencies>
     </profile>
@@ -142,6 +223,7 @@
           <groupId>org.apache.openejb</groupId>
           <artifactId>arquillian-tomee-remote</artifactId>
           <version>1.0-SNAPSHOT</version>
+          <scope>test</scope>
         </dependency>
       </dependencies>
     </profile>

Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/main/resources/META-INF/persistence.xml?rev=1180717&r1=1180716&r2=1180717&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/main/resources/META-INF/persistence.xml (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/main/resources/META-INF/persistence.xml Sun Oct  9 21:18:38 2011
@@ -18,7 +18,7 @@
 -->
 <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://www.jrg.me.uk/persistence_2_0.xsd">
   <persistence-unit name="movie-unit">
     <jta-data-source>movieDatabase</jta-data-source>
     <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>

Copied: openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesSeleniumTest.java (from r1180464, openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesIT.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesSeleniumTest.java?p2=openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesSeleniumTest.java&p1=openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesIT.java&r1=1180464&r2=1180717&rev=1180717&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesIT.java (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-moviefun-example/src/test/java/org/superbiz/moviefun/MoviesSeleniumTest.java Sun Oct  9 21:18:38 2011
@@ -19,8 +19,11 @@ package org.superbiz.moviefun;
 import java.io.File;
 import java.net.URL;
 
+import junit.framework.Assert;
+
 import org.jboss.arquillian.api.ArquillianResource;
 import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.drone.annotation.Drone;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.FileAsset;
@@ -29,23 +32,35 @@ import org.jboss.shrinkwrap.impl.base.as
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import com.thoughtworks.selenium.DefaultSelenium;
+
 @RunWith(Arquillian.class)
-public class MoviesIT {
+public class MoviesSeleniumTest {
 	
 	@ArquillianResource
 	private URL deploymentUrl;
 	
-	//@Drone
-	//private DefaultSelenium driver;
+	@Drone
+	private DefaultSelenium driver;
 
 	@Deployment(testable = false)
     public static WebArchive createDeployment() {
-        WebArchive archive = ShrinkWrap.create(WebArchive.class, "test.war")
+        WebArchive archive = ShrinkWrap.create(WebArchive.class, "moviefun.war")
         		.addPackage("org.superbiz.moviefun")
         		.addPackage("org.superbiz.moviefun.util")
         		.addAsResource(new ClassLoaderAsset("META-INF/ejb-jar.xml") , "META-INF/ejb-jar.xml")
-        		.addAsResource(new ClassLoaderAsset("META-INF/persistence.xml") , "META-INF/persistence.xml");
-        		
+        		.addAsResource(new ClassLoaderAsset("META-INF/persistence.xml") , "META-INF/persistence.xml")
+        		.addAsLibraries(new File("target/test-libs/commons-beanutils.jar"),
+        				new File("target/test-libs/commons-codec.jar"),
+        				new File("target/test-libs/commons-collections.jar"),
+        				new File("target/test-libs/commons-digester.jar"),
+        				new File("target/test-libs/commons-logging.jar"),
+        				new File("target/test-libs/jstl.jar"),
+        				new File("target/test-libs/log4j.jar"),
+        				new File("target/test-libs/myfaces-api.jar"),
+        				new File("target/test-libs/myfaces-impl.jar"),
+        				new File("target/test-libs/standard.jar"));
+        
         addResources("src/main/webapp", "", archive);
         System.out.println(archive.toString(true));
 		return archive;
@@ -68,7 +83,40 @@ public class MoviesIT {
 
 	@Test
     public void testShouldMakeSureWebappIsWorking() throws Exception {
-    	System.out.println("Hello");
+		driver.open(deploymentUrl + "/moviefun/");
+		driver.click("link=Setup");
+		driver.waitForPageToLoad("30000");
+		Assert.assertTrue(driver.isTextPresent("Seeded Database with the Following movies"));
+		Assert.assertTrue(driver.isTextPresent("Wedding Crashers"));
+		Assert.assertTrue(driver.isTextPresent("David Dobkin"));
+		Assert.assertTrue(driver.isTextPresent("Comedy"));
+		Assert.assertTrue(driver.isTextPresent("Starsky & Hutch"));
+		Assert.assertTrue(driver.isTextPresent("Shanghai Knights"));
+		Assert.assertTrue(driver.isTextPresent("I-Spy"));
+		Assert.assertTrue(driver.isTextPresent("The Royal Tenenbaums"));
+		Assert.assertTrue(driver.isTextPresent("Zoolander"));
+		Assert.assertTrue(driver.isTextPresent("Shanghai Noon"));
+		driver.click("link=Go to main app");
+		driver.waitForPageToLoad("30000");
+		driver.type("name=title", "Bad Boys");
+		driver.type("name=director", "Michael Bay");
+		driver.type("name=genre", "Action");
+		driver.type("name=rating", "9");
+		driver.type("name=year", "1995");
+		driver.click("//input[@name='action' and @value='Add']");
+		driver.waitForPageToLoad("30000");
+		driver.click("css=input[name=\"action\"]");
+		driver.waitForPageToLoad("30000");
+		Assert.assertTrue(driver.isTextPresent("Bad Boys"));
+		driver.select("name=action", "label=Genre");
+		driver.type("name=key", "Comedy");
+		driver.click("css=input[type=\"submit\"]");
+		driver.waitForPageToLoad("30000");
+		Assert.assertTrue(driver.isTextPresent("Wedding Crashers"));
+		Assert.assertTrue(driver.isTextPresent("The Royal Tenenbaums"));
+		Assert.assertTrue(driver.isTextPresent("Zoolander"));
+		Assert.assertTrue(driver.isTextPresent("Shanghai Noon"));
+		Assert.assertTrue(driver.isTextPresent("1 - 4 of 4"));
     }
 
 }

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=1180717&r1=1180716&r2=1180717&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 Sun Oct  9 21:18:38 2011
@@ -27,4 +27,10 @@
                <property name="stopPort">9005</property>
            </configuration>
        </container>
+       
+       <extension qualifier="selenium-server">
+	       <configuration>
+	           <property name="enable">true</property>
+	       </configuration>
+       </extension>
 </arquillian>
\ No newline at end of file

Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-remote/src/main/java/org/apache/openejb/arquillian/remote/RemoteTomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-remote/src/main/java/org/apache/openejb/arquillian/remote/RemoteTomEEContainer.java?rev=1180717&r1=1180716&r2=1180717&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-remote/src/main/java/org/apache/openejb/arquillian/remote/RemoteTomEEContainer.java (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-remote/src/main/java/org/apache/openejb/arquillian/remote/RemoteTomEEContainer.java Sun Oct  9 21:18:38 2011
@@ -35,8 +35,8 @@ import org.apache.openejb.arquillian.com
 import org.apache.openejb.arquillian.common.MavenCache;
 import org.apache.openejb.arquillian.common.TomEEContainer;
 import org.apache.openejb.config.RemoteServer;
-import org.apache.openejb.tomcat.installer.Installer;
-import org.apache.openejb.tomcat.installer.Paths;
+import org.apache.tomee.installer.Installer;
+import org.apache.tomee.installer.Paths;
 import org.jboss.arquillian.spi.client.container.LifecycleException;
 import org.sonatype.aether.artifact.Artifact;