@Test public void testEqualsAndHashCode() { Credentials nullNullCreds = new Credentials(null, null); Credentials abcNullCreds = new Credentials("abc", new NullToken()); Credentials cbaNullCreds = new Credentials("cba", new NullToken()); Credentials abcBlahCreds = new Credentials("abc", new PasswordToken("blah")); // check hash codes assertEquals(0, nullNullCreds.hashCode()); assertEquals("abc".hashCode(), abcNullCreds.hashCode()); assertEquals(abcNullCreds.hashCode(), abcBlahCreds.hashCode()); assertFalse(abcNullCreds.hashCode() == cbaNullCreds.hashCode()); // identity assertEquals(abcNullCreds, abcNullCreds); assertEquals(new Credentials("abc", new NullToken()), abcNullCreds); // equal, but different token constructors assertEquals( new Credentials("abc", new PasswordToken("abc".getBytes(Constants.UTF8))), new Credentials("abc", new PasswordToken("abc"))); // test not equals assertFalse(nullNullCreds.equals(abcBlahCreds)); assertFalse(nullNullCreds.equals(abcNullCreds)); assertFalse(abcNullCreds.equals(abcBlahCreds)); }
/** * Ensures that the values returned by {@link FileURL#getGuestCredentials()} and {@link * SchemeHandler#getGuestCredentials()} match the expected one returned by {@link * #getGuestCredentials()}. * * @throws MalformedURLException should not happen */ @Test public void testGuestCredentials() throws MalformedURLException { FileURL url = getRootURL(); Credentials expectedGuestCredentials = getGuestCredentials(); // Assert that the guest credentials values returned by the FileURL and its handler match the // expected one // and are consistent if (expectedGuestCredentials == null) { assert url.getGuestCredentials() == null; assert url.getHandler().getGuestCredentials() == null; } else { assert expectedGuestCredentials.equals(url.getGuestCredentials()); assert expectedGuestCredentials.equals(url.getHandler().getGuestCredentials()); } }
/** * Tests FileURL's getters and setters. * * @throws MalformedURLException should not happen */ @Test public void testAccessors() throws MalformedURLException { FileURL url = getRootURL(); String scheme = getScheme(); Credentials credentials = new Credentials("login", "password"); String host = "host"; int port = 10000; String path = getSchemePath("/path/to"); String query = "query"; url.setScheme(scheme); url.setCredentials(credentials); url.setHost(host); url.setPort(port); url.setPath(path); url.setQuery(query); url.setProperty("name", "value"); assert scheme.equals(url.getScheme()); assert credentials.equals(url.getCredentials(), true); assert host.equals(url.getHost()); assert port == url.getPort(); assert path.equals(url.getPath()); assert query.equals(url.getQuery()); assert "to".equals(url.getFilename()); assert "value".equals(url.getProperty("name")); // Test null values url.setCredentials(null); url.setHost(null); url.setPort(-1); url.setPath("/"); url.setQuery(null); url.setProperty("name", null); assert scheme.equals(url.getScheme()); assert url.getCredentials() == null; assert !url.containsCredentials(); assert url.getHost() == null; assert -1 == url.getPort(); assert "/".equals(url.getPath()); assert url.getQuery() == null; assert url.getFilename() == null; assert url.getProperty("name") == null; assert (scheme + "://").equals(url.toString(true, false)); // Path cannot be null, the path is supposed to be "/" if a null or empty value is specified url.setPath(null); assert "/".equals(url.getPath()); url.setPath(""); assert "/".equals(url.getPath()); // Path must always start with a leading '/', if the specified does not then a '/' is // automatically added url.setPath("path/to"); assert "/path/to".equals(url.getPath()); }