testCnameWithAAndAdditionalsAndAuthorities() — netty Function Reference
Architecture documentation for the testCnameWithAAndAdditionalsAndAuthorities() function in DnsNameResolverTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 16957a7e_a653_d639_c72b_55c78ef63b54["testCnameWithAAndAdditionalsAndAuthorities()"] b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"] 16957a7e_a653_d639_c72b_55c78ef63b54 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97 df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"] 16957a7e_a653_d639_c72b_55c78ef63b54 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8 e0db6033_0923_3a43_22a1_11714277de6c["clear()"] 16957a7e_a653_d639_c72b_55c78ef63b54 -->|calls| e0db6033_0923_3a43_22a1_11714277de6c style 16957a7e_a653_d639_c72b_55c78ef63b54 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 4326–4396
@ParameterizedTest
@EnumSource(DnsNameResolverChannelStrategy.class)
public void testCnameWithAAndAdditionalsAndAuthorities(DnsNameResolverChannelStrategy strategy) throws Exception {
final String hostname = "test.netty.io";
final String cname = "cname.netty.io";
final List<String> nameServers = new ArrayList<String>();
for (int i = 0; i < 13; i++) {
nameServers.add("ns" + i + ".foo.bar");
}
TestDnsServer server = new TestDnsServer(new RecordStore() {
@Override
public Set<ResourceRecord> getRecords(QuestionRecord questionRecord) {
ResourceRecordModifier rm = new ResourceRecordModifier();
rm.setDnsClass(RecordClass.IN);
rm.setDnsName(hostname);
rm.setDnsTtl(10000);
rm.setDnsType(RecordType.CNAME);
rm.put(DnsAttribute.DOMAIN_NAME, cname);
Set<ResourceRecord> records = new LinkedHashSet<ResourceRecord>();
records.add(rm.getEntry());
records.add(newARecord(cname, "10.0.0.2"));
return records;
}
}) {
@Override
protected DnsMessage filterMessage(DnsMessage message) {
for (QuestionRecord record: message.getQuestionRecords()) {
if (record.getDomainName().equals(hostname)) {
// Let's add some extra records.
message.getAuthorityRecords().clear();
message.getAdditionalRecords().clear();
for (String nameserver: nameServers) {
message.getAuthorityRecords().add(TestDnsServer.newNsRecord(".", nameserver));
message.getAdditionalRecords().add(newAddressRecord(nameserver, RecordType.A, "10.0.0.1"));
message.getAdditionalRecords().add(newAddressRecord(nameserver, RecordType.AAAA, "::1"));
}
return message;
}
}
return message;
}
};
server.start();
EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());
SingletonDnsServerAddressStreamProvider provider =
new SingletonDnsServerAddressStreamProvider(server.localAddress());
final DnsNameResolver resolver = new DnsNameResolver(
group.next(), new ReflectiveChannelFactory<DatagramChannel>(NioDatagramChannel.class), null, false,
NoopDnsCache.INSTANCE, NoopDnsCnameCache.INSTANCE, NoopAuthoritativeDnsServerCache.INSTANCE, null,
NoopDnsQueryLifecycleObserverFactory.INSTANCE, 2000, ResolvedAddressTypes.IPV4_ONLY,
true, 8, true, 4096,
false, HostsFileEntriesResolver.DEFAULT,
provider, new ThreadLocalNameServerAddressStream(provider),
new String [] { "k8se-apps.svc.cluster.local, svc.cluster.local, cluster.local" }, 1,
true, false, 0, strategy);
try {
InetAddress address = resolver.resolve(hostname).sync().getNow();
assertArrayEquals(new byte[] { 10, 0, 0, 2 }, address.getAddress());
} finally {
resolver.close();
group.shutdownGracefully(0, 0, TimeUnit.SECONDS);
server.stop();
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does testCnameWithAAndAdditionalsAndAuthorities() do?
testCnameWithAAndAdditionalsAndAuthorities() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testCnameWithAAndAdditionalsAndAuthorities() defined?
testCnameWithAAndAdditionalsAndAuthorities() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 4326.
What does testCnameWithAAndAdditionalsAndAuthorities() call?
testCnameWithAAndAdditionalsAndAuthorities() calls 2 function(s): clear, resolve.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free