Home / Class/ DefaultHostsFileEntriesResolverTest Class — netty Architecture

DefaultHostsFileEntriesResolverTest Class — netty Architecture

Architecture documentation for the DefaultHostsFileEntriesResolverTest class in DefaultHostsFileEntriesResolverTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  222d3f0b_2438_e015_0a1d_f30980f84e70["DefaultHostsFileEntriesResolverTest"]
  9fd5323a_da79_508a_b028_5deeb1a1b99a["DefaultHostsFileEntriesResolverTest.java"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|defined in| 9fd5323a_da79_508a_b028_5deeb1a1b99a
  b6e9f3d4_2a35_0a20_e890_2a54efb20923["testCaseInsensitivity()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| b6e9f3d4_2a35_0a20_e890_2a54efb20923
  b5801e64_24d5_9803_da0d_7fa7ae226879["shouldntFindWhenAddressTypeDoesntMatch()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| b5801e64_24d5_9803_da0d_7fa7ae226879
  80c0349c_efd1_f33c_9ba1_915cc6e6ddca["shouldPickIpv4WhenBothAreDefinedButIpv4IsPreferred()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 80c0349c_efd1_f33c_9ba1_915cc6e6ddca
  1fd006c3_f13b_0426_a6c9_9c769ba302d2["shouldPickIpv6WhenBothAreDefinedButIpv6IsPreferred()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 1fd006c3_f13b_0426_a6c9_9c769ba302d2
  bff2572b_25b2_920c_c6ac_84de281cecbc["shouldntFindWhenAddressesTypeDoesntMatch()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| bff2572b_25b2_920c_c6ac_84de281cecbc
  9015ab78_800e_52e1_eb24_7ee8e4f28177["shouldPickIpv4FirstWhenBothAreDefinedButIpv4IsPreferred()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 9015ab78_800e_52e1_eb24_7ee8e4f28177
  33b879ca_b112_1f56_5f11_2453a504977e["shouldPickIpv6FirstWhenBothAreDefinedButIpv6IsPreferred()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 33b879ca_b112_1f56_5f11_2453a504977e
  867a4721_6cfc_a287_f585_63978abcfd2b["shouldNotRefreshHostsFileContentBeforeRefreshIntervalElapsed()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 867a4721_6cfc_a287_f585_63978abcfd2b
  79b0f7a8_cbed_1c80_a21a_3a0c737311cd["shouldRefreshHostsFileContentAfterRefreshInterval()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| 79b0f7a8_cbed_1c80_a21a_3a0c737311cd
  c9bbb4ba_0238_249b_efc5_48551d67679c["givenHostsParserWith()"]
  222d3f0b_2438_e015_0a1d_f30980f84e70 -->|method| c9bbb4ba_0238_249b_efc5_48551d67679c

Relationship Graph

Source Code

resolver/src/test/java/io/netty/resolver/DefaultHostsFileEntriesResolverTest.java lines 42–194

public class DefaultHostsFileEntriesResolverTest {
    private static final Map<String, List<InetAddress>> LOCALHOST_V4_ADDRESSES =
            Collections.singletonMap("localhost", Collections.<InetAddress>singletonList(NetUtil.LOCALHOST4));
    private static final Map<String, List<InetAddress>> LOCALHOST_V6_ADDRESSES =
            Collections.singletonMap("localhost", Collections.<InetAddress>singletonList(NetUtil.LOCALHOST6));
    private static final long ENTRIES_TTL = TimeUnit.MINUTES.toNanos(1);

    /**
     * show issue https://github.com/netty/netty/issues/5182
     * HostsFileParser tries to resolve hostnames as case-sensitive
     */
    @Test
    public void testCaseInsensitivity() {
        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver();
        //normalized somehow
        assertEquals(resolver.normalize("localhost"), resolver.normalize("LOCALHOST"));
    }

    @Test
    public void shouldntFindWhenAddressTypeDoesntMatch() {
        HostsFileEntriesProvider.Parser parser = givenHostsParserWith(
                LOCALHOST_V4_ADDRESSES,
                Collections.<String, List<InetAddress>>emptyMap()
        );

        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver(parser, ENTRIES_TTL);

        InetAddress address = resolver.address("localhost", ResolvedAddressTypes.IPV6_ONLY);
        assertNull(address, "Should pick an IPv6 address");
    }

    @Test
    public void shouldPickIpv4WhenBothAreDefinedButIpv4IsPreferred() {
        HostsFileEntriesProvider.Parser parser = givenHostsParserWith(
                LOCALHOST_V4_ADDRESSES,
                LOCALHOST_V6_ADDRESSES
        );

        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver(parser, ENTRIES_TTL);

        InetAddress address = resolver.address("localhost", ResolvedAddressTypes.IPV4_PREFERRED);
        assertInstanceOf(Inet4Address.class, address, "Should pick an IPv4 address");
    }

    @Test
    public void shouldPickIpv6WhenBothAreDefinedButIpv6IsPreferred() {
        HostsFileEntriesProvider.Parser parser = givenHostsParserWith(
                LOCALHOST_V4_ADDRESSES,
                LOCALHOST_V6_ADDRESSES
        );

        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver(parser, ENTRIES_TTL);

        InetAddress address = resolver.address("localhost", ResolvedAddressTypes.IPV6_PREFERRED);
        assertInstanceOf(Inet6Address.class, address, "Should pick an IPv6 address");
    }

    @Test
    public void shouldntFindWhenAddressesTypeDoesntMatch() {
        HostsFileEntriesProvider.Parser parser = givenHostsParserWith(
                LOCALHOST_V4_ADDRESSES,
                Collections.<String, List<InetAddress>>emptyMap()
        );

        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver(parser, ENTRIES_TTL);

        List<InetAddress> addresses = resolver.addresses("localhost", ResolvedAddressTypes.IPV6_ONLY);
        assertNull(addresses, "Should pick an IPv6 address");
    }

    @Test
    public void shouldPickIpv4FirstWhenBothAreDefinedButIpv4IsPreferred() {
        HostsFileEntriesProvider.Parser parser = givenHostsParserWith(
                LOCALHOST_V4_ADDRESSES,
                LOCALHOST_V6_ADDRESSES
        );

        DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver(parser, ENTRIES_TTL);

        List<InetAddress> addresses = resolver.addresses("localhost", ResolvedAddressTypes.IPV4_PREFERRED);
        assertNotNull(addresses);

Frequently Asked Questions

What is the DefaultHostsFileEntriesResolverTest class?
DefaultHostsFileEntriesResolverTest is a class in the netty codebase, defined in resolver/src/test/java/io/netty/resolver/DefaultHostsFileEntriesResolverTest.java.
Where is DefaultHostsFileEntriesResolverTest defined?
DefaultHostsFileEntriesResolverTest is defined in resolver/src/test/java/io/netty/resolver/DefaultHostsFileEntriesResolverTest.java at line 42.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free