diff options
author | Olivier Lamy <olamy@apache.org> | 2011-12-28 23:15:19 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2011-12-28 23:15:19 +0000 |
commit | 9938b56847abe3251a673c00d2f61aa56d484663 (patch) | |
tree | 1be2ef2230ee1fd4465cbf2f9009524c7d36da14 /archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml | |
parent | b0448012bd3bb15970be8c3f1131d1e10b29ad70 (diff) | |
download | archiva-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.xml | 614 |
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> |