aboutsummaryrefslogtreecommitdiffstats
path: root/test/servlet-containers
diff options
context:
space:
mode:
authorTeemu Suo-Anttila <tsuoanttila@users.noreply.github.com>2017-10-09 15:51:34 +0300
committerHenri Sara <henri.sara@gmail.com>2017-10-09 15:51:34 +0300
commit4ac4b62434ab48fdb7d3ca9c479383d4242062aa (patch)
tree08925f02a1b695f9a2576acb550df26c5ec0a836 /test/servlet-containers
parent9494818412d3f7d9aa9b8817dd6d62bb64963753 (diff)
downloadvaadin-framework-4ac4b62434ab48fdb7d3ca9c479383d4242062aa.tar.gz
vaadin-framework-4ac4b62434ab48fdb7d3ca9c479383d4242062aa.zip
Add maven based tests for several application servers (#10143)
Add tests for Glassfish based servers, Jetty 8, Tomcat 7 and Liberty (three runtimes).
Diffstat (limited to 'test/servlet-containers')
-rw-r--r--test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/AbstractIntegrationTest.java15
-rw-r--r--test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/push/LongPollingProxyServerIT.java3
-rw-r--r--test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/websocket/jsr356/ServletIntegrationJSR356WebsocketIT.java20
-rw-r--r--test/servlet-containers/generic/integration_tests.xml26
-rw-r--r--test/servlet-containers/glassfish/pom.xml64
-rw-r--r--test/servlet-containers/jetty8/pom.xml73
-rw-r--r--test/servlet-containers/jsp-integration/pom.xml4
-rw-r--r--test/servlet-containers/liberty-javaee/pom.xml54
-rw-r--r--test/servlet-containers/liberty-microprofile/pom.xml54
-rw-r--r--test/servlet-containers/liberty-webprofile/pom.xml54
-rw-r--r--test/servlet-containers/payara/pom.xml66
-rw-r--r--test/servlet-containers/pom.xml198
-rw-r--r--test/servlet-containers/tomcat7/pom.xml53
-rw-r--r--test/servlet-containers/tomcat80/pom.xml53
-rw-r--r--test/servlet-containers/tomcat85/pom.xml53
-rw-r--r--test/servlet-containers/tomcat9/pom.xml53
-rw-r--r--test/servlet-containers/wildfly8/pom.xml43
17 files changed, 871 insertions, 15 deletions
diff --git a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/AbstractIntegrationTest.java b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/AbstractIntegrationTest.java
index 79d75f6651..c05cb6fdc6 100644
--- a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/AbstractIntegrationTest.java
+++ b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/AbstractIntegrationTest.java
@@ -51,6 +51,7 @@ public abstract class AbstractIntegrationTest extends ParallelTest {
private void openTestURL() {
String url = getDeploymentURL() + getContextPath() + getTestPath() + "?"
+ getParameters().collect(Collectors.joining("&"));
+
driver.get(url);
if (!isElementPresent(UIElement.class)) {
@@ -120,7 +121,19 @@ public abstract class AbstractIntegrationTest extends ParallelTest {
new WebDriverWait(driver, timeoutInSeconds).until(condition);
}
+ /**
+ * Returns the deployment context path with a leading slash. If not provided
+ * through {@code deployment.context.path} system property, will default to
+ * {@code /demo}.
+ *
+ * @return deployment context path
+ */
protected String getContextPath() {
- return "/demo";
+ String contextPath = System.getProperty("deployment.context.path");
+ if (contextPath == null || contextPath.isEmpty()) {
+ // Default to /demo
+ return "/demo";
+ }
+ return contextPath;
}
}
diff --git a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/push/LongPollingProxyServerIT.java b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/push/LongPollingProxyServerIT.java
index 7dfd2aa6e6..5188583166 100644
--- a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/push/LongPollingProxyServerIT.java
+++ b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/push/LongPollingProxyServerIT.java
@@ -84,7 +84,8 @@ public class LongPollingProxyServerIT extends AbstractIntegrationTest {
@Override
protected String getContextPath() {
- return "/" + path + "/demo";
+ // Prefix with the context path with the parameter
+ return "/" + path + super.getContextPath();
}
@Override
diff --git a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/websocket/jsr356/ServletIntegrationJSR356WebsocketIT.java b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/websocket/jsr356/ServletIntegrationJSR356WebsocketIT.java
index f49d3656db..b3111db1d9 100644
--- a/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/websocket/jsr356/ServletIntegrationJSR356WebsocketIT.java
+++ b/test/servlet-containers/generic-tests/src/main/java/com/vaadin/tests/integration/websocket/jsr356/ServletIntegrationJSR356WebsocketIT.java
@@ -15,12 +15,32 @@
*/
package com.vaadin.tests.integration.websocket.jsr356;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Assume;
+
import com.vaadin.tests.integration.websocket.ServletIntegrationWebsocketIT;
public class ServletIntegrationJSR356WebsocketIT
extends ServletIntegrationWebsocketIT {
// Uses the test method declared in the super class
+ private static final Set<String> nonJSR356Servers = new HashSet<>();
+
+ static {
+ nonJSR356Servers.add("jetty8");
+ nonJSR356Servers.add("liberty-microprofile");
+ }
+
+ @Override
+ public void setup() throws Exception {
+ Assume.assumeFalse("Jetty 8 does not support JSR356",
+ nonJSR356Servers.contains(System.getProperty("server-name")));
+
+ super.setup();
+ }
+
@Override
protected String getTestPath() {
return super.getTestPath().replace("/run/", "/run-jsr356/");
diff --git a/test/servlet-containers/generic/integration_tests.xml b/test/servlet-containers/generic/integration_tests.xml
index 28f941e696..3562740009 100644
--- a/test/servlet-containers/generic/integration_tests.xml
+++ b/test/servlet-containers/generic/integration_tests.xml
@@ -79,18 +79,21 @@
</junit>
</target>
+<!--
<target name="integration-test-tomcat7">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
<param name="target-server" value="tomcat7" />
</antcall>
</target>
+-->
<target name="integration-test-tomcat7apacheproxy">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
<param name="target-server" value="tomcat7apacheproxy" />
</antcall>
</target>
+<!--
<target name="integration-test-tomcat8">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
@@ -104,7 +107,6 @@
<param name="target-server" value="jetty8" />
</antcall>
</target>
-<!--
<target name="integration-test-jetty9">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="90" />
@@ -119,13 +121,13 @@
<param name="demo.war" value="${demo.jboss6.war}"/>
</antcall>
</target>
+<!--
<target name="integration-test-wildfly8">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
<param name="target-server" value="wildfly8" />
</antcall>
</target>
-<!--
<target name="integration-test-wildfly9">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
@@ -146,6 +148,7 @@
<param name="target-port" value="80" />
</antcall>
</target>
+<!--
<target name="integration-test-glassfish4">
<antcall target="run-generic-integration-test">
<param name="startDelay" value="10" />
@@ -158,7 +161,7 @@
<param name="target-server" value="payara" />
</antcall>
</target>
-
+-->
<target name="integration-test-weblogic12">
<antcall target="run-generic-integration-test">
@@ -180,16 +183,25 @@
<parallel>
<antcall target="integration-test-weblogic12" />
+
+<!--
<antcall target="integration-test-glassfish4" />
- <antcall target="integration-test-payara" />
+ <antcall target="integration-test-payara" />
+-->
+
<antcall target="integration-test-jboss-eap6" />
+
+<!--
<antcall target="integration-test-wildfly8" />
-<!-- <antcall target="integration-test-wildfly9" />
- <antcall target="integration-test-wildfly10" /> -->
+ <antcall target="integration-test-wildfly9" />
+ <antcall target="integration-test-wildfly10" />
+
<antcall target="integration-test-jetty8" />
-<!-- <antcall target="integration-test-jetty9" /> -->
+ <antcall target="integration-test-jetty9" />
+
<antcall target="integration-test-tomcat7" />
<antcall target="integration-test-tomcat8" />
+-->
<antcall target="integration-test-tomcat7apacheproxy" />
</parallel>
diff --git a/test/servlet-containers/glassfish/pom.xml b/test/servlet-containers/glassfish/pom.xml
new file mode 100644
index 0000000000..a979422f06
--- /dev/null
+++ b/test/servlet-containers/glassfish/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-glassfish-server</artifactId>
+ <name>Vaadin Glassfish Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <glassfish.version>4.1.2.173</glassfish.version>
+ <server.name>glassfish</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.glassfish.embedded</groupId>
+ <artifactId>maven-embedded-glassfish-plugin</artifactId>
+ <version>4.1.1</version>
+ <executions>
+ <execution>
+ <id>start-glassfish</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start</goal>
+ <goal>deploy</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-glassfish</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <port>8080</port>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/jetty8/pom.xml b/test/servlet-containers/jetty8/pom.xml
new file mode 100644
index 0000000000..0337058822
--- /dev/null
+++ b/test/servlet-containers/jetty8/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-jetty8-server</artifactId>
+ <name>Vaadin Jetty 8 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <mortbay.jetty.version>8.1.16.v20140903</mortbay.jetty.version>
+ <server.name>jetty8</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!--
+ This server test is for an old, outdated version of jetty.
+ The configuration is not moved to the parent pom, since this
+ is not useful anywhere else.
+ -->
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>${mortbay.jetty.version}</version>
+ <executions>
+ <execution>
+ <id>start-jetty</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-jetty</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <webApp>
+ <contextPath>${context.path}</contextPath>
+ </webApp>
+ <stopKey>q</stopKey>
+ <stopPort>8082</stopPort>
+ <daemon>true</daemon>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/jsp-integration/pom.xml b/test/servlet-containers/jsp-integration/pom.xml
index 41eaf6cbf4..dea98e24e9 100644
--- a/test/servlet-containers/jsp-integration/pom.xml
+++ b/test/servlet-containers/jsp-integration/pom.xml
@@ -11,6 +11,10 @@
<name>vaadin-test-jsp-integration</name>
<packaging>war</packaging>
+ <properties>
+ <context.path>/</context.path>
+ </properties>
+
<dependencies>
<dependency>
diff --git a/test/servlet-containers/liberty-javaee/pom.xml b/test/servlet-containers/liberty-javaee/pom.xml
new file mode 100644
index 0000000000..f906145f44
--- /dev/null
+++ b/test/servlet-containers/liberty-javaee/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-liberty-javaee-server</artifactId>
+ <name>Vaadin Liberty JavaEE7 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <liberty.version>17.0.0.1</liberty.version>
+ <liberty.profile>wlp-javaee7</liberty.profile>
+ <server.name>liberty-javaee</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <!-- FIXME: Fix liberty to use the same port as everything else. -->
+ <deployment.url>http://localhost:9080</deployment.url>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>net.wasdev.wlp.maven.plugins</groupId>
+ <artifactId>liberty-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/liberty-microprofile/pom.xml b/test/servlet-containers/liberty-microprofile/pom.xml
new file mode 100644
index 0000000000..d8fca45c05
--- /dev/null
+++ b/test/servlet-containers/liberty-microprofile/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-liberty-microprofile-server</artifactId>
+ <name>Vaadin Liberty MicroProfile Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <liberty.version>17.0.0.1</liberty.version>
+ <liberty.profile>wlp-microProfile1</liberty.profile>
+ <server.name>liberty-microprofile</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <!-- FIXME: Fix liberty to use the same port as everything else. -->
+ <deployment.url>http://localhost:9080</deployment.url>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>net.wasdev.wlp.maven.plugins</groupId>
+ <artifactId>liberty-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/liberty-webprofile/pom.xml b/test/servlet-containers/liberty-webprofile/pom.xml
new file mode 100644
index 0000000000..6909330ca3
--- /dev/null
+++ b/test/servlet-containers/liberty-webprofile/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-liberty-webprofile-server</artifactId>
+ <name>Vaadin Liberty WebProfile Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <liberty.version>17.0.0.1</liberty.version>
+ <liberty.profile>wlp-webProfile7</liberty.profile>
+ <server.name>liberty-webprofile</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <!-- FIXME: Fix liberty to use the same port as everything else. -->
+ <deployment.url>http://localhost:9080</deployment.url>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>net.wasdev.wlp.maven.plugins</groupId>
+ <artifactId>liberty-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/payara/pom.xml b/test/servlet-containers/payara/pom.xml
new file mode 100644
index 0000000000..506fb635f9
--- /dev/null
+++ b/test/servlet-containers/payara/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-payara-server</artifactId>
+ <name>Vaadin Payara Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <payara.version>4.1.2.173</payara.version>
+ <server.name>payara</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>fish.payara.maven.plugins</groupId>
+ <artifactId>payara-micro-maven-plugin</artifactId>
+ </plugin>
+
+ <!-- Payara Micro starting time is a bit over a minute. Need to wait. -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.8</version>
+ <executions>
+ <execution>
+ <id>wait-for-server-start</id>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <target>
+ <echo message="Waiting for Payara Micro server to start" />
+ <!-- Starting time from a couple of local test runs -->
+ <sleep seconds="65" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/pom.xml b/test/servlet-containers/pom.xml
index 7727c86c4f..40f69bfa8f 100644
--- a/test/servlet-containers/pom.xml
+++ b/test/servlet-containers/pom.xml
@@ -11,6 +11,14 @@
<name>vaadin-servlet-containers-test</name>
<packaging>pom</packaging>
+ <properties>
+ <server.name>jetty9</server.name>
+ <context.path>/${project.build.finalName}</context.path>
+
+ <!-- Default reference screenshot location, relative to the module path -->
+ <reference.directory>${project.basedir}/../screenshots</reference.directory>
+ </properties>
+
<modules>
<module>generic-ui</module>
<module>generic-tests</module>
@@ -19,6 +27,7 @@
<build>
<pluginManagement>
<plugins>
+ <!-- Wildfly Configuration. Version selected with wildfly.version -->
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
@@ -31,10 +40,6 @@
<goal>start</goal>
<goal>deploy</goal>
</goals>
- <configuration>
- <!-- Context path comes from WAR deployment name -->
- <name>demo.war</name>
- </configuration>
</execution>
<execution>
<id>stop-wildfly</id>
@@ -45,12 +50,152 @@
</execution>
</executions>
</plugin>
+
+ <!-- Payara Micro Configuration. Version selected with payara.version -->
+ <plugin>
+ <groupId>fish.payara.maven.plugins</groupId>
+ <artifactId>payara-micro-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ <executions>
+ <execution>
+ <id>start-payara</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>bundle</goal>
+ <goal>start</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-payara</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <payaraVersion>${payara.version}</payaraVersion>
+ <useUberJar>true</useUberJar>
+ <daemon>true</daemon>
+ </configuration>
+ </plugin>
+
+ <!-- Glassfish Embedded Configuration. -->
+ <plugin>
+ <groupId>org.glassfish.embedded</groupId>
+ <artifactId>maven-embedded-glassfish-plugin</artifactId>
+ <version>4.1.1</version>
+ <executions>
+ <execution>
+ <id>start-glassfish</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start</goal>
+ <goal>deploy</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-glassfish</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <port>8080</port>
+ </configuration>
+ </plugin>
+
+ <!-- Generic cargo plugin configuration. Define container to use in submodule. -->
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <configuration>
+ <type>standalone</type>
+ <home>
+ ${project.build.directory}/cargo-server
+ </home>
+ <properties>
+ <cargo.servlet.port>8080</cargo.servlet.port>
+ </properties>
+ </configuration>
+ <deployables>
+ <deployable>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <type>war</type>
+ <properties>
+ <context>${context.path}</context>
+ </properties>
+ </deployable>
+ </deployables>
+ </configuration>
+ <executions>
+ <execution>
+ <id>start-cargo-server</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-cargo-server</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- WebSphere Liberty Configuration. Version and profile are configurable with liberty.version and liberty.profile -->
+ <plugin>
+ <groupId>net.wasdev.wlp.maven.plugins</groupId>
+ <artifactId>liberty-maven-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>start-liberty</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start-server</goal>
+ <goal>deploy</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop-liberty</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop-server</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <!-- FIXME: This plug-in should also use port 8080 -->
+ <appArtifact>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </appArtifact>
+ <assemblyArtifact>
+ <groupId>com.ibm.websphere.appserver.runtime</groupId>
+ <artifactId>${liberty.profile}</artifactId>
+ <version>${liberty.version}</version>
+ <type>zip</type>
+ </assemblyArtifact>
+ </configuration>
+ </plugin>
+
+ <!-- Jetty Configuration. Version selected with jetty.version -->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<webApp>
- <contextPath>/demo</contextPath>
+ <contextPath>${context.path}</contextPath>
</webApp>
</configuration>
</plugin>
@@ -74,6 +219,9 @@
<dependenciesToScan>
<dependency>${project.groupId}:vaadin-test-server-tests</dependency>
</dependenciesToScan>
+ <systemPropertyVariables>
+ <deployment.context.path>${context.path}</deployment.context.path>
+ </systemPropertyVariables>
</configuration>
</plugin>
</plugins>
@@ -91,11 +239,23 @@
<module>karaf</module>
<module>wildfly10</module>
<module>wildfly9</module>
+ <module>wildfly8</module>
+ <module>jetty8</module>
<module>jetty9</module>
+ <module>payara</module>
+ <module>glassfish</module>
+ <!-- TODO: Payara 5 and Glassfish 5 -->
+ <module>tomcat7</module>
+ <module>tomcat80</module>
+ <module>tomcat85</module>
+ <module>tomcat9</module>
+ <module>liberty-javaee</module>
+ <module>liberty-webprofile</module>
+ <module>liberty-microprofile</module>
</modules>
</profile>
- <!-- TODO Remove this when the ant build is no longer used. -->
<profile>
+ <!-- TODO Remove this when the ant build is no longer used. -->
<id>ant-test</id>
<modules>
<module>generic</module>
@@ -106,12 +266,38 @@
<modules>
<module>wildfly10</module>
<module>wildfly9</module>
+ <module>wildfly8</module>
</modules>
</profile>
<profile>
<id>jetty</id>
<modules>
<module>jetty9</module>
+ <module>jetty8</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>liberty</id>
+ <modules>
+ <module>liberty-webprofile</module>
+ <module>liberty-javaee</module>
+ <module>liberty-microprofile</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>glassfish</id>
+ <modules>
+ <module>glassfish</module>
+ <module>payara</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>tomcat</id>
+ <modules>
+ <module>tomcat7</module>
+ <module>tomcat80</module>
+ <module>tomcat85</module>
+ <module>tomcat9</module>
</modules>
</profile>
</profiles>
diff --git a/test/servlet-containers/tomcat7/pom.xml b/test/servlet-containers/tomcat7/pom.xml
new file mode 100644
index 0000000000..b14b01741b
--- /dev/null
+++ b/test/servlet-containers/tomcat7/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-tomcat7-server</artifactId>
+ <name>Vaadin Tomcat 7 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <tomcat.version>7.0.82</tomcat.version>
+ <server.name>tomcat7</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <container>
+ <containerId>tomcat7x</containerId>
+ <artifactInstaller>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat</artifactId>
+ <version>${tomcat.version}</version>
+ </artifactInstaller>
+ </container>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/tomcat80/pom.xml b/test/servlet-containers/tomcat80/pom.xml
new file mode 100644
index 0000000000..2a7d726441
--- /dev/null
+++ b/test/servlet-containers/tomcat80/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-tomcat80-server</artifactId>
+ <name>Vaadin Tomcat 8.0 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <tomcat.version>8.0.47</tomcat.version>
+ <server.name>tomcat8.0</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <container>
+ <containerId>tomcat8x</containerId>
+ <artifactInstaller>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat</artifactId>
+ <version>${tomcat.version}</version>
+ </artifactInstaller>
+ </container>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/tomcat85/pom.xml b/test/servlet-containers/tomcat85/pom.xml
new file mode 100644
index 0000000000..d061839a56
--- /dev/null
+++ b/test/servlet-containers/tomcat85/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-tomcat85-server</artifactId>
+ <name>Vaadin Tomcat 8.5 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <tomcat.version>8.5.23</tomcat.version>
+ <server.name>tomcat8.5</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <container>
+ <containerId>tomcat8x</containerId>
+ <artifactInstaller>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat</artifactId>
+ <version>${tomcat.version}</version>
+ </artifactInstaller>
+ </container>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/tomcat9/pom.xml b/test/servlet-containers/tomcat9/pom.xml
new file mode 100644
index 0000000000..626578fe6d
--- /dev/null
+++ b/test/servlet-containers/tomcat9/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-tomcat9-server</artifactId>
+ <name>Vaadin Tomcat 9 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <tomcat.version>9.0.1</tomcat.version>
+ <server.name>tomcat9</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <container>
+ <containerId>tomcat9x</containerId>
+ <artifactInstaller>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat</artifactId>
+ <version>${tomcat.version}</version>
+ </artifactInstaller>
+ </container>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/servlet-containers/wildfly8/pom.xml b/test/servlet-containers/wildfly8/pom.xml
new file mode 100644
index 0000000000..4ca3bd07cd
--- /dev/null
+++ b/test/servlet-containers/wildfly8/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-servlet-containers-test</artifactId>
+ <version>8.2-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-test-wildfly8-server</artifactId>
+ <name>Vaadin Wildfly 8 Test</name>
+ <packaging>war</packaging>
+ <properties>
+ <jetty.skip>true</jetty.skip>
+ <wildfly.version>8.2.1.Final</wildfly.version>
+ <server.name>wildfly8</server.name>
+ </properties>
+
+ <dependencies>
+ <!-- UI classes and tests from dependencies -->
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-test-server-tests</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Server configuration -->
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>