Home / Function/ testNameServerCache() — netty Function Reference

testNameServerCache() — netty Function Reference

Architecture documentation for the testNameServerCache() function in DnsNameResolverTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  98b9ab2d_f7ac_f432_28fa_8cc90c6f4013["testNameServerCache()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  98b9ab2d_f7ac_f432_28fa_8cc90c6f4013 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  823db696_f241_38c3_775d_51efcf107786["testResolve0()"]
  98b9ab2d_f7ac_f432_28fa_8cc90c6f4013 -->|calls| 823db696_f241_38c3_775d_51efcf107786
  style 98b9ab2d_f7ac_f432_28fa_8cc90c6f4013 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 469–527

    @ParameterizedTest
    @EnumSource(DnsNameResolverChannelStrategy.class)
    public void testNameServerCache(DnsNameResolverChannelStrategy channelStrategy)
            throws IOException, InterruptedException {
        final String overriddenIP = "12.34.12.34";
        final TestDnsServer dnsServer2 = new TestDnsServer(new RecordStore() {
            @Override
            public Set<ResourceRecord> getRecords(QuestionRecord question) {
                switch (question.getRecordType()) {
                    case A:
                        Map<String, Object> attr = new HashMap<String, Object>();
                        attr.put(DnsAttribute.IP_ADDRESS.toLowerCase(Locale.US), overriddenIP);
                        return Collections.<ResourceRecord>singleton(
                                new TestDnsServer.TestResourceRecord(
                                        question.getDomainName(), question.getRecordType(), attr));
                    default:
                        return null;
                }
            }
        });
        dnsServer2.start();
        try {
            final Set<String> overriddenHostnames = new HashSet<String>();
            for (String name : DOMAINS) {
                if (EXCLUSIONS_RESOLVE_A.contains(name)) {
                    continue;
                }
                if (java.util.concurrent.ThreadLocalRandom.current().nextBoolean()) {
                    overriddenHostnames.add(name);
                }
            }
            DnsNameResolver resolver = newResolver(channelStrategy, false, new DnsServerAddressStreamProvider() {
                @Override
                public DnsServerAddressStream nameServerAddressStream(String hostname) {
                    return overriddenHostnames.contains(hostname) ? sequential(dnsServer2.localAddress()).stream() :
                            null;
                }
            }).build();
            try {
                final Map<String, InetAddress> resultA = testResolve0(resolver, EXCLUSIONS_RESOLVE_A, AAAA);
                for (Entry<String, InetAddress> resolvedEntry : resultA.entrySet()) {
                    if (resolvedEntry.getValue().isLoopbackAddress()) {
                        continue;
                    }
                    if (overriddenHostnames.contains(resolvedEntry.getKey())) {
                        assertEquals(overriddenIP, resolvedEntry.getValue().getHostAddress(),
                                "failed to resolve " + resolvedEntry.getKey());
                    } else {
                        assertNotEquals(overriddenIP, resolvedEntry.getValue().getHostAddress(),
                                "failed to resolve " + resolvedEntry.getKey());
                    }
                }
            } finally {
                resolver.close();
            }
        } finally {
            dnsServer2.stop();
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testNameServerCache() do?
testNameServerCache() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testNameServerCache() defined?
testNameServerCache() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 469.
What does testNameServerCache() call?
testNameServerCache() calls 1 function(s): testResolve0.

Analyze Your Own Codebase

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

Try Supermodel Free