DefaultDnsRecordDecoderTest Class — netty Architecture
Architecture documentation for the DefaultDnsRecordDecoderTest class in DefaultDnsRecordDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 818a470d_46ea_7cd1_0f64_8b71e08f0a90["DefaultDnsRecordDecoderTest"] 2d77e074_496c_a0a5_1d98_a0169bd18470["DefaultDnsRecordDecoderTest.java"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|defined in| 2d77e074_496c_a0a5_1d98_a0169bd18470 f87177ec_f895_fc13_1566_61fa632ed4aa["testDecodeName()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| f87177ec_f895_fc13_1566_61fa632ed4aa 235b910e_1653_02f4_98ec_8d678aa1b396["testDecodeNameWithoutTerminator()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 235b910e_1653_02f4_98ec_8d678aa1b396 8ee70944_63b2_5193_fef5_ee7701dd1f62["testDecodeNameWithExtraTerminator()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 8ee70944_63b2_5193_fef5_ee7701dd1f62 58753271_a0dd_3993_1978_2568f17dbdb8["testDecodeEmptyName()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 58753271_a0dd_3993_1978_2568f17dbdb8 83930da2_59b1_2403_23b2_f59e9f866869["testDecodeEmptyNameFromEmptyBuffer()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 83930da2_59b1_2403_23b2_f59e9f866869 d41d1534_6651_9ba6_28a3_bee9f8d4b0eb["testDecodeEmptyNameFromExtraZeroes()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| d41d1534_6651_9ba6_28a3_bee9f8d4b0eb 5882db57_4e67_eebd_2da2_ca6b17580dbc["testDecodePtrRecord()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 5882db57_4e67_eebd_2da2_ca6b17580dbc e4950f18_dddb_edfc_2b19_64fa85858b8a["testdecompressCompressPointer()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| e4950f18_dddb_edfc_2b19_64fa85858b8a be0ce679_536c_ac51_53a9_3b428e8fb0e0["testdecompressNestedCompressionPointer()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| be0ce679_536c_ac51_53a9_3b428e8fb0e0 62722244_eeb1_18de_1cb2_15cd687d1b35["testDecodeCompressionRDataPointer()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 62722244_eeb1_18de_1cb2_15cd687d1b35 61196592_34f2_ca4d_f8c5_fee310fff0d9["testDecodeCompressionRDataPointerMX()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 61196592_34f2_ca4d_f8c5_fee310fff0d9 d960a3ab_a905_c75a_923b_871cf8ae8326["testDecodeMessageCompression()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| d960a3ab_a905_c75a_923b_871cf8ae8326 43e430a5_942c_0a28_0f69_117f79881632["testTruncatedPacket()"] 818a470d_46ea_7cd1_0f64_8b71e08f0a90 -->|method| 43e430a5_942c_0a28_0f69_117f79881632
Relationship Graph
Source Code
codec-dns/src/test/java/io/netty/handler/codec/dns/DefaultDnsRecordDecoderTest.java lines 26–301
public class DefaultDnsRecordDecoderTest {
@Test
public void testDecodeName() {
testDecodeName("netty.io.", Unpooled.wrappedBuffer(new byte[] {
5, 'n', 'e', 't', 't', 'y', 2, 'i', 'o', 0
}));
}
@Test
public void testDecodeNameWithoutTerminator() {
testDecodeName("netty.io.", Unpooled.wrappedBuffer(new byte[] {
5, 'n', 'e', 't', 't', 'y', 2, 'i', 'o'
}));
}
@Test
public void testDecodeNameWithExtraTerminator() {
// Should not be decoded as 'netty.io..'
testDecodeName("netty.io.", Unpooled.wrappedBuffer(new byte[] {
5, 'n', 'e', 't', 't', 'y', 2, 'i', 'o', 0, 0
}));
}
@Test
public void testDecodeEmptyName() {
testDecodeName(".", Unpooled.buffer().writeByte(0));
}
@Test
public void testDecodeEmptyNameFromEmptyBuffer() {
testDecodeName(".", Unpooled.EMPTY_BUFFER);
}
@Test
public void testDecodeEmptyNameFromExtraZeroes() {
testDecodeName(".", Unpooled.wrappedBuffer(new byte[] { 0, 0 }));
}
private static void testDecodeName(String expected, ByteBuf buffer) {
try {
DefaultDnsRecordDecoder decoder = new DefaultDnsRecordDecoder();
assertEquals(expected, decoder.decodeName0(buffer));
} finally {
buffer.release();
}
}
@Test
public void testDecodePtrRecord() throws Exception {
DefaultDnsRecordDecoder decoder = new DefaultDnsRecordDecoder();
ByteBuf buffer = Unpooled.buffer().writeByte(0);
int readerIndex = buffer.readerIndex();
int writerIndex = buffer.writerIndex();
try {
DnsPtrRecord record = (DnsPtrRecord) decoder.decodeRecord(
"netty.io", DnsRecordType.PTR, DnsRecord.CLASS_IN, 60, buffer, 0, 1);
assertEquals("netty.io.", record.name());
assertEquals(DnsRecord.CLASS_IN, record.dnsClass());
assertEquals(60, record.timeToLive());
assertEquals(DnsRecordType.PTR, record.type());
assertEquals(readerIndex, buffer.readerIndex());
assertEquals(writerIndex, buffer.writerIndex());
} finally {
buffer.release();
}
}
@Test
public void testdecompressCompressPointer() {
byte[] compressionPointer = {
5, 'n', 'e', 't', 't', 'y', 2, 'i', 'o', 0,
(byte) 0xC0, 0
};
ByteBuf buffer = Unpooled.wrappedBuffer(compressionPointer);
ByteBuf uncompressed = null;
try {
uncompressed = DnsCodecUtil.decompressDomainName(buffer.duplicate().setIndex(10, 12));
assertEquals(0, ByteBufUtil.compare(buffer.duplicate().setIndex(0, 10), uncompressed));
} finally {
buffer.release();
Source
Frequently Asked Questions
What is the DefaultDnsRecordDecoderTest class?
DefaultDnsRecordDecoderTest is a class in the netty codebase, defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DefaultDnsRecordDecoderTest.java.
Where is DefaultDnsRecordDecoderTest defined?
DefaultDnsRecordDecoderTest is defined in codec-dns/src/test/java/io/netty/handler/codec/dns/DefaultDnsRecordDecoderTest.java at line 26.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free