]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1164] Introduce Cargo plugin config for the TestNG tests to start Tomcat and...
authorWendy Smoak <wsmoak@apache.org>
Fri, 1 May 2009 23:38:10 +0000 (23:38 +0000)
committerWendy Smoak <wsmoak@apache.org>
Fri, 1 May 2009 23:38:10 +0000 (23:38 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@770861 13f79535-47bb-0310-9956-ffa450edef68

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

index 6a2bf3bfbe94b46d21ef3b614cbaaa11881026cb..9c384fa03373904db7dbc19316148f06a92f009c 100644 (file)
@@ -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
index b1797c51eb3fda97ebb0f2cbfa7cd18ec6a8405d..9ad35e62fd576006a223f19ea88dfed17715f1fa 100644 (file)
   </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>
           </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>
       <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>
       </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>