diff options
author | Omair Majid <[email protected]> | 2013-10-09 12:12:44 -0400 |
---|---|---|
committer | Omair Majid <[email protected]> | 2013-10-09 12:12:44 -0400 |
commit | f3db9f1486f6b9052f04152ae3c45cdff7a85ea2 (patch) | |
tree | 6a4fd0472624c60a7ea251a00d523573f1435171 /tests | |
parent | e7a13c92d739a1fa0259ea1d0cc3df60aecad124 (diff) |
Move some proxy logic to BrowserAwareProxySelector
The logic for mangling URIs to be compatible with the browser seems
more appropriate to keep in the ProxySelector rather than the catch-all
PluginAppletViewer.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/netx/unit/sun/applet/PluginAppletViewerTest.java | 37 | ||||
-rw-r--r-- | tests/netx/unit/sun/applet/PluginProxySelectorTest.java | 41 |
2 files changed, 40 insertions, 38 deletions
diff --git a/tests/netx/unit/sun/applet/PluginAppletViewerTest.java b/tests/netx/unit/sun/applet/PluginAppletViewerTest.java index 69e5cb1..1bf7e35 100644 --- a/tests/netx/unit/sun/applet/PluginAppletViewerTest.java +++ b/tests/netx/unit/sun/applet/PluginAppletViewerTest.java @@ -159,43 +159,6 @@ public class PluginAppletViewerTest { assertEquals(expectedReturn, call.join()); } - @Test - public void testConvertUriSchemeForProxyQuery() throws Exception { - URI[] testUris = { - new URI("http", "foo.com", "/bar", null), - new URI("https", "foo.com", "/bar", null), - new URI("ftp", "foo.com", "/app/res/pub/channel.jar?i=1234", null), - new URI("socket", "foo.co.uk", "/bar/pub/ale.jar", null), - }; - - for (URI uri : testUris) { - URI result = new URI(PluginAppletViewer.convertUriSchemeForProxyQuery(uri)); - assertQueryForBrowserProxyUsesHttpFallback(uri, result); - String hierarchicalPath = result.getAuthority() + result.getPath(); - assertQueryForBrowserProxyContainsNoDoubleSlashes(hierarchicalPath); - assertQueryForBrowserProxyDoesNotChangeQuery(uri, result); - } - } - - // Test that only HTTP is used as fallback scheme if a protocol other than HTTP(S) or FTP is specified - public void assertQueryForBrowserProxyUsesHttpFallback(URI expected, URI result) { - if (expected.getScheme().equals("ftp") || expected.getScheme().startsWith("http")) { - Assert.assertEquals(expected.getScheme(), result.getScheme()); - } else { - Assert.assertEquals(result.getScheme(), "http"); - } - } - - // Test that absolute resource paths do not result in double-slashes within the URI - public void assertQueryForBrowserProxyContainsNoDoubleSlashes(String uri) { - Assert.assertFalse(uri.contains("//")); - } - - // Test that the query string of the URI is not changed - public void assertQueryForBrowserProxyDoesNotChangeQuery(URI expected, URI result) { - Assert.assertEquals(expected.getQuery(), result.getQuery()); - } - /************************************************************************** * Test utilities * **************************************************************************/ diff --git a/tests/netx/unit/sun/applet/PluginProxySelectorTest.java b/tests/netx/unit/sun/applet/PluginProxySelectorTest.java index 322a798..a7321f6 100644 --- a/tests/netx/unit/sun/applet/PluginProxySelectorTest.java +++ b/tests/netx/unit/sun/applet/PluginProxySelectorTest.java @@ -38,6 +38,7 @@ exception statement from your version. */ package sun.applet; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.net.InetSocketAddress; @@ -65,7 +66,7 @@ public class PluginProxySelectorTest { } @Override - protected Object getProxyFromRemoteCallToBrowser(URI uri) { + protected Object getProxyFromRemoteCallToBrowser(String uri) { remoteCallCount++; return browserResponse; } @@ -192,4 +193,42 @@ public class PluginProxySelectorTest { assertEquals(2, proxySelector.getRemoteCallCount()); } + + @Test + public void testConvertUriSchemeForProxyQuery() throws Exception { + URI[] testUris = { + new URI("http", "foo.com", "/bar", null), + new URI("https", "foo.com", "/bar", null), + new URI("ftp", "foo.com", "/app/res/pub/channel.jar?i=1234", null), + new URI("socket", "foo.co.uk", "/bar/pub/ale.jar", null), + }; + + for (URI uri : testUris) { + URI result = new URI(PluginProxySelector.convertUriSchemeForProxyQuery(uri)); + assertQueryForBrowserProxyUsesHttpFallback(uri, result); + String hierarchicalPath = result.getAuthority() + result.getPath(); + assertQueryForBrowserProxyContainsNoDoubleSlashes(hierarchicalPath); + assertQueryForBrowserProxyDoesNotChangeQuery(uri, result); + } + } + + // Test that only HTTP is used as fallback scheme if a protocol other than HTTP(S) or FTP is specified + public void assertQueryForBrowserProxyUsesHttpFallback(URI expected, URI result) { + if (expected.getScheme().equals("ftp") || expected.getScheme().startsWith("http")) { + assertEquals(expected.getScheme(), result.getScheme()); + } else { + assertEquals(result.getScheme(), "http"); + } + } + + // Test that absolute resource paths do not result in double-slashes within the URI + public void assertQueryForBrowserProxyContainsNoDoubleSlashes(String uri) { + assertFalse(uri.contains("//")); + } + + // Test that the query string of the URI is not changed + public void assertQueryForBrowserProxyDoesNotChangeQuery(URI expected, URI result) { + assertEquals(expected.getQuery(), result.getQuery()); + } + } |