From 886a837d6d16216606dcb564c5450e1b6bf136d3 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Mon, 9 Jan 2017 13:41:30 +0200 Subject: Fix vaadin-test and all its submodules (#8076) This patch applies following fixes: * ContextMenu with correct version for Vaadin 8 * Correctly skip install plugin for test submodules * Make widgetset-test-util a test depdendency, don't use test-jar * Fix vaadin-test project structure and dependencies * Clean up testutil pom * Add README.md --- test/README.md | 5 ++ test/addon-using-init-param-widget-set/pom.xml | 14 +--- .../AddonUsingInitParamWidgetSetUI.java | 2 +- .../AddonUsingInitParamWidgetSetIT.java | 2 +- test/addon-using-no-defined-widget-set/pom.xml | 11 +-- .../AddonUsingNoDefinedWidgetSetUI.java | 2 +- test/addon-using-own-widget-set/pom.xml | 13 +-- .../AddonUsingOwnWidgetSetUI.java | 2 +- .../AddonUsingOwnWidgetSet.gwt.xml | 2 +- test/default-widget-set/pom.xml | 9 -- test/own-widget-set/pom.xml | 11 +-- .../vaadin/test/ownwidgetset/OwnWidgetSet.gwt.xml | 5 ++ test/pom.xml | 97 ++++++++++++---------- test/space in directory/pom.xml | 9 +- test/vaadinservletconfiguration-widget-set/pom.xml | 9 +- test/widget-set-testutil/pom.xml | 47 ++++++----- .../test/defaultwidgetset/AbstractWidgetSetIT.java | 85 +++++++++++++++++++ .../test/defaultwidgetset/AbstractWidgetSetIT.java | 85 ------------------- 18 files changed, 189 insertions(+), 221 deletions(-) create mode 100644 test/README.md create mode 100644 test/own-widget-set/src/main/resources/com/vaadin/test/ownwidgetset/OwnWidgetSet.gwt.xml create mode 100644 test/widget-set-testutil/src/main/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java delete mode 100644 test/widget-set-testutil/src/test/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java (limited to 'test') diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000000..ca9e61c57c --- /dev/null +++ b/test/README.md @@ -0,0 +1,5 @@ +This is a test project to verify the basic functionality of various related plugins and addons. + +To validate a given Vaadin Version, run `mvn clean verify -Dvaadin.version=VERSIONNUMBER` + +Note that `mvn clean install` needs to be executed in the top-level test project or in the widget-set-testutil subproject before running tests for any individual submodule. diff --git a/test/addon-using-init-param-widget-set/pom.xml b/test/addon-using-init-param-widget-set/pom.xml index 79939e6b1b..abae3e8347 100644 --- a/test/addon-using-init-param-widget-set/pom.xml +++ b/test/addon-using-init-param-widget-set/pom.xml @@ -14,25 +14,16 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} - - - com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test - com.vaadin.addon + com.vaadin vaadin-context-menu - 0.7.4 + ${contextmenu.version} com.vaadin vaadin-client-compiled - ${project.version} @@ -42,6 +33,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} diff --git a/test/addon-using-init-param-widget-set/src/main/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetUI.java b/test/addon-using-init-param-widget-set/src/main/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetUI.java index 41a240e006..06324af3ca 100644 --- a/test/addon-using-init-param-widget-set/src/main/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetUI.java +++ b/test/addon-using-init-param-widget-set/src/main/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetUI.java @@ -3,8 +3,8 @@ package com.vaadin.test.addonusinginitparamwidgetset; import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; -import com.vaadin.addon.contextmenu.ContextMenu; import com.vaadin.annotations.VaadinServletConfiguration; +import com.vaadin.contextmenu.ContextMenu; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinServlet; import com.vaadin.test.widgetset.AbstractTestWidgetSetUI; diff --git a/test/addon-using-init-param-widget-set/src/test/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetIT.java b/test/addon-using-init-param-widget-set/src/test/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetIT.java index 11f0d74ce2..7badc066c9 100644 --- a/test/addon-using-init-param-widget-set/src/test/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetIT.java +++ b/test/addon-using-init-param-widget-set/src/test/java/com/vaadin/test/addonusinginitparamwidgetset/AddonUsingInitParamWidgetSetIT.java @@ -10,7 +10,7 @@ public class AddonUsingInitParamWidgetSetIT extends AbstractWidgetSetIT { public void appStartsUserCanInteract() { testAppStartsUserCanInteract("com.vaadin.DefaultWidgetSet", true); assertHasDebugMessage( - "does not contain an implementation for com.vaadin.addon.contextmenu.ContextMenu"); + "does not contain an implementation for com.vaadin.contextmenu.ContextMenu"); } } \ No newline at end of file diff --git a/test/addon-using-no-defined-widget-set/pom.xml b/test/addon-using-no-defined-widget-set/pom.xml index 97178f94f8..231c8af5d8 100644 --- a/test/addon-using-no-defined-widget-set/pom.xml +++ b/test/addon-using-no-defined-widget-set/pom.xml @@ -14,19 +14,11 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test - - - com.vaadin.addon vaadin-context-menu - 0.7.4 + ${contextmenu.version} @@ -36,6 +28,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} diff --git a/test/addon-using-no-defined-widget-set/src/main/java/com/vaadin/test/addonusingnodefinedwidgetset/AddonUsingNoDefinedWidgetSetUI.java b/test/addon-using-no-defined-widget-set/src/main/java/com/vaadin/test/addonusingnodefinedwidgetset/AddonUsingNoDefinedWidgetSetUI.java index 1893bb46e1..581639a047 100644 --- a/test/addon-using-no-defined-widget-set/src/main/java/com/vaadin/test/addonusingnodefinedwidgetset/AddonUsingNoDefinedWidgetSetUI.java +++ b/test/addon-using-no-defined-widget-set/src/main/java/com/vaadin/test/addonusingnodefinedwidgetset/AddonUsingNoDefinedWidgetSetUI.java @@ -2,8 +2,8 @@ package com.vaadin.test.addonusingnodefinedwidgetset; import javax.servlet.annotation.WebServlet; -import com.vaadin.addon.contextmenu.ContextMenu; import com.vaadin.annotations.VaadinServletConfiguration; +import com.vaadin.contextmenu.ContextMenu; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinServlet; import com.vaadin.test.widgetset.AbstractTestWidgetSetUI; diff --git a/test/addon-using-own-widget-set/pom.xml b/test/addon-using-own-widget-set/pom.xml index fc52e47f4f..de1014b964 100644 --- a/test/addon-using-own-widget-set/pom.xml +++ b/test/addon-using-own-widget-set/pom.xml @@ -14,19 +14,11 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test - - - com.vaadin.addon vaadin-context-menu - 0.7.4 + ${contextmenu.version} @@ -36,6 +28,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} @@ -49,4 +42,4 @@ - \ No newline at end of file + diff --git a/test/addon-using-own-widget-set/src/main/java/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSetUI.java b/test/addon-using-own-widget-set/src/main/java/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSetUI.java index 15efad2295..65a62bb8cb 100644 --- a/test/addon-using-own-widget-set/src/main/java/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSetUI.java +++ b/test/addon-using-own-widget-set/src/main/java/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSetUI.java @@ -2,9 +2,9 @@ package com.vaadin.test.addonusingownwidgetset; import javax.servlet.annotation.WebServlet; -import com.vaadin.addon.contextmenu.ContextMenu; import com.vaadin.annotations.VaadinServletConfiguration; import com.vaadin.annotations.Widgetset; +import com.vaadin.contextmenu.ContextMenu; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinServlet; import com.vaadin.test.widgetset.AbstractTestWidgetSetUI; diff --git a/test/addon-using-own-widget-set/src/main/resources/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSet.gwt.xml b/test/addon-using-own-widget-set/src/main/resources/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSet.gwt.xml index 26be42e65b..f4c197b138 100644 --- a/test/addon-using-own-widget-set/src/main/resources/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSet.gwt.xml +++ b/test/addon-using-own-widget-set/src/main/resources/com/vaadin/test/addonusingownwidgetset/AddonUsingOwnWidgetSet.gwt.xml @@ -3,5 +3,5 @@ - + diff --git a/test/default-widget-set/pom.xml b/test/default-widget-set/pom.xml index 68ee894911..062f14e0d0 100644 --- a/test/default-widget-set/pom.xml +++ b/test/default-widget-set/pom.xml @@ -14,14 +14,6 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} - - - com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test com.vaadin @@ -30,5 +22,4 @@ - \ No newline at end of file diff --git a/test/own-widget-set/pom.xml b/test/own-widget-set/pom.xml index 6ce65c868f..e6fd8f2907 100644 --- a/test/own-widget-set/pom.xml +++ b/test/own-widget-set/pom.xml @@ -14,14 +14,6 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} - - - com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test @@ -29,6 +21,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} @@ -42,4 +35,4 @@ - \ No newline at end of file + diff --git a/test/own-widget-set/src/main/resources/com/vaadin/test/ownwidgetset/OwnWidgetSet.gwt.xml b/test/own-widget-set/src/main/resources/com/vaadin/test/ownwidgetset/OwnWidgetSet.gwt.xml new file mode 100644 index 0000000000..ab3ae019c4 --- /dev/null +++ b/test/own-widget-set/src/main/resources/com/vaadin/test/ownwidgetset/OwnWidgetSet.gwt.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/test/pom.xml b/test/pom.xml index 622699b64f..587e879802 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -14,7 +14,9 @@ 9.3.7.v20160115 2.1.1 8.0-SNAPSHOT + ${vaadin.version} false + 2.0-SNAPSHOT true @@ -35,6 +37,11 @@ pom import + + com.vaadin + vaadin-test-widget-set-testutil + ${project.version} + @@ -46,7 +53,7 @@ javax.servlet-api 3.0.1 - + com.vaadin @@ -85,6 +92,50 @@ + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + com.github.klieber + + + phantomjs-maven-plugin + + + [0.7,) + + + install + + + + + + + + + + + + maven-install-plugin + 2.5.1 + + true + + + + + org.eclipse.jetty @@ -151,50 +202,6 @@ - - - maven-install-plugin - 2.5.2 - - true - - - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - - com.github.klieber - - - phantomjs-maven-plugin - - - [0.7,) - - - install - - - - - - - - - - - - diff --git a/test/space in directory/pom.xml b/test/space in directory/pom.xml index 65c3574ead..9d3b8dff0c 100644 --- a/test/space in directory/pom.xml +++ b/test/space in directory/pom.xml @@ -13,14 +13,6 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} - - - com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test @@ -28,6 +20,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} diff --git a/test/vaadinservletconfiguration-widget-set/pom.xml b/test/vaadinservletconfiguration-widget-set/pom.xml index 96a9a94d7f..336f0a1ddc 100644 --- a/test/vaadinservletconfiguration-widget-set/pom.xml +++ b/test/vaadinservletconfiguration-widget-set/pom.xml @@ -14,14 +14,6 @@ com.vaadin vaadin-test-widget-set-testutil - ${project.version} - - - com.vaadin - vaadin-test-widget-set-testutil - ${project.version} - test-jar - test @@ -29,6 +21,7 @@ com.vaadin vaadin-maven-plugin + ${vaadin.plugin.version} diff --git a/test/widget-set-testutil/pom.xml b/test/widget-set-testutil/pom.xml index 3dcc6db865..0a81446a54 100644 --- a/test/widget-set-testutil/pom.xml +++ b/test/widget-set-testutil/pom.xml @@ -2,31 +2,34 @@ 4.0.0 - - com.vaadin - vaadin-test - 8.0-SNAPSHOT - + com.vaadin vaadin-test-widget-set-testutil + 8.0-SNAPSHOT jar + + 8.0-SNAPSHOT + + + + com.vaadin + vaadin-server + ${vaadin.version} + provided + + + com.vaadin + vaadin-testbench-api + ${vaadin.version} + provided + + + junit + junit + 4.12 + provided + - - - - org.apache.maven.plugins - maven-jar-plugin - - - - test-jar - - - - - - - - \ No newline at end of file + diff --git a/test/widget-set-testutil/src/main/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java b/test/widget-set-testutil/src/main/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java new file mode 100644 index 0000000000..c6d4f1756b --- /dev/null +++ b/test/widget-set-testutil/src/main/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java @@ -0,0 +1,85 @@ +package com.vaadin.test.defaultwidgetset; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.phantomjs.PhantomJSDriver; + +import com.vaadin.testbench.ScreenshotOnFailureRule; +import com.vaadin.testbench.TestBenchTestCase; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.LabelElement; +import com.vaadin.testbench.elements.TextFieldElement; + +public abstract class AbstractWidgetSetIT extends TestBenchTestCase { + + @Rule + public ScreenshotOnFailureRule rule = new ScreenshotOnFailureRule(this, + true); + + @Before + public void setup() { + // Screenshot rule tears down the driver + setDriver(new PhantomJSDriver()); + } + + protected void testAppStartsUserCanInteract(String expectedWidgetSet) { + testAppStartsUserCanInteract(expectedWidgetSet, false); + } + + protected void testAppStartsUserCanInteract(String expectedWidgetSet, + boolean debug) { + String url = "http://localhost:8080"; + if (debug) { + url += "?debug"; + } + getDriver().get(url); + + TextFieldElement nameInput = $(TextFieldElement.class).first(); + nameInput.setValue("John Dåe"); + + $(ButtonElement.class).first().click(); + + Assert.assertEquals("Label shown", 2, + $(LabelElement.class).all().size()); + + Assert.assertEquals("Thanks John Dåe, it works!", + $(LabelElement.class).get(1).getText()); + + Assert.assertEquals(expectedWidgetSet, + findElement(By.id("widgetsetinfo")).getText()); + + } + + protected void assertNoUnknownComponentShown() { + Assert.assertEquals(0, + findElements(By.className("vaadin-unknown-caption")).size()); + } + + protected void assertUnknownComponentShown(String componentClass) { + WebElement unknownComponentCaption = findElement( + By.className("vaadin-unknown-caption")); + Assert.assertTrue(unknownComponentCaption.getText().contains( + "does not contain implementation for " + componentClass)); + } + + protected void assertHasDebugMessage(String message) { + List elements = getDriver().findElements( + By.xpath("//span[@class='v-debugwindow-message']")); + boolean found = false; + for (WebElement element : elements) { + if (element.getText().contains(message)) { + found = true; + break; + } + } + Assert.assertTrue( + "Cannot find debug message containing '" + message + "'", + found); + } + +} diff --git a/test/widget-set-testutil/src/test/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java b/test/widget-set-testutil/src/test/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java deleted file mode 100644 index c6d4f1756b..0000000000 --- a/test/widget-set-testutil/src/test/java/com/vaadin/test/defaultwidgetset/AbstractWidgetSetIT.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.vaadin.test.defaultwidgetset; - -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.openqa.selenium.By; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.phantomjs.PhantomJSDriver; - -import com.vaadin.testbench.ScreenshotOnFailureRule; -import com.vaadin.testbench.TestBenchTestCase; -import com.vaadin.testbench.elements.ButtonElement; -import com.vaadin.testbench.elements.LabelElement; -import com.vaadin.testbench.elements.TextFieldElement; - -public abstract class AbstractWidgetSetIT extends TestBenchTestCase { - - @Rule - public ScreenshotOnFailureRule rule = new ScreenshotOnFailureRule(this, - true); - - @Before - public void setup() { - // Screenshot rule tears down the driver - setDriver(new PhantomJSDriver()); - } - - protected void testAppStartsUserCanInteract(String expectedWidgetSet) { - testAppStartsUserCanInteract(expectedWidgetSet, false); - } - - protected void testAppStartsUserCanInteract(String expectedWidgetSet, - boolean debug) { - String url = "http://localhost:8080"; - if (debug) { - url += "?debug"; - } - getDriver().get(url); - - TextFieldElement nameInput = $(TextFieldElement.class).first(); - nameInput.setValue("John Dåe"); - - $(ButtonElement.class).first().click(); - - Assert.assertEquals("Label shown", 2, - $(LabelElement.class).all().size()); - - Assert.assertEquals("Thanks John Dåe, it works!", - $(LabelElement.class).get(1).getText()); - - Assert.assertEquals(expectedWidgetSet, - findElement(By.id("widgetsetinfo")).getText()); - - } - - protected void assertNoUnknownComponentShown() { - Assert.assertEquals(0, - findElements(By.className("vaadin-unknown-caption")).size()); - } - - protected void assertUnknownComponentShown(String componentClass) { - WebElement unknownComponentCaption = findElement( - By.className("vaadin-unknown-caption")); - Assert.assertTrue(unknownComponentCaption.getText().contains( - "does not contain implementation for " + componentClass)); - } - - protected void assertHasDebugMessage(String message) { - List elements = getDriver().findElements( - By.xpath("//span[@class='v-debugwindow-message']")); - boolean found = false; - for (WebElement element : elements) { - if (element.getText().contains(message)) { - found = true; - break; - } - } - Assert.assertTrue( - "Cannot find debug message containing '" + message + "'", - found); - } - -} -- cgit v1.2.3