[MRM-1164] Introduce Cargo plugin config for the TestNG tests to start Tomcat and deploy the app, taken from the original pom.xml

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@770861 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Wendy Smoak 2009-05-01 23:38:10 +00:00
parent 4c8bb8341b
commit c2c281cdde
2 changed files with 219 additions and 80 deletions

View 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

View File

@ -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>