Home / Function/ testCNAMEFollowInResponseWithoutExtraQuery() — netty Function Reference

testCNAMEFollowInResponseWithoutExtraQuery() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  5f2230e7_917c_e599_5250_52d3eb8c5392["testCNAMEFollowInResponseWithoutExtraQuery()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  5f2230e7_917c_e599_5250_52d3eb8c5392 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"]
  5f2230e7_917c_e599_5250_52d3eb8c5392 -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc
  style 5f2230e7_917c_e599_5250_52d3eb8c5392 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 2583–2639

    @ParameterizedTest
    @EnumSource(DnsNameResolverChannelStrategy.class)
    public void testCNAMEFollowInResponseWithoutExtraQuery(DnsNameResolverChannelStrategy strategy) throws IOException {
        final AtomicInteger queryCount = new AtomicInteger();
        TestDnsServer dnsServer2 = new TestDnsServer(new RecordStore() {

            @Override
            public Set<ResourceRecord> getRecords(QuestionRecord question) {
                queryCount.incrementAndGet();
                if (question.getDomainName().equals("somehost.netty.io")) {
                    Set<ResourceRecord> records = new LinkedHashSet<ResourceRecord>(2);
                    Map<String, Object> map = new HashMap<String, Object>();
                    map.put(DnsAttribute.DOMAIN_NAME.toLowerCase(), "cname.netty.io");
                    records.add(new TestDnsServer.TestResourceRecord(
                            question.getDomainName(), RecordType.CNAME, map));

                    map = new HashMap<String, Object>();
                    map.put(DnsAttribute.DOMAIN_NAME.toLowerCase(), "cname2.netty.io");
                    records.add(new TestDnsServer.TestResourceRecord(
                            "cname.netty.io", RecordType.CNAME, map));

                    map = new HashMap<String, Object>();
                    map.put(DnsAttribute.DOMAIN_NAME.toLowerCase(), "cname3.netty.io");
                    records.add(new TestDnsServer.TestResourceRecord(
                            "cname2.netty.io", RecordType.CNAME, map));

                    Map<String, Object> map1 = new HashMap<String, Object>();
                    map1.put(DnsAttribute.IP_ADDRESS.toLowerCase(), "10.0.0.2");
                    records.add(new TestDnsServer.TestResourceRecord(
                           "cname3.netty.io", RecordType.A, map1));
                    return records;
                }
                return null;
            }
        });
        dnsServer2.start();
        DnsNameResolver resolver = null;
        try {
            DnsNameResolverBuilder builder = newResolver(strategy)
                    .recursionDesired(true)
                    .resolvedAddressTypes(ResolvedAddressTypes.IPV4_ONLY)
                    .maxQueriesPerResolve(16)
                    .nameServerProvider(new SingletonDnsServerAddressStreamProvider(dnsServer2.localAddress()));

            resolver = builder.build();
            List<InetAddress> resolvedAddresses =
                    resolver.resolveAll("somehost.netty.io").syncUninterruptibly().getNow();
            assertEquals(1, resolvedAddresses.size());
            assertTrue(resolvedAddresses.contains(InetAddress.getByAddress(new byte[] { 10, 0, 0, 2 })));
            assertEquals(1, queryCount.get());
        } finally {
            dnsServer2.stop();
            if (resolver != null) {
                resolver.close();
            }
        }
    }

Domain

Subdomains

Calls

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free