testFollowUpCNAME() — netty Function Reference
Architecture documentation for the testFollowUpCNAME() function in DnsNameResolverTest.java from the netty codebase.
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
Source
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