testAllNameServers() — netty Function Reference
Architecture documentation for the testAllNameServers() function in DnsNameResolverTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3d470389_d983_c2f3_f47b_5faf9270266f["testAllNameServers()"] b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"] 3d470389_d983_c2f3_f47b_5faf9270266f -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97 ef2cf45f_c2d6_70e5_01ac_e5eddd31affe["assertResolvedAddress()"] 3d470389_d983_c2f3_f47b_5faf9270266f -->|calls| ef2cf45f_c2d6_70e5_01ac_e5eddd31affe df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"] 3d470389_d983_c2f3_f47b_5faf9270266f -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8 f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"] 3d470389_d983_c2f3_f47b_5faf9270266f -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc style 3d470389_d983_c2f3_f47b_5faf9270266f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 3718–3792
@ParameterizedTest
@EnumSource(DnsNameResolverChannelStrategy.class)
public void testAllNameServers(DnsNameResolverChannelStrategy strategy) throws IOException {
final String domain = "netty.io";
final String ipv4Addr = "1.2.3.4";
final AtomicInteger server2Counter = new AtomicInteger();
final TestDnsServer dnsServer2 = new TestDnsServer(new RecordStore() {
@Override
public Set<ResourceRecord> getRecords(QuestionRecord question) {
server2Counter.incrementAndGet();
ResourceRecordModifier rm = new ResourceRecordModifier();
rm.setDnsClass(RecordClass.IN);
rm.setDnsName(question.getDomainName());
rm.setDnsTtl(100);
rm.setDnsType(question.getRecordType());
rm.put(DnsAttribute.IP_ADDRESS, ipv4Addr);
return Collections.singleton(rm.getEntry());
}
});
dnsServer2.start();
final AtomicInteger server3Counter = new AtomicInteger();
final TestDnsServer dnsServer3 = new TestDnsServer(new RecordStore() {
@Override
public Set<ResourceRecord> getRecords(QuestionRecord question) {
server3Counter.incrementAndGet();
ResourceRecordModifier rm = new ResourceRecordModifier();
rm.setDnsClass(RecordClass.IN);
rm.setDnsName(question.getDomainName());
rm.setDnsTtl(100);
rm.setDnsType(question.getRecordType());
rm.put(DnsAttribute.IP_ADDRESS, ipv4Addr);
return Collections.singleton(rm.getEntry());
}
});
dnsServer3.start();
DnsNameResolver resolver = null;
try {
resolver = newResolver(strategy)
.resolveCache(NoopDnsCache.INSTANCE)
.cnameCache(NoopDnsCnameCache.INSTANCE)
.recursionDesired(true)
.maxQueriesPerResolve(16)
.nameServerProvider(new DnsServerAddressStreamProvider() {
private final DnsServerAddresses addresses =
DnsServerAddresses.rotational(dnsServer2.localAddress(), dnsServer3.localAddress());
@Override
public DnsServerAddressStream nameServerAddressStream(String hostname) {
return addresses.stream();
}
})
.resolvedAddressTypes(ResolvedAddressTypes.IPV4_ONLY).build();
assertResolvedAddress(resolver.resolve(domain).syncUninterruptibly().getNow(), ipv4Addr, domain);
assertEquals(1, server2Counter.get());
assertEquals(0, server3Counter.get());
assertResolvedAddress(resolver.resolve(domain).syncUninterruptibly().getNow(), ipv4Addr, domain);
assertEquals(1, server2Counter.get());
assertEquals(1, server3Counter.get());
assertResolvedAddress(resolver.resolve(domain).syncUninterruptibly().getNow(), ipv4Addr, domain);
assertEquals(2, server2Counter.get());
assertEquals(1, server3Counter.get());
assertResolvedAddress(resolver.resolve(domain).syncUninterruptibly().getNow(), ipv4Addr, domain);
assertEquals(2, server2Counter.get());
assertEquals(2, server3Counter.get());
} finally {
dnsServer2.stop();
dnsServer3.stop();
if (resolver != null) {
resolver.close();
}
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does testAllNameServers() do?
testAllNameServers() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testAllNameServers() defined?
testAllNameServers() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 3718.
What does testAllNameServers() call?
testAllNameServers() calls 3 function(s): assertResolvedAddress, get, resolve.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free