summaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml
diff options
context:
space:
mode:
authorOlivier Lamy <olamy@apache.org>2011-12-28 23:15:19 +0000
committerOlivier Lamy <olamy@apache.org>2011-12-28 23:15:19 +0000
commit9938b56847abe3251a673c00d2f61aa56d484663 (patch)
tree1be2ef2230ee1fd4465cbf2f9009524c7d36da14 /archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml
parentb0448012bd3bb15970be8c3f1131d1e10b29ad70 (diff)
downloadarchiva-9938b56847abe3251a673c00d2f61aa56d484663.tar.gz
archiva-9938b56847abe3251a673c00d2f61aa56d484663.zip
start adding layout for selenium test for webapp-js
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1225381 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml')
-rw-r--r--archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml614
1 files changed, 614 insertions, 0 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml b/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml
new file mode 100644
index 000000000..c932399d4
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml
@@ -0,0 +1,614 @@
+<?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.4-M3-SNAPSHOT</version>
+ </parent>
+ <artifactId>archiva-webapp-test-js</artifactId>
+ <packaging>pom</packaging>
+ <name>Archiva Web :: Javascript Application Tests</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-command-line</artifactId>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-container-default</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>plexus-component-api</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-webapp-js</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>
+ <exclusions>
+ <exclusion>
+ <artifactId>plexus-component-api</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+ <artifactId>selenium-java-client-driver</artifactId>
+ <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>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ <version>${seleniumPluginVersion}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-server</artifactId>
+ <version>${selenium-server.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-remote-driver</artifactId>
+ <version>${selenium-server.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-api</artifactId>
+ <version>${selenium-server.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>src/test/resources/appserver-base/**</exclude>
+ <exclude>src/test/resources/repository/**</exclude>
+ <exclude>src/test/resources/local-repo/**</exclude>
+ <exclude>src/test/resources/projects/**</exclude>
+ <exclude>src/test/resources/snapshots/**</exclude>
+ <exclude>src/test/tomcat*/conf/catalina.policy</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <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.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <redirectTestOutputToFile>false</redirectTestOutputToFile>
+ <properties>
+ <!--
+ Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles
+ -->
+ <property>
+ <name>listener</name>
+ <value>org.apache.archiva.web.test.listener.CaptureScreenShotsListener</value>
+ </property>
+ <property>
+ <name>excludegroups</name>
+ <!-- Exclude on all browsers but Firefox, as it is the only one that Selenium supports file uploads on -->
+ <value>${excluded.groups}</value>
+ </property>
+ </properties>
+ <runOrder>alphabetical</runOrder>
+ </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>
+ <property>
+ <name>baseUrl</name>
+ <value>${baseUrl}</value>
+ </property>
+ <property>
+ <name>maxWaitTimeInMs</name>
+ <value>${maxWaitTimeInMs}</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.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-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-js</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.directory}/${container.name}conf/webapps/archiva</outputDirectory>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ </configuration>
+ </execution>
+ <execution>
+ <id>prepare-provided-dependencies</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <!-- TODO: this sometimes copies everything, causing problems with the server start up -->
+ <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>
+ <groupId>org.apache.maven.plugins</groupId>
+ <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/resources/appserver-base"/>
+ </copy>
+ <copy todir="${project.build.directory}/repository">
+ <fileset dir="src/test/resources/repository"/>
+ </copy>
+ <copy todir="${project.build.directory}/index">
+ <fileset dir="src/test/resources/index"/>
+ </copy>
+ <copy todir="${project.build.directory}/snapshots">
+ <fileset dir="src/test/resources/snapshots"/>
+ </copy>
+ <copy todir="${project.build.directory}/projects">
+ <fileset dir="src/test/resources/projects"/>
+ </copy>
+ <copy todir="${project.build.directory}/local-repo">
+ <fileset dir="src/test/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="${cargo.install.dir}/apache-tomcat-${tomcat.version}/apache-tomcat-${tomcat.version}/common/lib">
+ <fileset dir="${project.build.directory}/providedDependencies">
+ <include name="**/*.jar"/>
+ </fileset>
+ </copy>
+ <!-- for tomcat 6 -->
+ <copy
+ todir="${cargo.install.dir}/apache-tomcat-${tomcat.version}/apache-tomcat-${tomcat.version}/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:${container.test.port}/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>
+ <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>${cargo.wait}</wait>
+ <container>
+ <containerId>${container.name}</containerId>
+ <zipUrlInstaller>
+ <url>${container.url}</url>
+ <downloadDir>${user.home}/.cargo</downloadDir>
+ </zipUrlInstaller>
+ <log>${project.build.directory}/logs/${container.name}.log</log>
+ <output>${project.build.directory}/logs/${container.name}.out</output>
+ <timeout>${cargo.timeout}</timeout>
+ <systemProperties>
+ <appserver.base>${project.build.directory}/appserver-base</appserver.base>
+ <appserver.home>${project.build.directory}/appserver-base</appserver.home>
+ <derby.system.home>${project.build.directory}</derby.system.home>
+ </systemProperties>
+ </container>
+ <configuration>
+ <home>${project.build.directory}/${container.name}conf</home>
+ <type>existing</type>
+ <properties>
+ <cargo.servlet.port>${container.test.port}</cargo.servlet.port>
+ <cargo.jvmargs>${cargo.jvm.args}</cargo.jvmargs>
+ </properties>
+ </configuration>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>existing-container</id>
+ <activation>
+ <property>
+ <name>!baseUrl</name>
+ </property>
+ </activation>
+ <properties>
+ <baseUrl>http://localhost:${container.test.port}/archiva/index.html</baseUrl>
+ </properties>
+ </profile>
+ <profile>
+ <id>start-selenium</id>
+ <activation>
+ <property>
+ <name>!seleniumHost</name>
+ </property>
+ </activation>
+ <properties>
+ <seleniumHost>localhost</seleniumHost>
+ <seleniumPort>4444</seleniumPort>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start-server</goal>
+ </goals>
+ <configuration>
+ <background>true</background>
+ <port>${seleniumPort}</port>
+ <logOutput>true</logOutput>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>tomcat6x</id>
+ <activation>
+ <property>
+ <name>!container</name>
+ </property>
+ </activation>
+ <properties>
+ <container.name>tomcat6x</container.name>
+ <tomcat.version>${tomcat6x.version}</tomcat.version>
+ <container.url>
+ ${apache.mirror.url}/tomcat/tomcat-6/v${tomcat6x.version}/bin/apache-tomcat-${tomcat6x.version}.zip
+ </container.url>
+ </properties>
+ </profile>
+ <profile>
+ <id>firefox</id>
+ <activation>
+ <property>
+ <name>!browser</name>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*firefox</selenium.browser>
+ <excluded.groups/>
+ </properties>
+ </profile>
+ <profile>
+ <id>chrome</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>chrome</value>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*googlechrome</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
+ </properties>
+ </profile>
+ <profile>
+ <id>iexplore</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>iexplore</value>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*iexplore</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
+ </properties>
+ </profile>
+ <profile>
+ <id>safari</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>safari</value>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*safari</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
+ </properties>
+ </profile>
+ <profile>
+ <id>otherbrowser</id>
+ <activation>
+ <property>
+ <name>browser</name>
+ <value>other</value>
+ </property>
+ </activation>
+ <properties>
+ <selenium.browser>*custom ${browserPath}</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
+ </properties>
+ </profile>
+ <profile>
+ <id>headless</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>xvfb</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>xvfb</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>debug</id>
+ <properties>
+ <!-- TODO: review how appropriate the memory settings are - should work with less -->
+ <cargo.jvm.args>
+ -Xdebug -Xnoagent -Djava.compiler=NONE
+ -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${cargo.debug.port}
+ -Xmx512m -XX:MaxPermSize=256m
+ </cargo.jvm.args>
+ <cargo.debug.port>8000</cargo.debug.port>
+ <!-- wait an unusual amount of time (1hr) to allow debugging to occur -->
+ <maxWaitTimeInMs>3600000</maxWaitTimeInMs>
+ </properties>
+ </profile>
+ <profile>
+ <id>ci-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>cleanup-files</id>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <delete file="${user.home}/.m2/archiva.xml" quiet="true"/>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus.snapshots</id>
+ <url>https://nexus.codehaus.org/content/repositories/snapshots/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+
+</project>