Home / Class/ SocksCmdRequestTest Class — netty Architecture

SocksCmdRequestTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  40e986d6_a601_2eef_0944_4ce79e241e60["SocksCmdRequestTest"]
  50317297_b42d_e866_ab24_6c0751f22725["SocksCmdRequestTest.java"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|defined in| 50317297_b42d_e866_ab24_6c0751f22725
  bdd6c3ab_26aa_5e92_a045_bf190dcb81cf["testConstructorParamsAreNotNull()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| bdd6c3ab_26aa_5e92_a045_bf190dcb81cf
  97156974_6d63_af84_dfaf_7b4c1935290f["testIPv4CorrectAddress()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| 97156974_6d63_af84_dfaf_7b4c1935290f
  cc68ecb8_df42_ac31_8013_f96cd5c10f9c["testIPv6CorrectAddress()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| cc68ecb8_df42_ac31_8013_f96cd5c10f9c
  47dcf194_e56f_f661_6e2d_29f52f1ea629["testIDNNotExceeds255CharsLimit()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| 47dcf194_e56f_f661_6e2d_29f52f1ea629
  b0db8976_4322_6537_0fcd_47f4e7b63be8["testHostNotEncodedForUnknown()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| b0db8976_4322_6537_0fcd_47f4e7b63be8
  4c90c16a_45a3_e0f3_fe2d_402e8e7b9afb["testIDNEncodeToAsciiForDomain()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| 4c90c16a_45a3_e0f3_fe2d_402e8e7b9afb
  abdbe1d1_e5d5_befe_ba16_d30ef4d51393["testEndianessForPort()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| abdbe1d1_e5d5_befe_ba16_d30ef4d51393
  509dd5e7_c455_3bd0_f7c2_bc131c2b65fd["testValidPortRange()"]
  40e986d6_a601_2eef_0944_4ce79e241e60 -->|method| 509dd5e7_c455_3bd0_f7c2_bc131c2b65fd

Relationship Graph

Source Code

codec-socks/src/test/java/io/netty/handler/codec/socks/SocksCmdRequestTest.java lines 32–171

public class SocksCmdRequestTest {
    @Test
    public void testConstructorParamsAreNotNull() {
        try {
            new SocksCmdRequest(null, SocksAddressType.UNKNOWN, "", 1);
        } catch (Exception e) {
            assertTrue(e instanceof NullPointerException);
        }

        try {
            new SocksCmdRequest(SocksCmdType.UNKNOWN, null, "", 1);
        } catch (Exception e) {
            assertTrue(e instanceof NullPointerException);
        }

        try {
            new SocksCmdRequest(SocksCmdType.UNKNOWN, SocksAddressType.UNKNOWN, null, 1);
        } catch (Exception e) {
            assertTrue(e instanceof NullPointerException);
        }
    }

    @Test
    public void testIPv4CorrectAddress() {
        try {
            new SocksCmdRequest(SocksCmdType.BIND, SocksAddressType.IPv4, "54.54.1111.253", 1);
        } catch (Exception e) {
            assertTrue(e instanceof IllegalArgumentException);
        }
    }

    @Test
    public void testIPv6CorrectAddress() {
        try {
            new SocksCmdRequest(SocksCmdType.BIND, SocksAddressType.IPv6, "xxx:xxx:xxx", 1);
        } catch (Exception e) {
            assertTrue(e instanceof IllegalArgumentException);
        }
    }

    @Test
    public void testIDNNotExceeds255CharsLimit() {
        try {
            new SocksCmdRequest(SocksCmdType.BIND, SocksAddressType.DOMAIN,
                    "παράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμή" +
                    "παράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμή" +
                    "παράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμή" +
                    "παράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμήπαράδειγμα.δοκιμή", 1);
        } catch (Exception e) {
            assertTrue(e instanceof IllegalArgumentException);
        }
    }

    @Test
    public void testHostNotEncodedForUnknown() {
        String asciiHost = "xn--e1aybc.xn--p1ai";
        short port = 10000;

        SocksCmdRequest rq = new SocksCmdRequest(SocksCmdType.BIND, SocksAddressType.UNKNOWN, asciiHost, port);
        assertEquals(asciiHost, rq.host());

        ByteBuf buffer = Unpooled.buffer(16);
        rq.encodeAsByteBuf(buffer);

        buffer.resetReaderIndex();
        assertEquals(SocksProtocolVersion.SOCKS5.byteValue(), buffer.readByte());
        assertEquals(SocksCmdType.BIND.byteValue(), buffer.readByte());
        assertEquals((byte) 0x00, buffer.readByte());
        assertEquals(SocksAddressType.UNKNOWN.byteValue(), buffer.readByte());
        assertFalse(buffer.isReadable());

        buffer.release();
    }

    @Test
    public void testIDNEncodeToAsciiForDomain() {
        String host = "тест.рф";
        CharBuffer asciiHost = CharBuffer.wrap(IDN.toASCII(host));
        short port = 10000;

        SocksCmdRequest rq = new SocksCmdRequest(SocksCmdType.BIND, SocksAddressType.DOMAIN, host, port);

Frequently Asked Questions

What is the SocksCmdRequestTest class?
SocksCmdRequestTest is a class in the netty codebase, defined in codec-socks/src/test/java/io/netty/handler/codec/socks/SocksCmdRequestTest.java.
Where is SocksCmdRequestTest defined?
SocksCmdRequestTest is defined in codec-socks/src/test/java/io/netty/handler/codec/socks/SocksCmdRequestTest.java at line 32.

Analyze Your Own Codebase

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

Try Supermodel Free