| <?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.sling</groupId> |
| <artifactId>sling</artifactId> |
| <version>10</version> |
| </parent> |
| |
| <artifactId>org.apache.sling.testing.samples.integrationtests</artifactId> |
| <version>1.0.6</version> |
| <packaging>jar</packaging> |
| |
| <name>Apache Sling Sample Integration Tests</name> |
| <description> |
| Sample project that demonstrates the various tools and techniques |
| available to test Sling applications: plain build-time JUnit tests, |
| HTTP-based integration tests, server-side JUnit tests injected via |
| bundles and server-side scriptable tests. |
| </description> |
| |
| <!-- |
| To keep the instance under test running and run individual tests |
| against it, use: |
| |
| mvn clean verify -DkeepJarRunning=true -Dhttp.port=8080 |
| |
| optionally using jar.executor.vm.options to enable remote debugging, |
| and in another console: |
| |
| mvn -o verify -Dtests.to.run=**/**Test.java -Dtest.server.url=http://localhost:8080 |
| |
| optionally using -Dmaven.surefire.debug to enable debugging. |
| --> |
| <properties> |
| <!-- Set this to run the server on a specific port |
| <http.port></http.port> |
| --> |
| |
| <!-- Set this to run tests against an existing server instance --> |
| <keepJarRunning>false</keepJarRunning> |
| |
| <!-- URL of a server against which to run tests --> |
| <test.server.url /> |
| |
| <!-- Set this to run tests against a specific hostname, if test.server.url is not set--> |
| <test.server.hostname /> |
| |
| <!-- Options for the VM that executes our runnable jar --> |
| <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options> |
| |
| <!-- Change this to use longer or shorter timeouts for testing --> |
| <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier> |
| |
| <!-- Set this to run the executable jar in a specified filesystem folder --> |
| <jar.executor.work.folder /> |
| |
| <!-- Options for the jar to execute. $JAREXEC_SERVER_PORT$ is replaced by the |
| selected port number --> |
| <jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$</jar.executor.jar.options> |
| |
| <!-- Change this to run selected tests only --> |
| <tests.to.run>**/**Test.java</tests.to.run> |
| </properties> |
| |
| <scm> |
| <connection>scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.samples.integrationtests-1.0.6</connection> |
| <developerConnection> scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.samples.integrationtests-1.0.6</developerConnection> |
| <url>http://svn.apache.org/viewvc/sling/tags/org.apache.sling.testing.samples.integrationtests-1.0.6</url> |
| </scm> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>2.2</version> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${basedir}</directory> |
| <includes> |
| <!-- sling folder is the workdir of the executable jar that we test --> |
| <include>sling</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-runnable-jar</id> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <includeArtifactIds>org.apache.sling.launchpad</includeArtifactIds> |
| <excludeTransitive>true</excludeTransitive> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- |
| Consider all dependencies as candidates to be installed |
| as additional bundles. We use system properties to define |
| which bundles to install in which order. |
| --> |
| <id>copy-additional-bundles</id> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}/sling/additional-bundles</outputDirectory> |
| <excludeTransitive>true</excludeTransitive> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- Find free ports to run our server --> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>reserve-server-port</id> |
| <goals> |
| <goal>reserve-network-port</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <portNames> |
| <portName>http.port</portName> |
| </portNames> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.5</version> |
| <configuration> |
| <!-- We run all tests in the integration-tests phase --> |
| <excludes> |
| <exclude>**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>2.7.2</version> |
| <executions> |
| <execution> |
| <id>integration-test</id> |
| <goals> |
| <goal>integration-test</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>verify</id> |
| <goals> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess> |
| <includes> |
| <include>${tests.to.run}</include> |
| </includes> |
| <systemPropertyVariables> |
| <test.server.url>${test.server.url}</test.server.url> |
| <test.server.hostname>${test.server.hostname}</test.server.hostname> |
| <jar.executor.server.port>${http.port}</jar.executor.server.port> |
| <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options> |
| <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder> |
| <jar.executor.jar.name.regexp>org.apache.sling.launchpad.*jar$</jar.executor.jar.name.regexp> |
| <jar.executor.work.folder>${jar.executor.work.folder}</jar.executor.work.folder> |
| <jar.executor.jar.options>${jar.executor.jar.options}</jar.executor.jar.options> |
| <additional.bundles.path>${project.basedir}/target/sling/additional-bundles</additional.bundles.path> |
| <keepJarRunning>${keepJarRunning}</keepJarRunning> |
| <server.ready.timeout.seconds>60</server.ready.timeout.seconds> |
| <sling.testing.timeout.multiplier>${sling.testing.timeout.multiplier}</sling.testing.timeout.multiplier> |
| <server.ready.path.1>/:script src="system/sling.js"</server.ready.path.1> |
| <server.ready.path.2>/.explorer.html:href="/libs/sling/explorer/css/explorer.css"</server.ready.path.2> |
| <server.ready.path.3>/sling-test/sling/sling-test.html:Sling client library tests</server.ready.path.3> |
| |
| <!-- |
| Define additional bundles to install by specifying the beginning of their artifact name. |
| The bundles are installed in lexical order of these property names. |
| All bundles must be listed as dependencies in this pom, or they won't be installed. |
| --> |
| <sling.additional.bundle.1>org.apache.sling.junit.core</sling.additional.bundle.1> |
| <sling.additional.bundle.2>org.apache.sling.junit.scriptable</sling.additional.bundle.2> |
| <sling.additional.bundle.3>org.apache.sling.testing.samples.sampletests</sling.additional.bundle.3> |
| <sling.additional.bundle.4>org.apache.sling.testing.samples.failingtests</sling.additional.bundle.4> |
| <sling.additional.bundle.5>org.apache.sling.junit.remote</sling.additional.bundle.5> |
| <sling.additional.bundle.6>org.apache.sling.testing.tools</sling.additional.bundle.6> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <!-- Additional bundles needed by the Sling instance under test --> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.junit.core</artifactId> |
| <version>1.0.6</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.junit.scriptable</artifactId> |
| <version>1.0.6</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.testing.samples.sampletests</artifactId> |
| <version>1.0.6</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.testing.samples.failingtests</artifactId> |
| <version>1.0.6</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <version>1.0.6</version> |
| <artifactId>org.apache.sling.junit.remote</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.testing.tools</artifactId> |
| <version>1.0.2</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- actual dependencies --> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.commons.json</artifactId> |
| <version>2.0.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.launchpad</artifactId> |
| <classifier>standalone</classifier> |
| <version>6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>1.5.11</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>1.5.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.8.2</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |