diff options
Diffstat (limited to 'qpid/java/systests/src')
-rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java | 18 | ||||
-rw-r--r-- | qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java | 12 |
2 files changed, 24 insertions, 6 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java index 469e6ce52b..31d148a529 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java @@ -31,10 +31,12 @@ import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLDecoder; +import java.net.URLEncoder; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.util.Collections; @@ -575,4 +577,20 @@ public class RestTestHelper } } + public String encode(String value, String encoding) throws UnsupportedEncodingException + { + return URLEncoder.encode(value, encoding).replace("+", "%20"); + } + + public String encodeAsUTF(String value) + { + try + { + return encode(value, "UTF8"); + } + catch(UnsupportedEncodingException e) + { + throw new RuntimeException("Unsupported encoding UTF8", e); + } + } } diff --git a/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java b/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java index 439e592a7e..2142004411 100644 --- a/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java +++ b/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java @@ -21,7 +21,6 @@ package org.apache.qpid.systest.rest; import java.io.IOException; -import java.net.URLDecoder; import java.util.List; import java.util.Map; @@ -112,7 +111,7 @@ public class ConnectionRestTest extends QpidRestTestCase String connectionName = getConnectionName(); Map<String, Object> connectionDetails = getRestTestHelper().getJsonAsSingletonList("connection/test/test/" - + URLDecoder.decode(connectionName, "UTF-8")); + + getRestTestHelper().encodeAsUTF(connectionName)); assertConnection(connectionDetails); } @@ -124,7 +123,7 @@ public class ConnectionRestTest extends QpidRestTestCase List<Map<String, Object>> connections = getRestTestHelper().getJsonAsList("connection/test/test"); assertEquals("Unexpected number of connections before deletion", 1, connections.size()); - String connectionUrl = "connection/test/test/" + URLDecoder.decode(connectionName, "UTF-8"); + String connectionUrl = "connection/test/test/" + getRestTestHelper().encodeAsUTF(connectionName); getRestTestHelper().submitRequest(connectionUrl, "DELETE", HttpServletResponse.SC_OK); connections = getRestTestHelper().getJsonAsList("connection/test/test"); @@ -161,7 +160,7 @@ public class ConnectionRestTest extends QpidRestTestCase String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8")); + + getRestTestHelper().encodeAsUTF(connectionName)); assertEquals("Unexpected number of sessions", 1, sessions.size()); assertSession(sessions.get(0), (AMQSession<?, ?>) _session); } @@ -172,7 +171,7 @@ public class ConnectionRestTest extends QpidRestTestCase String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId()); + + getRestTestHelper().encodeAsUTF(connectionName) + "/" + ((AMQSession<?, ?>) _session).getChannelId()); assertEquals("Unexpected number of sessions", 1, sessions.size()); assertSession(sessions.get(0), (AMQSession<?, ?>) _session); } @@ -187,7 +186,8 @@ public class ConnectionRestTest extends QpidRestTestCase String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId()); + + getRestTestHelper().encodeAsUTF(connectionName) + + "/" + ((AMQSession<?, ?>) _session).getChannelId()); assertEquals("Unexpected number of sessions", 1, sessions.size()); final Map<String, Object> sessionData = sessions.get(0); |