@Test(expected = IllegalArgumentException.class) public void createFromUrlWithWrongParams() throws Exception { URL url = new URL( WebBundleUrl.SCHEME, null, -1, FILE_LOCATION + "?Web-ContextPath", new DummyHandler()); WebBundleUrl warUrl = new WebBundleUrl(url); warUrl.getOptions(); }
@Test public void encodeBasicFileUrl() throws MalformedURLException { WebBundleUrl url = new TestWarUrl(FILE_LOCATION, null); URL u = url.toURL(); assertNotNull(u); assertEquals(WebBundleUrl.SCHEME, u.getProtocol()); assertEquals(FILE_LOCATION, u.getPath()); assertNotNull(url.getOptions()); assertEquals(FILE_LOCATION, url.getLocation()); }
@Test public void createFromUrl() throws Exception { URL url = new URL( WebBundleUrl.SCHEME, null, -1, FILE_LOCATION + "?Web-ContextPath=/foo", new DummyHandler()); WebBundleUrl warUrl = new WebBundleUrl(url); assertEquals(FILE_LOCATION, warUrl.getLocation()); assertEquals("/foo", warUrl.getOptions().get("Web-ContextPath")); }
@Test public void encodeWithOptions() throws Exception { Map<String, String> options = new TreeMap<>(); options.put("Web-ContextPath", "/foo"); options.put("name", "Rob Harrop"); WebBundleUrl url = new TestWarUrl(FILE_LOCATION, options); URL u = url.toURL(); assertNotNull(u); assertEquals(WebBundleUrl.SCHEME, u.getProtocol()); assertEquals(FILE_LOCATION, u.getPath()); assertEquals("Web-ContextPath=/foo&name=Rob Harrop", u.getQuery()); }
@Test public void createFromUrlWithVersionedImports() throws Exception { URL url = new URL( WebBundleUrl.SCHEME, null, -1, FILE_LOCATION + "?Import-Package=x;version=1,y;version=2", new DummyHandler()); WebBundleUrl warUrl = new WebBundleUrl(url); assertEquals(FILE_LOCATION, warUrl.getLocation()); assertEquals("x;version=1,y;version=2", warUrl.getOptions().get("Import-Package")); url = new URL( WebBundleUrl.SCHEME, null, -1, FILE_LOCATION + "?Bundle-SymbolicName=test%26test&Import-Package=x;%20version=1,y;%20version=2", new DummyHandler()); warUrl = new WebBundleUrl(url); assertEquals(FILE_LOCATION, warUrl.getLocation()); assertEquals("x; version=1,y; version=2", warUrl.getOptions().get("Import-Package")); assertEquals("test&test", warUrl.getOptions().get("Bundle-SymbolicName")); url = new URL( WebBundleUrl.SCHEME, null, -1, FILE_LOCATION + "?Bundle-SymbolicName=test+test&Import-Package=x;%20version=1,y;%20version=2", new DummyHandler()); warUrl = new WebBundleUrl(url); assertEquals(FILE_LOCATION, warUrl.getLocation()); assertEquals("x; version=1,y; version=2", warUrl.getOptions().get("Import-Package")); assertEquals("test test", warUrl.getOptions().get("Bundle-SymbolicName")); }