summaryrefslogtreecommitdiffstats
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
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).
-rw-r--r--test/pom.xml6
-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
18 files changed, 871 insertions, 21 deletions
diff --git a/test/pom.xml b/test/pom.xml
index 57b0143a80..f9b5a2e473 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -24,12 +24,6 @@
<!-- Allow installing for local testing purposes -->
<install.skip>true</install.skip>
-
- <!-- Default server.name is "jetty", used in server tests -->
- <server.name>jetty</server.name>
-
- <!-- Default reference screenshot location, relative to the module path -->
- <reference.directory>${project.basedir}/../screenshots</reference.directory>
</properties>
<repositories>
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>
662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884