From 904fea9f59c54e612aac05ae347126c618fe695d Mon Sep 17 00:00:00 2001 From: Rastislav Wagner Date: Wed, 7 Oct 2015 14:05:39 +0200 Subject: [PATCH] Setting Maven user settings as a part of IBeforeTest can be disabled and configured --- .../META-INF/MANIFEST.MF | 2 +- .../org.jboss.tools.maven.reddeer}/plugin.xml | 2 +- .../test/impl/SetMavenUserSettings.java | 55 +++++++++++++++++++ .../preferences/MavenUserPreferencePage.java | 6 +- .../build.properties | 3 +- .../org.jboss.tools.maven.ui.bot.test/pom.xml | 3 +- .../bot/test/profile/MavenProfilesTest.java | 3 +- .../test/sourcelookup/SourceLookupTest.java | 3 +- .../bot/test/utils/SetMavenUserSettings.java | 42 -------------- .../ui/bot/test/TicketMonsterBaseTest.java | 3 +- .../Chapter8CreateJavaEE6ProjectTest.java | 3 +- 11 files changed, 68 insertions(+), 57 deletions(-) rename {tests/org.jboss.tools.maven.ui.bot.test => plugins/org.jboss.tools.maven.reddeer}/plugin.xml (59%) create mode 100644 plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/junit/extensions/before/test/impl/SetMavenUserSettings.java delete mode 100644 tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/utils/SetMavenUserSettings.java diff --git a/plugins/org.jboss.tools.maven.reddeer/META-INF/MANIFEST.MF b/plugins/org.jboss.tools.maven.reddeer/META-INF/MANIFEST.MF index 0942ef13c0..ff618cd62c 100644 --- a/plugins/org.jboss.tools.maven.reddeer/META-INF/MANIFEST.MF +++ b/plugins/org.jboss.tools.maven.reddeer/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Maven Reddeer -Bundle-SymbolicName: org.jboss.tools.maven.reddeer +Bundle-SymbolicName: org.jboss.tools.maven.reddeer;singleton:=true Bundle-Version: 4.4.0.qualifier Bundle-Activator: org.jboss.tools.maven.reddeer.Activator Require-Bundle: org.jboss.reddeer.go;bundle-version="1.0.0", diff --git a/tests/org.jboss.tools.maven.ui.bot.test/plugin.xml b/plugins/org.jboss.tools.maven.reddeer/plugin.xml similarity index 59% rename from tests/org.jboss.tools.maven.ui.bot.test/plugin.xml rename to plugins/org.jboss.tools.maven.reddeer/plugin.xml index ceb3d31459..9baba74f6b 100644 --- a/tests/org.jboss.tools.maven.ui.bot.test/plugin.xml +++ b/plugins/org.jboss.tools.maven.reddeer/plugin.xml @@ -2,6 +2,6 @@ - + diff --git a/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/junit/extensions/before/test/impl/SetMavenUserSettings.java b/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/junit/extensions/before/test/impl/SetMavenUserSettings.java new file mode 100644 index 0000000000..5196bf6f1e --- /dev/null +++ b/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/junit/extensions/before/test/impl/SetMavenUserSettings.java @@ -0,0 +1,55 @@ +package org.jboss.tools.maven.reddeer.junit.extensions.before.test.impl; + +import java.io.File; + +import org.jboss.reddeer.common.exception.RedDeerException; +import org.jboss.reddeer.common.logging.Logger; +import org.jboss.reddeer.junit.extensionpoint.IBeforeTest; +import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; +import org.jboss.tools.maven.reddeer.preferences.MavenUserPreferencePage; + +/** + * This extensions sets defined Maven settings.xml in Maven -> User Settings property page + * + * available properties: + * maven.settings.path - path to settings.xml which should be set. If this property is not set this class wont run + * @author rawagner + * + */ +public class SetMavenUserSettings implements IBeforeTest { + + private static final Logger log = Logger.getLogger(SetMavenUserSettings.class); + + @Override + public void runBeforeTest() { + setUserSettings(getMavenSettingsPath()); + + } + + @Override + public boolean hasToRun() { + return System.getProperty("maven.settings.path") != null; + } + + private String getMavenSettingsPath(){ + File userSettings = new File(System.getProperty("maven.settings.path")); + if(!userSettings.exists()){ + log.warn("Maven settings.xml does not exist"); + } + return userSettings.getAbsolutePath(); + } + + private void setUserSettings(String mavenSettingsPath){ + log.debug("Setting maven user settings to "+mavenSettingsPath); + WorkbenchPreferenceDialog preferenceDialog = new WorkbenchPreferenceDialog(); + preferenceDialog.open(); + MavenUserPreferencePage mpreferences = new MavenUserPreferencePage(); + preferenceDialog.select(mpreferences); + if(!mpreferences.getUserSettings().equals(mavenSettingsPath)){ + mpreferences.setUserSettings(mavenSettingsPath); + mpreferences.apply(); + } + preferenceDialog.ok(); + } + +} diff --git a/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/preferences/MavenUserPreferencePage.java b/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/preferences/MavenUserPreferencePage.java index 66fc017f93..2ed6494d41 100644 --- a/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/preferences/MavenUserPreferencePage.java +++ b/plugins/org.jboss.tools.maven.reddeer/src/org/jboss/tools/maven/reddeer/preferences/MavenUserPreferencePage.java @@ -62,17 +62,15 @@ public String getUserSettings(){ return text.getMessage(); } - public void ok(){ + public void apply(){ new PushButton("Apply").click(); try{ new DefaultShell("Update project required"); new PushButton("Yes").click(); new DefaultShell("Preferences"); + new WaitWhile(new JobIsRunning(),TimePeriod.VERY_LONG); } catch(SWTLayerException ex){ log.info("Update project required shell was not found."); - } finally { - new WaitWhile(new JobIsRunning(),TimePeriod.VERY_LONG); - new WorkbenchPreferenceDialog().ok(); } } } diff --git a/tests/org.jboss.tools.maven.ui.bot.test/build.properties b/tests/org.jboss.tools.maven.ui.bot.test/build.properties index 6f20375d6c..41eb6ade2b 100644 --- a/tests/org.jboss.tools.maven.ui.bot.test/build.properties +++ b/tests/org.jboss.tools.maven.ui.bot.test/build.properties @@ -1,5 +1,4 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ - .,\ - plugin.xml + . diff --git a/tests/org.jboss.tools.maven.ui.bot.test/pom.xml b/tests/org.jboss.tools.maven.ui.bot.test/pom.xml index ff53ec5413..54a64ee488 100644 --- a/tests/org.jboss.tools.maven.ui.bot.test/pom.xml +++ b/tests/org.jboss.tools.maven.ui.bot.test/pom.xml @@ -12,11 +12,10 @@ eclipse-test-plugin - ${integrationTestsSystemProperties} -Djbosstools.test.seam.2.1.0.home=${requirementsDirectory}/jboss-seam-2.1.2 -Djbosstools.test.seam.2.3.0.home=${requirementsDirectory}/jboss-seam-2.3.0.Final -Djbosstools.test.seam.2.2.0.home=${requirementsDirectory}/jboss-seam-2.2.0.GA -Dproject.build.directory=${project.build.directory} -Djbosstools.test.wildfly8.home=${jbosstools.test.wildfly8.home} -Dreddeer.config=target/classes/servers + ${integrationTestsSystemProperties} -Djbosstools.test.seam.2.1.0.home=${requirementsDirectory}/jboss-seam-2.1.2 -Djbosstools.test.seam.2.3.0.home=${requirementsDirectory}/jboss-seam-2.3.0.Final -Djbosstools.test.seam.2.2.0.home=${requirementsDirectory}/jboss-seam-2.2.0.GA -Dproject.build.directory=${project.build.directory} -Djbosstools.test.wildfly8.home=${jbosstools.test.wildfly8.home} -Dreddeer.config=target/classes/servers -Dmaven.settings.path=target/classes/settings.xml ${requirementsDirectory}/wildfly-8.1.0.Final 14400 - diff --git a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/profile/MavenProfilesTest.java b/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/profile/MavenProfilesTest.java index e29086ee97..0ef79abd9f 100644 --- a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/profile/MavenProfilesTest.java +++ b/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/profile/MavenProfilesTest.java @@ -82,7 +82,8 @@ public static void setup() throws IOException { MavenUserPreferencePage mu = new MavenUserPreferencePage(); preferenceDialog.select(mu); mu.setUserSettings(new File("resources/usersettings/settings.xml").getCanonicalPath()); - mu.ok(); + mu.apply(); + preferenceDialog.ok(); importMavenProject("resources/projects/simple-jar/pom.xml"); importMavenProject("resources/projects/simple-jar1/pom.xml"); importMavenProject("resources/projects/simple-jar2/pom.xml"); diff --git a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/sourcelookup/SourceLookupTest.java b/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/sourcelookup/SourceLookupTest.java index d1497958f5..90da30f62b 100644 --- a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/sourcelookup/SourceLookupTest.java +++ b/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/sourcelookup/SourceLookupTest.java @@ -53,7 +53,8 @@ public void setupSettings(){ MavenUserPreferencePage mpreferences = new MavenUserPreferencePage(); preferenceDialog.select(mpreferences); mpreferences.setUserSettings(new File("target/classes/settings"+TEST_NUMBER+".xml").getAbsolutePath()); - mpreferences.ok(); + mpreferences.apply(); + preferenceDialog.ok(); TEST_NUMBER=1; } diff --git a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/utils/SetMavenUserSettings.java b/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/utils/SetMavenUserSettings.java deleted file mode 100644 index ce23bc8c60..0000000000 --- a/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/utils/SetMavenUserSettings.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.jboss.tools.maven.ui.bot.test.utils; - -import java.io.File; - -import org.jboss.reddeer.common.logging.Logger; -import org.jboss.reddeer.junit.extensionpoint.IBeforeTest; -import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; -import org.jboss.tools.maven.reddeer.preferences.MavenUserPreferencePage; - -public class SetMavenUserSettings implements IBeforeTest { - - private static final Logger log = Logger.getLogger(SetMavenUserSettings.class); - public static final String USER_SETTINGS = new File("target/classes/settings.xml").getAbsolutePath(); - - @Override - public void runBeforeTest() { - if (hasToRun()) { - setUserSettings(); - } - - } - - @Override - public boolean hasToRun() { - return true; - } - - private void setUserSettings(){ - log.debug("Setting maven user settings to "+USER_SETTINGS); - WorkbenchPreferenceDialog preferenceDialog = new WorkbenchPreferenceDialog(); - preferenceDialog.open(); - MavenUserPreferencePage mpreferences = new MavenUserPreferencePage(); - preferenceDialog.select(mpreferences); - if(!mpreferences.getUserSettings().equals(USER_SETTINGS)){ - mpreferences.setUserSettings(USER_SETTINGS); - mpreferences.ok(); - } else { - preferenceDialog.ok(); - } - } - -} diff --git a/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/TicketMonsterBaseTest.java b/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/TicketMonsterBaseTest.java index 6fcf5aae33..a25a2b55b0 100644 --- a/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/TicketMonsterBaseTest.java +++ b/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/TicketMonsterBaseTest.java @@ -111,7 +111,8 @@ public static void beforeClass(){ MavenUserPreferencePage mpreferences = new MavenUserPreferencePage(); preferenceDialog.select(mpreferences); mpreferences.setUserSettings(new File(USER_SETTINGS).getAbsolutePath()); - mpreferences.ok(); + mpreferences.apply(); + preferenceDialog.ok(); } public void createTicketMonsterEAP6(){ diff --git a/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/part2/Chapter8CreateJavaEE6ProjectTest.java b/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/part2/Chapter8CreateJavaEE6ProjectTest.java index 7a292321ac..edd4b20ae7 100644 --- a/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/part2/Chapter8CreateJavaEE6ProjectTest.java +++ b/tests/org.jboss.tools.usercase.ticketmonster.ui.bot.test/src/org/jboss/tools/usercase/ticketmonster/ui/bot/test/part2/Chapter8CreateJavaEE6ProjectTest.java @@ -53,8 +53,7 @@ public void setMavenUserSettings(){ preferenceDialog.select(mpreferences); String path = new File("target/classes/settings"+testNumber+".xml").getAbsolutePath(); mpreferences.setUserSettings(path); - mpreferences.ok(); - preferenceDialog.open(); + mpreferences.apply(); ConfiguratorPreferencePage pp = new ConfiguratorPreferencePage(); preferenceDialog.select(pp); ConfigureMavenRepositoriesWizard cw = pp.configureRepositories();