Home / Function/ testFollowUpCNAME() — netty Function Reference

testFollowUpCNAME() — netty Function Reference

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

Function java Buffer Telemetry calls 1 called by 2

Entity Profile

Dependency Diagram

graph TD
  cdad2db6_2c8f_b61a_d96e_56c75a10bfc6["testFollowUpCNAME()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  cdad2db6_2c8f_b61a_d96e_56c75a10bfc6 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  7f54db43_17a1_b562_3bee_df91c3694d7a["testCNAMENotTriedOnAddressLookupsWhenDisabled()"]
  7f54db43_17a1_b562_3bee_df91c3694d7a -->|calls| cdad2db6_2c8f_b61a_d96e_56c75a10bfc6
  aebd1acd_120a_8518_0a71_70ba8ddbb25f["testCNAMEOnlyTriedOnAddressLookups()"]
  aebd1acd_120a_8518_0a71_70ba8ddbb25f -->|calls| cdad2db6_2c8f_b61a_d96e_56c75a10bfc6
  f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"]
  cdad2db6_2c8f_b61a_d96e_56c75a10bfc6 -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc
  style cdad2db6_2c8f_b61a_d96e_56c75a10bfc6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 3894–3948

    private void testFollowUpCNAME(DnsNameResolverChannelStrategy strategy, final boolean enabled) throws Exception {
        final AtomicInteger cnameQueries = new AtomicInteger();

        TestDnsServer dnsServer2 = new TestDnsServer(new RecordStore() {
            @Override
            public Set<ResourceRecord> getRecords(QuestionRecord questionRecord) {
                if (questionRecord.getRecordType() == RecordType.CNAME) {
                    cnameQueries.incrementAndGet();
                }

                return Collections.emptySet();
            }
        });

        DnsNameResolver resolver = null;
        try {
            dnsServer2.start();
            resolver = newNonCachedResolver(strategy, ResolvedAddressTypes.IPV4_PREFERRED)
                    .maxQueriesPerResolve(4)
                    .searchDomains(Collections.<String>emptyList())
                    .nameServerProvider(new SingletonDnsServerAddressStreamProvider(dnsServer2.localAddress()))
                    .build();

            // We expect these resolves to fail with UnknownHostException,
            // and then check that no unexpected CNAME queries were performed.
            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll(new DefaultDnsQuestion("lookup-srv.netty.io", SRV)).await().cause());
            assertEquals(0, cnameQueries.get());

            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll(new DefaultDnsQuestion("lookup-naptr.netty.io", NAPTR)).await().cause());
            assertEquals(0, cnameQueries.get());

            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll(new DefaultDnsQuestion("lookup-cname.netty.io", CNAME)).await().cause());
            assertEquals(1, cnameQueries.getAndSet(0));

            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll(new DefaultDnsQuestion("lookup-a.netty.io", A)).await().cause());
            assertEquals(enabled ? 1 : 0, cnameQueries.getAndSet(0));

            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll(new DefaultDnsQuestion("lookup-aaaa.netty.io", AAAA)).await().cause());
            assertEquals(enabled ? 1 : 0, cnameQueries.getAndSet(0));

            assertInstanceOf(UnknownHostException.class,
                    resolver.resolveAll("lookup-address.netty.io").await().cause());
            assertEquals(enabled ? 1 : 0, cnameQueries.getAndSet(0));
        } finally {
            dnsServer2.stop();
            if (resolver != null) {
                resolver.close();
            }
        }
    }

Domain

Subdomains

Calls

Frequently Asked Questions

What does testFollowUpCNAME() do?
testFollowUpCNAME() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testFollowUpCNAME() defined?
testFollowUpCNAME() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 3894.
What does testFollowUpCNAME() call?
testFollowUpCNAME() calls 1 function(s): get.
What calls testFollowUpCNAME()?
testFollowUpCNAME() is called by 2 function(s): testCNAMENotTriedOnAddressLookupsWhenDisabled, testCNAMEOnlyTriedOnAddressLookups.

Analyze Your Own Codebase

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

Try Supermodel Free