Home / Class/ DnsQueryTest Class — netty Architecture

DnsQueryTest Class — netty Architecture

Architecture documentation for the DnsQueryTest class in DnsQueryTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  48f3f58c_4c17_835e_f7ef_b2993c581694["DnsQueryTest"]
  ebc3f70b_35ef_b551_bf63_8116b7839f14["DnsQueryTest.java"]
  48f3f58c_4c17_835e_f7ef_b2993c581694 -->|defined in| ebc3f70b_35ef_b551_bf63_8116b7839f14
  d3773f4a_bf94_cad4_f191_edb03e83f87d["testEncodeAndDecodeQuery()"]
  48f3f58c_4c17_835e_f7ef_b2993c581694 -->|method| d3773f4a_bf94_cad4_f191_edb03e83f87d

Relationship Graph

Source Code

codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java lines 33–81

public class DnsQueryTest {

    @Test
    public void testEncodeAndDecodeQuery() {
        InetSocketAddress addr = SocketUtils.socketAddress("8.8.8.8", 53);
        EmbeddedChannel writeChannel = new EmbeddedChannel(new DatagramDnsQueryEncoder());
        EmbeddedChannel readChannel = new EmbeddedChannel(new DatagramDnsQueryDecoder());

        List<DnsQuery> queries = new ArrayList<DnsQuery>(5);
        queries.add(new DatagramDnsQuery(null, addr, 1).setRecord(
                DnsSection.QUESTION,
                new DefaultDnsQuestion("1.0.0.127.in-addr.arpa", DnsRecordType.PTR)));
        queries.add(new DatagramDnsQuery(null, addr, 1).setRecord(
                DnsSection.QUESTION,
                new DefaultDnsQuestion("www.example.com", DnsRecordType.A)));
        queries.add(new DatagramDnsQuery(null, addr, 1).setRecord(
                DnsSection.QUESTION,
                new DefaultDnsQuestion("example.com", DnsRecordType.AAAA)));
        queries.add(new DatagramDnsQuery(null, addr, 1).setRecord(
                DnsSection.QUESTION,
                new DefaultDnsQuestion("example.com", DnsRecordType.MX)));
        queries.add(new DatagramDnsQuery(null, addr, 1).setRecord(
                DnsSection.QUESTION,
                new DefaultDnsQuestion("example.com", DnsRecordType.CNAME)));

        for (DnsQuery query: queries) {
            assertEquals(1, query.count(DnsSection.QUESTION));
            assertEquals(0, query.count(DnsSection.ANSWER));
            assertEquals(0, query.count(DnsSection.AUTHORITY));
            assertEquals(0, query.count(DnsSection.ADDITIONAL));

            assertTrue(writeChannel.writeOutbound(query));

            DatagramPacket packet = writeChannel.readOutbound();
            assertTrue(packet.content().isReadable());
            assertTrue(readChannel.writeInbound(packet));

            DnsQuery decodedDnsQuery = readChannel.readInbound();
            assertEquals(query, decodedDnsQuery);
            assertTrue(decodedDnsQuery.release());

            assertNull(writeChannel.readOutbound());
            assertNull(readChannel.readInbound());
        }

        assertFalse(writeChannel.finish());
        assertFalse(readChannel.finish());
    }
}

Frequently Asked Questions

What is the DnsQueryTest class?
DnsQueryTest is a class in the netty codebase, defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java.
Where is DnsQueryTest defined?
DnsQueryTest is defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java at line 33.

Analyze Your Own Codebase

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

Try Supermodel Free