Home / Function/ testEncodeAndDecodeQuery() — netty Function Reference

testEncodeAndDecodeQuery() — netty Function Reference

Architecture documentation for the testEncodeAndDecodeQuery() function in DnsQueryTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d3773f4a_bf94_cad4_f191_edb03e83f87d["testEncodeAndDecodeQuery()"]
  48f3f58c_4c17_835e_f7ef_b2993c581694["DnsQueryTest"]
  d3773f4a_bf94_cad4_f191_edb03e83f87d -->|defined in| 48f3f58c_4c17_835e_f7ef_b2993c581694
  style d3773f4a_bf94_cad4_f191_edb03e83f87d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java lines 35–80

    @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());
    }

Domain

Subdomains

Frequently Asked Questions

What does testEncodeAndDecodeQuery() do?
testEncodeAndDecodeQuery() is a function in the netty codebase, defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java.
Where is testEncodeAndDecodeQuery() defined?
testEncodeAndDecodeQuery() is defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DnsQueryTest.java at line 35.

Analyze Your Own Codebase

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

Try Supermodel Free