fix 5868 -fix DefaultHostsFileEntriesResolverTest to pass on windows 7
Motivation: Windows 7 hosts file is empty by default (at least on my machine? see http://serverfault.com/questions/4689/windows-7-localhost-name-resolution-is-handled-within-dns-itself-why for details and reasoning. the test relies on the file containing an entry for localhost. Modifications: refactor class code to 1st normalize the input host name and then look it up, change the test to verify that hostnames are normalized in a case-insensitive way before being looked up (which was the intent of the original test) Result: test should pass on vanilla windows 7 (and any other machine with no localhost in the hosts file). no effect anywhere else or on actual netty code. Signed-off-by: radai-rosenblatt <radai.rosenblatt@gmail.com>
This commit is contained in:
parent
f755e58463
commit
4e2530c171
@ -28,6 +28,11 @@ public final class DefaultHostsFileEntriesResolver implements HostsFileEntriesRe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InetAddress address(String inetHost) {
|
public InetAddress address(String inetHost) {
|
||||||
return entries.get(inetHost.toLowerCase(Locale.ENGLISH));
|
return entries.get(normalize(inetHost));
|
||||||
|
}
|
||||||
|
|
||||||
|
// package-private for testing purposes
|
||||||
|
String normalize(String inetHost) {
|
||||||
|
return inetHost.toLowerCase(Locale.ENGLISH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,16 +19,15 @@
|
|||||||
*/
|
*/
|
||||||
package io.netty.resolver;
|
package io.netty.resolver;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
|
||||||
|
|
||||||
public class DefaultHostsFileEntriesResolverTest {
|
public class DefaultHostsFileEntriesResolverTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLocalhost() {
|
public void testCaseInsensitivity() throws Exception {
|
||||||
DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver();
|
DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver();
|
||||||
assertNotNull("localhost doesn't resolve", resolver.address("localhost"));
|
//normalized somehow
|
||||||
assertNotNull("LOCALHOST doesn't resolve", resolver.address("LOCALHOST"));
|
Assert.assertEquals(resolver.normalize("localhost"), resolver.normalize("LOCALHOST"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user