Author: wsmoak
Date: Fri May  1 23:38:10 2009
New Revision: 770861

URL: http://svn.apache.org/viewvc?rev=770861&view=rev
Log:
[MRM-1164] Introduce Cargo plugin config for the TestNG tests to start Tomcat 
and deploy the app, taken from the original pom.xml

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/testng-pom.xml

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties?rev=770861&r1=770860&r2=770861&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
 Fri May  1 23:38:10 2009
@@ -1,6 +1,6 @@
 # properties for integration tests
 
-BASE_URL=http://localhost:9091/
+BASE_URL=http://localhost:9696/archiva
 MAX_WAIT_TIME_IN_MS=60000
 
 ADMIN_USERNAME=admin

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/testng-pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/testng-pom.xml?rev=770861&r1=770860&r2=770861&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/testng-pom.xml 
(original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/testng-pom.xml 
Fri May  1 23:38:10 2009
@@ -38,79 +38,70 @@
   </repositories>
 
   <dependencies>
-       <dependency>
-               <groupId>org.testng</groupId>
-               <artifactId>testng</artifactId>
-               <version>5.8</version>
-               <type>jar</type>
-               <classifier>jdk15</classifier>
-               <scope>test</scope>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>org.apache.archiva</groupId>
-               <artifactId>archiva-webapp</artifactId>
-               <version>${project.version}</version>
-               <type>war</type>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>org.apache.derby</groupId>
-               <artifactId>derby</artifactId>
-               <version>10.1.3.1</version>
-               <type>jar</type>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>javax.mail</groupId>
-               <artifactId>mail</artifactId>
-               <version>1.4</version>
-               <type>jar</type>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>javax.activation</groupId>
-               <artifactId>activation</artifactId>
-               <version>1.1</version>
-               <type>jar</type>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>org.codehaus.plexus</groupId>
-               <artifactId>plexus-utils</artifactId>
-               <version>1.4</version>
-               <type>jar</type>
-               <optional>false</optional>
-       </dependency>
-       <dependency>
-               <groupId>org.openqa.selenium.server</groupId>
-               <artifactId>selenium-server</artifactId>
-               <version>0.9.2</version>
-               <type>jar</type>
-               <optional>false</optional>
-               <exclusions>
-                       <exclusion>
-                               <groupId>commons-logging</groupId>
-                               <artifactId>commons-logging</artifactId>
-                       </exclusion>
-               </exclusions>
-       </dependency>
-       <dependency>
-               <groupId>org.openqa.selenium.client-drivers</groupId>
-               <artifactId>selenium-java-client-driver</artifactId>
-               <version>0.9.2</version>
-               <type>jar</type>
-               <scope>test</scope>
-               <optional>false</optional>
-               <exclusions>
-                       <exclusion>
-                               <groupId>commons-logging</groupId>
-                               <artifactId>commons-logging</artifactId>
-                       </exclusion>
-               </exclusions>
-       </dependency>
-  </dependencies>
+    <dependency>
+      <groupId>org.testng</groupId>
+      <artifactId>testng</artifactId>
+      <version>5.8</version>
+      <type>jar</type>
+      <classifier>jdk15</classifier>
+      <scope>test</scope>
+      <optional>false</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-command-line</artifactId>
+      <version>1.0-alpha-2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>plexus-container-default</artifactId>
+          <groupId>org.codehaus.plexus</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-webapp</artifactId>
+      <type>war</type>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-slf4j-logging</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.openqa.selenium.client-drivers</groupId>
+      <artifactId>selenium-java-client-driver</artifactId>
+      <version>0.8.1</version>
+      <scope>test</scope>
+    </dependency>
 
+    <!-- Dependency for MavenConnectionTest -->
+    <dependency>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jaxen</groupId>
+      <artifactId>jaxen</artifactId>
+    </dependency>
+    
+    <!-- Dependencies below are provided by the appserver -->
+    <dependency>
+      <groupId>org.apache.derby</groupId>
+      <artifactId>derby</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+    </dependency>
+  </dependencies>
   <build>
     <testSourceDirectory>src/test/testng</testSourceDirectory>
     <testResources>
@@ -133,7 +124,110 @@
           </execution>
         </executions>
       </plugin>
-      
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>dependency-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>unzip-archiva-webapp</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>${project.groupId}</groupId>
+                  <artifactId>archiva-webapp</artifactId>
+                  <version>${project.version}</version>
+                  <type>war</type>
+                </artifactItem>
+              </artifactItems>
+              
<outputDirectory>${project.build.directory}/${container.name}conf/webapps/archiva</outputDirectory>
+            </configuration>
+          </execution>
+          <execution>
+            <id>prepare-provided-dependencies</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              
<includeGroupIds>org.apache.derby,javax.mail,javax.activation</includeGroupIds>
+              <overWriteReleases>false</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <excludeTransitive>false</excludeTransitive>
+              
<outputDirectory>${project.build.directory}/providedDependencies</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <tasks>
+                <copy todir="${project.build.directory}/appserver-base">
+                  <fileset dir="src/test/it-resources/appserver-base" />
+                </copy>
+                <copy todir="${project.build.directory}/repository">
+                  <fileset dir="src/test/it-resources/repository" />
+                </copy>
+                <copy todir="${project.build.directory}/index">
+                  <fileset dir="src/test/it-resources/index" />
+                </copy>
+                <copy todir="${project.build.directory}/snapshots">
+                  <fileset dir="src/test/it-resources/snapshots" />
+                </copy>
+                <copy todir="${project.build.directory}/projects">
+                  <fileset dir="src/test/it-resources/projects" />
+                </copy>
+                <copy todir="${project.build.directory}/local-repo">
+                  <fileset dir="src/test/it-resources/local-repo" />
+                </copy>
+              </tasks>
+            </configuration>
+          </execution>
+          <execution>
+            <id>copy-container-conf</id>
+            <phase>package</phase>
+            <configuration>
+              <tasks>
+                <copy todir="${project.build.directory}/${container.name}conf">
+                  <fileset dir="src/test/${container.name}" />
+                </copy>
+                <copy
+                  
todir="${project.build.directory}/installs/${container.name}/apache-tomcat-5.5.26/apache-tomcat-5.5.26/common/lib">
+                  <fileset 
dir="${project.build.directory}/providedDependencies">
+                    <include name="**/*.jar" />
+                  </fileset>
+                </copy>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-archiva-loaded</id>
+            <phase>integration-test</phase>
+            <configuration>
+              <tasks>
+                <get src="http://localhost:9696/archiva/"; 
dest="${project.build.directory}/index.html" />
+                <delete file="${project.build.directory}/index.html" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
@@ -153,19 +247,65 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>selenium-maven-plugin</artifactId>
+        <version>1.0-beta-1</version>
         <executions>
           <execution>
+            <id>start-selenium</id>
             <phase>pre-integration-test</phase>
             <goals>
               <goal>start-server</goal>
             </goals>
-            <configuration>
-              <background>true</background>
-            </configuration>
           </execution>
         </executions>
+        <configuration>
+          <background>true</background>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.cargo</groupId>
+        <artifactId>cargo-maven2-plugin</artifactId>
+        <version>1.0</version>
+        <executions>
+          <execution>
+            <id>start-container</id>
+            <phase>pre-integration-test</phase>
+            <goals>
+              <goal>start</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>stop-container</id>
+            <phase>post-integration-test</phase>
+            <goals>
+              <goal>stop</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <wait>false</wait>
+          <container>
+            <containerId>${container.name}</containerId>
+            <zipUrlInstaller>
+              <url>${container.url}</url>
+              
<installDir>${project.build.directory}/installs/${container.name}</installDir>
+            </zipUrlInstaller>
+            <log>${project.build.directory}/logs/${container.name}.log</log>
+            
<output>${project.build.directory}/logs/${container.name}.out</output>
+            <timeout>600000</timeout>
+            <systemProperties>
+              
<appserver.base>${project.build.directory}/appserver-base</appserver.base>
+              
<appserver.home>${project.build.directory}/appserver-base</appserver.home>
+            </systemProperties>
+          </container>
+          <configuration>
+            <home>${project.build.directory}/${container.name}conf</home>
+            <type>existing</type>
+            <properties>
+              <cargo.servlet.port>9696</cargo.servlet.port>
+            </properties>
+          </configuration>
+        </configuration>
       </plugin>
-      
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
@@ -194,8 +334,7 @@
       </activation>
       <properties>
         <container.name>tomcat5x</container.name>
-        
<container.url>http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip
-        </container.url>
+        
<container.url>http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip</container.url>
       </properties>
     </profile>
     <profile>


Reply via email to