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
Calls
Source
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