From 38d5d7336698cedc28715a17f916a3fb4c9191a6 Mon Sep 17 00:00:00 2001 From: Ciprian Ciubotariu Date: Mon, 4 Jan 2016 02:43:58 +0200 Subject: [PATCH] Use mvn properties instead of propfile for the winrm test system Route maven properties as system properties via maven-surefire-plugin into the wsman/winrm tests. Disable usage of config.properties file for the time being. --- README.md | 12 ++++++ pom.xml | 9 +++++ .../setupWinRM.bat => setupWinRM.bat | 0 wsman-cli/pom.xml | 11 ++++++ .../wsman/cli/SyspropsWinRMFixture.java | 37 ++++++++----------- .../org/apifocal/wsman/cli/TestWsman.java | 30 +++++++-------- 6 files changed, 63 insertions(+), 36 deletions(-) rename wsman-cli/src/test/resources/setupWinRM.bat => setupWinRM.bat (100%) diff --git a/README.md b/README.md index 3752123..d25e58f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # wsman4j WS-Management java binding + +# Running tests + +Set up the appropriate WinRM test system by running setupWinRM.bat on it. +Run maven using the appropriate properties to reach the WinRM test system + + mvn -Dwinrm.test.host=test-host \ + -Dwinrm.test.user=TestUser \ + -Dwinrm.test.pass=somePass \ + test + +TODO: don't use passwords on command-line etc diff --git a/pom.xml b/pom.xml index 3c84c3a..da33a6a 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,11 @@ 1.7 3.1.4 + + localhost + 5985 + Administrator + 1234 @@ -38,6 +43,10 @@ + + maven-surefire-plugin + 2.19 + maven-jar-plugin 2.6 diff --git a/wsman-cli/src/test/resources/setupWinRM.bat b/setupWinRM.bat similarity index 100% rename from wsman-cli/src/test/resources/setupWinRM.bat rename to setupWinRM.bat diff --git a/wsman-cli/pom.xml b/wsman-cli/pom.xml index 1df18db..921409e 100644 --- a/wsman-cli/pom.xml +++ b/wsman-cli/pom.xml @@ -89,6 +89,17 @@ + + maven-surefire-plugin + + + ${winrm.test.host} + ${winrm.test.port} + ${winrm.test.user} + ${winrm.test.pass} + + + diff --git a/wsman-cli/src/test/java/org/apifocal/wsman/cli/SyspropsWinRMFixture.java b/wsman-cli/src/test/java/org/apifocal/wsman/cli/SyspropsWinRMFixture.java index 667d206..bac020a 100644 --- a/wsman-cli/src/test/java/org/apifocal/wsman/cli/SyspropsWinRMFixture.java +++ b/wsman-cli/src/test/java/org/apifocal/wsman/cli/SyspropsWinRMFixture.java @@ -31,21 +31,16 @@ * </properties> * ...... * <plugin> - * <groupId>org.apache.maven.plugins</groupId> - * <artifactId>maven-surefire-plugin</artifactId> - * <configuration> - * <systemProperties> - * <property> - * <name>winrm.host</name> - * <value>${winrm.host}</value> - * </property> - * <property> - * <name>winrm.port</name> - * <value>${winrm.port}</value> - * </property> - * ...... - * </systemProperties> - * </configuration> + * <groupId>org.apache.maven.plugins</groupId> + * <artifactId>maven-surefire-plugin</artifactId> + * <configuration> + * <systemPropertyVariables> + * <winrm.host>${winrm.test.host}</winrm.host> + * <winrm.port>${winrm.test.port}</winrm.port> + * <winrm.user>${winrm.test.user}</winrm.user> + * <winrm.pass>${winrm.test.pass}</winrm.pass> + * </systemPropertyVariables> + * </configuration> * </plugin> * * @@ -58,13 +53,13 @@ public class SyspropsWinRMFixture implements WinRMFixture { @Override public WsmanCli createClient() { WsmanCli cli = new WsmanCli(); - cli.host = System.getProperty(WINRM_HOST); - cli.port = Integer.parseInt(System.getProperty(WINRM_PORT)); - cli.user = System.getProperty(WINRM_USER); - cli.pass = System.getProperty(WINRM_PASS); + cli.host = System.getProperty(WINRM_HOST, "localhost"); + cli.port = Integer.parseInt(System.getProperty(WINRM_PORT, "5985")); + cli.user = System.getProperty(WINRM_USER, "Administrator"); + cli.pass = System.getProperty(WINRM_PASS, "1234"); cli.transport = Transport.plaintext; - //cli.cmd = prop.getProperty("cmd"); - //cli.cmdArgs = Arrays.asList(prop.getProperty("cmdArgs").split(" ")); + //cli.cmd = System.getProperty("cmd", ""); + //cli.cmdArgs = Arrays.asList(System.getProperty("cmdArgs", "").split(" ")); return cli; } diff --git a/wsman-cli/src/test/java/org/apifocal/wsman/cli/TestWsman.java b/wsman-cli/src/test/java/org/apifocal/wsman/cli/TestWsman.java index 868dcb4..4063b16 100644 --- a/wsman-cli/src/test/java/org/apifocal/wsman/cli/TestWsman.java +++ b/wsman-cli/src/test/java/org/apifocal/wsman/cli/TestWsman.java @@ -24,9 +24,7 @@ import java.util.UUID; import javax.xml.bind.JAXB; import org.junit.After; -import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; import org.xmlsoap.schemas.ws._2004._09.transfer.CreateResponseType; @@ -41,25 +39,27 @@ public class TestWsman { public TestWsman() { } - @BeforeClass - public static void setUpClass() { - //test is only runnable in a windows host - boolean isWindows = System.getProperty("os.name").startsWith("Windows"); - org.junit.Assume.assumeTrue(isWindows); //failure causes the test to be ignored +// @BeforeClass +// public static void setUpClass() { +// //make sure to configure WinRM prior to running tests +// } - //make sure to configure WinRM prior to running tests - //Runtime.getRuntime().exec("cmd /c start setupWinRM.bat"); - } - - @AfterClass - public static void tearDownClass() { - } +// @AfterClass +// public static void tearDownClass() { +// } @Before public void setUp() throws Exception { // TODO configure the fixture externally - WinRMFixture fixture = new PropfileWinRMFixture(); +// WinRMFixture fixture = new PropfileWinRMFixture(); + WinRMFixture fixture = new SyspropsWinRMFixture(); cli = fixture.createClient(); + +// if ("localhost".equals(cli.host)) { +// //test is only runnable in a windows host +// boolean isWindows = System.getProperty("os.name").startsWith("Windows"); +// assumeTrue("This tests needs a windows host", isWindows); //failure causes the test to be ignored +// } } @After