Home / Function/ testResolveSearchDomainStopOnFirstSuccess() — netty Function Reference

testResolveSearchDomainStopOnFirstSuccess() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  062fc97e_899e_87b8_a0f6_403a8f6045f5["testResolveSearchDomainStopOnFirstSuccess()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  062fc97e_899e_87b8_a0f6_403a8f6045f5 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"]
  062fc97e_899e_87b8_a0f6_403a8f6045f5 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8
  style 062fc97e_899e_87b8_a0f6_403a8f6045f5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 4058–4101

    @ParameterizedTest
    @EnumSource(DnsNameResolverChannelStrategy.class)
    public void testResolveSearchDomainStopOnFirstSuccess(DnsNameResolverChannelStrategy strategy) throws Exception {
        final String addressString = "10.0.0.1";
        final Queue<String> names = new ConcurrentLinkedQueue<String>();
        final TestDnsServer dnsServer2 = new TestDnsServer(new RecordStore() {
            private int called;
            @Override
            public Set<ResourceRecord> getRecords(QuestionRecord question) {
                names.offer(question.getDomainName());
                if (++called == 2) {
                    ResourceRecordModifier rm = new ResourceRecordModifier();
                    rm.setDnsClass(RecordClass.IN);
                    rm.setDnsName(question.getDomainName());
                    rm.setDnsTtl(100);

                    rm.setDnsType(question.getRecordType());
                    rm.put(DnsAttribute.IP_ADDRESS, addressString);
                    return Collections.singleton(rm.getEntry());
                }
                return null;
            }
        });
        dnsServer2.start();

        DnsNameResolver resolver = newResolver(strategy).searchDomains(
                Arrays.asList("search1.netty.io", "search2.netty.io", "search3.netty.io"))
                .ndots(2).nameServerProvider(new SingletonDnsServerAddressStreamProvider(dnsServer2.localAddress()))
                .resolvedAddressTypes(ResolvedAddressTypes.IPV4_ONLY)
                .build();

        byte[] bytes =  NetUtil.createByteArrayFromIpAddressString(addressString);
        InetAddress inetAddress = InetAddress.getByAddress(bytes);
        try {
            final InetAddress addr = resolver.resolve("netty.io").sync().getNow();
            assertEquals(inetAddress, addr);
        } finally {
            resolver.close();
            dnsServer2.stop();
            assertEquals("netty.io.search1.netty.io", names.poll());
            assertEquals("netty.io.search2.netty.io", names.poll());
            assertTrue(names.isEmpty());
        }
    }

Domain

Subdomains

Calls

Frequently Asked Questions

What does testResolveSearchDomainStopOnFirstSuccess() do?
testResolveSearchDomainStopOnFirstSuccess() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testResolveSearchDomainStopOnFirstSuccess() defined?
testResolveSearchDomainStopOnFirstSuccess() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 4058.
What does testResolveSearchDomainStopOnFirstSuccess() call?
testResolveSearchDomainStopOnFirstSuccess() calls 1 function(s): resolve.

Analyze Your Own Codebase

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

Try Supermodel Free