ReadMe
----------
Run selenium tests in src/test/testng with Maven and TestNG
- - mvn clean install -f testng-pom.xml
+ - mvn clean install
Run Selenium tests in src/test/testng against an existing Archiva instance
- Start Archiva
- Configure admin user for archiva (match values in src/test/resources/testng.properties )
- modify src/test/resources/testng.properties as needed
- - mvn clean install -f testng-pom.xml -Dcontainer-existing
+ - mvn clean install -Dcontainer-existing
For the default values in the scripts, to pass all the tests, you need to add an artifact in internal repository.
+
+Run Selenium tests in src/test/it with Maven and JUnit
+ - mvn clean install -f junit-pom.xml
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-web</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>archiva-webapp-test</artifactId>
+ <packaging>pom</packaging>
+ <name>Archiva Web :: Application Tests</name>
+ <dependencies>
+ <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/it</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>testResources</goal>
+ </goals>
+ </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>
+ <executions>
+ <execution>
+ <goals>
+ <goal>testCompile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <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>
+ </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>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>browser</name>
+ <value>${browser}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>tomcat5x</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <container.name>tomcat5x</container.name>
+ <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>
+ <id>firefox</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <browser>*firefox</browser>
+ </properties>
+ </profile>
+ <profile>
+ <id>iexplore</id>
+ <properties>
+ <browser>*iexplore</browser>
+ </properties>
+ </profile>
+ <profile>
+ <id>otherbrowser</id>
+ <properties>
+ <browser>*custom ${browserPath}</browser>
+ </properties>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
<artifactId>archiva-webapp-test</artifactId>
<packaging>pom</packaging>
<name>Archiva Web :: Application Tests</name>
+
+ <repositories>
+ <repository>
+ <id>openqa-snapshots</id>
+ <url>http://nexus.openqa.org/content/repositories/snapshots</url>
+ <releases><enabled>false</enabled></releases>
+ </repository>
+ </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.codehaus.plexus</groupId>
<artifactId>plexus-command-line</artifactId>
<dependency>
<groupId>org.openqa.selenium.client-drivers</groupId>
<artifactId>selenium-java-client-driver</artifactId>
- <version>0.8.1</version>
+ <version>1.0-SNAPSHOT</version>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- Dependency for MavenConnectionTest -->
</dependency>
</dependencies>
<build>
- <testSourceDirectory>src/test/it</testSourceDirectory>
+ <testSourceDirectory>src/test/testng</testSourceDirectory>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </testResource>
+ </testResources>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
</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>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ <verbose>true</verbose>
+ </configuration>
<executions>
<execution>
<goals>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
- <version>1.0-beta-1</version>
+ <version>1.0-rc-1</version>
<executions>
<execution>
<id>start-selenium</id>
<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>
+ <configuration>
+ <suiteXmlFiles>
+ <suiteXmlFile>src/test/testng/config/testng.xml</suiteXmlFile>
+ </suiteXmlFiles>
+ </configuration>
<executions>
<execution>
+ <id>integration-tests</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>browser</name>
+ <value>${selenium.browser}</value>
+ </property>
+ </systemProperties>
+ </configuration>
</execution>
</executions>
- <configuration>
- <systemProperties>
- <property>
- <name>browser</name>
- <value>${browser}</value>
- </property>
- </systemProperties>
- </configuration>
</plugin>
</plugins>
</build>
<profiles>
+ <profile>
+ <id>create-container</id>
+ <activation>
+ <property>
+ <name>!container</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <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.27/apache-tomcat-5.5.27/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.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>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>existing-container</id>
+ <activation>
+ <property>
+ <name>container</name>
+ <value>existing</value>
+ </property>
+ </activation>
+ <!-- edit src/test/resources/testng.properties as needed -->
+ </profile>
<profile>
<id>tomcat5x</id>
<activation>
- <activeByDefault>true</activeByDefault>
+ <property>
+ <name>!container</name>
+ </property>
</activation>
<properties>
<container.name>tomcat5x</container.name>
- <container.url>http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip</container.url>
+ <container.url>http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip</container.url>
</properties>
</profile>
<profile>
<id>firefox</id>
<activation>
- <activeByDefault>true</activeByDefault>
+ <property>
+ <name>!browser</name>
+ </property>
</activation>
<properties>
- <browser>*firefox</browser>
+ <selenium.browser>*firefox</selenium.browser>
</properties>
</profile>
<profile>
<id>iexplore</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>iexplore</value>
+ </property>
+ </activation>
<properties>
- <browser>*iexplore</browser>
+ <selenium.browser>*iexplore</selenium.browser>
+ </properties>
+ </profile>
+ <profile>
+ <id>safari</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>safari</value>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*safari</selenium.browser>
</properties>
</profile>
<profile>
<id>otherbrowser</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>other</value>
+ </property>
+ </activation>
<properties>
- <browser>*custom ${browserPath}</browser>
+ <selenium.browser>*custom ${browserPath}</selenium.browser>
</properties>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.archiva</groupId>
- <artifactId>archiva-web</artifactId>
- <version>1.2.1-SNAPSHOT</version>
- </parent>
- <artifactId>archiva-webapp-test</artifactId>
- <packaging>pom</packaging>
- <name>Archiva Web :: Application Tests</name>
-
- <repositories>
- <repository>
- <id>openqa-snapshots</id>
- <url>http://nexus.openqa.org/content/repositories/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository>
- </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.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>1.0-SNAPSHOT</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </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>
- <testResource>
- <directory>src/test/resources</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*</include>
- </includes>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>testResources</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- <verbose>true</verbose>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>testCompile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>selenium-maven-plugin</artifactId>
- <version>1.0-rc-1</version>
- <executions>
- <execution>
- <id>start-selenium</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>start-server</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <background>true</background>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/testng/config/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
- </configuration>
- <executions>
- <execution>
- <id>integration-tests</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemProperties>
- <property>
- <name>browser</name>
- <value>${selenium.browser}</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <profile>
- <id>create-container</id>
- <activation>
- <property>
- <name>!container</name>
- </property>
- </activation>
- <build>
- <plugins>
- <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.27/apache-tomcat-5.5.27/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.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>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>existing-container</id>
- <activation>
- <property>
- <name>container</name>
- <value>existing</value>
- </property>
- </activation>
- <!-- edit src/test/resources/testng.properties as needed -->
- </profile>
- <profile>
- <id>tomcat5x</id>
- <activation>
- <property>
- <name>!container</name>
- </property>
- </activation>
- <properties>
- <container.name>tomcat5x</container.name>
- <container.url>http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip</container.url>
- </properties>
- </profile>
- <profile>
- <id>firefox</id>
- <activation>
- <property>
- <name>!browser</name>
- </property>
- </activation>
- <properties>
- <selenium.browser>*firefox</selenium.browser>
- </properties>
- </profile>
- <profile>
- <id>iexplore</id>
- <activation>
- <property>
- <name>browser</name>
- <value>iexplore</value>
- </property>
- </activation>
- <properties>
- <selenium.browser>*iexplore</selenium.browser>
- </properties>
- </profile>
- <profile>
- <id>safari</id>
- <activation>
- <property>
- <name>browser</name>
- <value>safari</value>
- </property>
- </activation>
- <properties>
- <selenium.browser>*safari</selenium.browser>
- </properties>
- </profile>
- <profile>
- <id>otherbrowser</id>
- <activation>
- <property>
- <name>browser</name>
- <value>other</value>
- </property>
- </activation>
- <properties>
- <selenium.browser>*custom ${browserPath}</selenium.browser>
- </properties>
- </profile>
- </profiles>
-</project>