You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dj...@apache.org on 2016/03/07 19:26:12 UTC
[02/50] incubator-quarks git commit: fix ssl tests - fix ant vs
eclipse test keystore path handling - fix test ssl system prop mgmt
fix ssl tests
- fix ant vs eclipse test keystore path handling
- fix test ssl system prop mgmt
Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/af73f91d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/af73f91d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/af73f91d
Branch: refs/heads/master
Commit: af73f91d2b0f3dd15df6f22c6f44a15a87b2e98d
Parents: 6e59577
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Mar 3 16:30:52 2016 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Mar 3 16:30:52 2016 -0500
----------------------------------------------------------------------
.../wsclient/javax/websocket/KeystorePath.java | 26 +++++++
.../javax/websocket/WebSocketClientTest.java | 78 +++++++++++---------
.../javax/websocket/WebSocketServerEcho.java | 5 +-
3 files changed, 69 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/af73f91d/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/KeystorePath.java
----------------------------------------------------------------------
diff --git a/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/KeystorePath.java b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/KeystorePath.java
new file mode 100644
index 0000000..f75b64a
--- /dev/null
+++ b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/KeystorePath.java
@@ -0,0 +1,26 @@
+/*
+# Licensed Materials - Property of IBM
+# Copyright IBM Corp. 2015,2016
+*/
+package quarks.tests.connectors.wsclient.javax.websocket;
+
+import java.io.File;
+
+public class KeystorePath {
+
+ public static String getStorePath(String storeLeaf) {
+ String path = System.getProperty("user.dir");
+ // Under eclipse/junit: path to project in repo: <repo>/connectors
+ // Under ant/junit: <repo>/connectors/<project>/unittests/testrunxxxxxxx
+ if (!path.endsWith("/connectors")) {
+ int indx = path.indexOf("/connectors/");
+ indx += "/connectors/".length() - 1;
+ path = path.substring(0, indx);
+ }
+ path += "/wsclient-javax.websocket/src/test/keystores/" + storeLeaf;
+ if (!new File(path).exists())
+ throw new IllegalArgumentException("File does not exist: "+path);
+ return path;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/af73f91d/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketClientTest.java
----------------------------------------------------------------------
diff --git a/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketClientTest.java b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketClientTest.java
index 5af8d7d..cd93adf 100644
--- a/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketClientTest.java
+++ b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketClientTest.java
@@ -9,6 +9,8 @@ import static org.junit.Assert.assertNotSame;
import static org.junit.Assume.assumeTrue;
import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
@@ -98,10 +100,7 @@ public class WebSocketClientTest extends ConnectorTestBase {
}
private String getStorePath(String storeLeaf) {
- // path to project in repo: <repo>/connectors
- String path = System.getProperty("user.dir");
- path += "/wsclient-javax.websocket/src/test/keystores/" + storeLeaf;
- return path;
+ return KeystorePath.getStorePath(storeLeaf);
}
@Test
@@ -283,6 +282,36 @@ public class WebSocketClientTest extends ConnectorTestBase {
// TODO
}
+
+ private class SslSystemPropMgr {
+ private final Map<String,String> origProps = new HashMap<>();
+
+ public void set() {
+ set("javax.net.ssl.trustStore", getStorePath("clientTrustStore.jks"));
+ set("javax.net.ssl.trustStorePassword", "passw0rd");
+ set("javax.net.ssl.keyStore", getStorePath("clientKeyStore.jks"));
+ set("javax.net.ssl.keyStorePassword", "passw0rd");
+ }
+
+ private void set(String prop, String defaultVal) {
+ origProps.put(prop, System.setProperty(prop, defaultVal));
+ }
+
+ public void restore() {
+ restore("javax.net.ssl.trustStore");
+ restore("javax.net.ssl.trustStorePassword");
+ restore("javax.net.ssl.keyStore");
+ restore("javax.net.ssl.keyStorePassword");
+ }
+
+ private void restore(String prop) {
+ String origValue = origProps.get(prop);
+ if (origValue == null)
+ System.getProperties().remove(prop);
+ else
+ System.setProperty(prop, origValue);
+ }
+ }
@Test
public void testSslSystemProperty() throws Exception {
@@ -294,12 +323,10 @@ public class WebSocketClientTest extends ConnectorTestBase {
Properties config = getConfig(); // no SSL config stuff
config.setProperty("ws.uri", getWssUri());
- String origTrustStore = null;
- String origTrustStorePassword = null;
+ SslSystemPropMgr sslProps = new SslSystemPropMgr();
try {
// a trust store that contains the server's cert
- origTrustStore = System.setProperty("javax.net.ssl.trustStore", getStorePath("clientTrustStore.jks"));
- origTrustStorePassword = System.setProperty("javax.net.ssl.trustStorePassword", "passw0rd");
+ sslProps.set();
// System.setProperty("javax.net.debug", "ssl"); // or "all"; "help" for full list
@@ -316,10 +343,7 @@ public class WebSocketClientTest extends ConnectorTestBase {
completeAndValidate("", t, rcvd, SEC_TMO, expected);
}
finally {
- if (origTrustStore != null)
- System.setProperty("javax.net.ssl.trustStore", origTrustStore);
- if (origTrustStorePassword != null)
- System.setProperty("javax.net.ssl.trustStorePassword", origTrustStorePassword);
+ sslProps.restore();
}
}
@@ -333,16 +357,10 @@ public class WebSocketClientTest extends ConnectorTestBase {
Properties config = getConfig(); // no SSL config stuff
config.setProperty("ws.uri", getWssUri());
- String origTrustStore = null;
- String origTrustStorePassword = null;
- String origKeyStore = null;
- String origKeyStorePassword = null;
+ SslSystemPropMgr sslProps = new SslSystemPropMgr();
try {
// a trust store that contains the server's cert
- origTrustStore = System.setProperty("javax.net.ssl.trustStore", getStorePath("clientTrustStore.jks"));
- origTrustStorePassword = System.setProperty("javax.net.ssl.trustStorePassword", "passw0rd");
- origKeyStore = System.setProperty("javax.net.ssl.keyStore", getStorePath("clientKeyStore.jks"));
- origKeyStorePassword = System.setProperty("javax.net.ssl.keyStorePassword", "passw0rd");
+ sslProps.set();
// System.setProperty("javax.net.debug", "ssl"); // or "all"; "help" for full list
@@ -359,14 +377,7 @@ public class WebSocketClientTest extends ConnectorTestBase {
completeAndValidate("", t, rcvd, SEC_TMO, expected);
}
finally {
- if (origTrustStore != null)
- System.setProperty("javax.net.ssl.trustStore", origTrustStore);
- if (origTrustStorePassword != null)
- System.setProperty("javax.net.ssl.trustStorePassword", origTrustStorePassword);
- if (origKeyStore != null)
- System.setProperty("javax.net.ssl.keyStore", origKeyStore);
- if (origKeyStorePassword != null)
- System.setProperty("javax.net.ssl.keyStorePassword", origKeyStorePassword);
+ sslProps.restore();
}
}
@@ -636,11 +647,9 @@ public class WebSocketClientTest extends ConnectorTestBase {
Properties config = getConfig();
config.setProperty("ws.uri", "wss://echo.websocket.org");
- String origTrustStore = null;
- String origTrustStorePassword = null;
+ SslSystemPropMgr sslProps = new SslSystemPropMgr();
try {
- origTrustStore = System.setProperty("javax.net.ssl.trustStore", getStorePath("clientTrustStore.jks"));
- origTrustStorePassword = System.setProperty("javax.net.ssl.trustStorePassword", "passw0rd");
+ sslProps.set();
// System.setProperty("javax.net.debug", "ssl"); // or "all"; "help" for full list
@@ -657,10 +666,7 @@ public class WebSocketClientTest extends ConnectorTestBase {
completeAndValidate("", t, rcvd, SEC_TMO, new String[0]); //rcv nothing
}
finally {
- if (origTrustStore != null)
- System.setProperty("javax.net.ssl.trustStore", origTrustStore);
- if (origTrustStorePassword != null)
- System.setProperty("javax.net.ssl.trustStorePassword", origTrustStorePassword);
+ sslProps.restore();
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/af73f91d/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketServerEcho.java
----------------------------------------------------------------------
diff --git a/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketServerEcho.java b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketServerEcho.java
index 68815ec..d09f7d0 100644
--- a/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketServerEcho.java
+++ b/connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/WebSocketServerEcho.java
@@ -121,10 +121,7 @@ public class WebSocketServerEcho {
}
private String getStorePath(String storeLeaf) {
- // path to project in repo: <repo>/connectors
- String path = System.getProperty("user.dir");
- path += "/wsclient-javax.websocket/src/test/keystores/" + storeLeaf;
- return path;
+ return KeystorePath.getStorePath(storeLeaf);
}
public int getPort() {