| <?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>2.2.1-SNAPSHOT</version> |
| </parent> |
| <artifactId>archiva-webapp-test</artifactId> |
| <packaging>pom</packaging> |
| <name>Archiva Web :: Javascript Application Tests</name> |
| |
| <properties> |
| <webappDirectory>${project.build.directory}/tomcat7x/webapps/archiva</webappDirectory> |
| <container.test.port>0</container.test.port> |
| <tomcat.propertiesPortFilePath>${project.build.directory}/tomcat-port.properties</tomcat.propertiesPortFilePath> |
| <maxWaitTimeInMs>10000</maxWaitTimeInMs> |
| |
| <seleniumPluginVersion>2.3</seleniumPluginVersion> |
| <selenium-server.version>2.43.1</selenium-server.version> |
| <fluentlenium.version>0.10.2</fluentlenium.version> |
| |
| <browserPath></browserPath> |
| </properties> |
| |
| <dependencies> |
| |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| </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> |
| <exclusions> |
| <exclusion> |
| <artifactId>plexus-component-api</artifactId> |
| <groupId>org.codehaus.plexus</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.seleniumhq.selenium</groupId> |
| <artifactId>selenium-java</artifactId> |
| <version>${selenium-server.version}</version> |
| </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> |
| <groupId>org.fluentlenium</groupId> |
| <artifactId>fluentlenium-festassert</artifactId> |
| <version>${fluentlenium.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>xerces</groupId> |
| <artifactId>xercesImpl</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.fluentlenium</groupId> |
| <artifactId>fluentlenium-core</artifactId> |
| <version>${fluentlenium.version}</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> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-jcl</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-1.2-api</artifactId> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <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> |
| <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> |
| <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> |
| <runOrder>alphabetical</runOrder> |
| </configuration> |
| <executions> |
| <execution> |
| <id>integration-tests</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <systemPropertyVariables> |
| <browser>${selenium.browser}</browser> |
| <selenium.browser>${selenium.browser}</selenium.browser> |
| <baseUrl>${baseUrl}</baseUrl> |
| <maxWaitTimeInMs>${maxWaitTimeInMs}</maxWaitTimeInMs> |
| <seleniumHost>${seleniumHost}</seleniumHost> |
| <seleniumPort>${seleniumPort}</seleniumPort> |
| <tomcat.propertiesPortFilePath>${tomcat.propertiesPortFilePath}</tomcat.propertiesPortFilePath> |
| </systemPropertyVariables> |
| </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>compile</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>${webappDirectory}</outputDirectory> |
| <overWriteSnapshots>true</overWriteSnapshots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <tasks> |
| <copy overwrite="true" todir="${webappDirectory}/WEB-INF/classes"> |
| <fileset dir="src/test/resources/logging"/> |
| </copy> |
| <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> |
| <copy todir="${project.build.directory}/errorshtmlsnap/css"> |
| <fileset dir="${webappDirectory}/css"/> |
| </copy> |
| <copy todir="${project.build.directory}/errorshtmlsnap/js"> |
| <fileset dir="${webappDirectory}/js"/> |
| </copy> |
| <copy todir="${project.build.directory}/errorshtmlsnap/img"> |
| <fileset dir="${webappDirectory}/img"/> |
| </copy> |
| <copy todir="${project.build.directory}/errorshtmlsnap/images"> |
| <fileset dir="${webappDirectory}/images"/> |
| </copy> |
| </tasks> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.tomcat.maven</groupId> |
| <artifactId>tomcat7-maven-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| <version>${derbyVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.mail</groupId> |
| <artifactId>mail</artifactId> |
| <version>${javaxMailVersion}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>tomcat-run</id> |
| <goals> |
| <goal>run-war-only</goal> |
| </goals> |
| <phase>pre-integration-test</phase> |
| <configuration> |
| <path>/archiva</path> |
| <port>${container.test.port}</port> |
| <uriEncoding>UTF-8</uriEncoding> |
| <warDirectory>${webappDirectory}</warDirectory> |
| <fork>true</fork> |
| <ignorePackaging>true</ignorePackaging> |
| <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> |
| <archiva.devMode>true</archiva.devMode> |
| </systemProperties> |
| <contextFile>${project.build.testOutputDirectory}/archiva.xml</contextFile> |
| <propertiesPortFilePath>${tomcat.propertiesPortFilePath}</propertiesPortFilePath> |
| <useNaming>true</useNaming> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tomcat-shutdown</id> |
| <goals> |
| <goal>shutdown</goal> |
| </goals> |
| <phase>post-integration-test</phase> |
| </execution> |
| </executions> |
| </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?request_lang=en</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>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>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> |
| |
| </project> |