Permalink
Browse files

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>
  • Loading branch information...
1 parent f755e58 commit 4e2530c171edc98a94ea91fda1e988963b0cbf38 @radai-rosenblatt radai-rosenblatt committed with normanmaurer Sep 29, 2016
@@ -28,6 +28,11 @@
@Override
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;
+import org.junit.Assert;
import org.junit.Test;
-import static org.junit.Assert.assertNotNull;
-
public class DefaultHostsFileEntriesResolverTest {
@Test
- public void testLocalhost() {
+ public void testCaseInsensitivity() throws Exception {
DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver();
- assertNotNull("localhost doesn't resolve", resolver.address("localhost"));
- assertNotNull("LOCALHOST doesn't resolve", resolver.address("LOCALHOST"));
+ //normalized somehow
+ Assert.assertEquals(resolver.normalize("localhost"), resolver.normalize("LOCALHOST"));
}
}

0 comments on commit 4e2530c

Please sign in to comment.