Home / Class/ AbstractDnsRecordTest Class — netty Architecture

AbstractDnsRecordTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  b7f4973a_b308_2c2d_c027_e761421b848b["AbstractDnsRecordTest"]
  fee67d9a_eb29_697f_c53f_b2bc5257dd07["AbstractDnsRecordTest.java"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|defined in| fee67d9a_eb29_697f_c53f_b2bc5257dd07
  4f18d5c3_1684_7795_411b_fac5b612eb80["testValidDomainName()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 4f18d5c3_1684_7795_411b_fac5b612eb80
  84e9ea37_69f9_c3cc_812b_77b14114b8a1["testValidDomainNameUmlaut()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 84e9ea37_69f9_c3cc_812b_77b14114b8a1
  d9586e96_ca9c_078c_8cfb_f8523a156f6c["testValidDomainNameTrailingDot()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| d9586e96_ca9c_078c_8cfb_f8523a156f6c
  493e3763_d24b_e671_b78d_96967272b6a9["testValidDomainNameUmlautTrailingDot()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 493e3763_d24b_e671_b78d_96967272b6a9
  9eff3255_4c19_9c1a_92fa_554421e63484["testValidDomainNameLength()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 9eff3255_4c19_9c1a_92fa_554421e63484
  583e75a0_28cd_2e34_e6f4_8093c6343cdc["testValidDomainNameUmlautLength()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 583e75a0_28cd_2e34_e6f4_8093c6343cdc
  038d527e_5ec3_4d19_6049_2cb25cb758b3["testEqualsAndHashCodeIgnoreCase()"]
  b7f4973a_b308_2c2d_c027_e761421b848b -->|method| 038d527e_5ec3_4d19_6049_2cb25cb758b3

Relationship Graph

Source Code

codec-dns/src/test/java/io/netty/handler/codec/dns/AbstractDnsRecordTest.java lines 24–87

public class AbstractDnsRecordTest {

    @Test
    public void testValidDomainName() {
        String name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        AbstractDnsRecord record = new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
        assertEquals(name + '.', record.name());
    }

    @Test
    public void testValidDomainNameUmlaut() {
        String name = "ä";
        AbstractDnsRecord record = new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
        assertEquals("xn--4ca.", record.name());
    }

    @Test
    public void testValidDomainNameTrailingDot() {
        String name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.";
        AbstractDnsRecord record = new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
        assertEquals(name, record.name());
    }

    @Test
    public void testValidDomainNameUmlautTrailingDot() {
        String name = "ä.";
        AbstractDnsRecord record = new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
        assertEquals("xn--4ca.", record.name());
    }

    @Test
    public void testValidDomainNameLength() {
        final String name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        assertThrows(IllegalArgumentException.class, new Executable() {
            @Override
            public void execute() {
                new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
            }
        });
    }

    @Test
    public void testValidDomainNameUmlautLength() {
        final String name = "äaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        assertThrows(IllegalArgumentException.class, new Executable() {
            @Override
            public void execute() {
                new AbstractDnsRecord(name, DnsRecordType.A, 0) { };
            }
        });
    }

    /*
     * RFC-1034 Section 3.1 (page 7 & 8)
     * RFC-1035 Section 2.3.3 (page 9 & 10)
     */
    @Test
    public void testEqualsAndHashCodeIgnoreCase() {
        AbstractDnsRecord lowerCase = new AbstractDnsRecord("example.com.", DnsRecordType.A, 0) { };
        AbstractDnsRecord upperCase = new AbstractDnsRecord("EXAMPLE.COM.", DnsRecordType.A, 0) { };
        assertEquals(lowerCase.hashCode(), upperCase.hashCode());
        assertEquals(lowerCase, upperCase);
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free