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>