Home / Class/ CloseWebSocketFrameTest Class — netty Architecture

CloseWebSocketFrameTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0["CloseWebSocketFrameTest"]
  346cf7e3_55ca_e7ca_4406_bb645e3ec89a["CloseWebSocketFrameTest.java"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|defined in| 346cf7e3_55ca_e7ca_4406_bb645e3ec89a
  843f968c_e696_a2da_3446_43d4a65625a4["testInvalidCode()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| 843f968c_e696_a2da_3446_43d4a65625a4
  fed5d8d1_a9e0_d578_51a9_832d41f15b1e["testValidCode()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| fed5d8d1_a9e0_d578_51a9_832d41f15b1e
  3a18f8b5_9109_8374_bceb_b59dcedf901f["testNonZeroReaderIndex()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| 3a18f8b5_9109_8374_bceb_b59dcedf901f
  9e08fd8e_583b_51ef_cc72_35d3e1782846["testCustomCloseCode()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| 9e08fd8e_583b_51ef_cc72_35d3e1782846
  522a732b_506f_b6be_4e0b_735f03cd41a9["doTestInvalidCode()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| 522a732b_506f_b6be_4e0b_735f03cd41a9
  721cb817_3b2c_38c4_a169_5b8ecfa0f15f["doTestValidCode()"]
  2e40898a_0f96_6a9c_3a33_ff2c3c4a8ef0 -->|method| 721cb817_3b2c_38c4_a169_5b8ecfa0f15f

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/websocketx/CloseWebSocketFrameTest.java lines 24–104

class CloseWebSocketFrameTest {

    @Test
    void testInvalidCode() {
        doTestInvalidCode(new ThrowableAssert.ThrowingCallable() {

            @Override
            public void call() throws RuntimeException {
                new CloseWebSocketFrame(WebSocketCloseStatus.ABNORMAL_CLOSURE);
            }
        });

        doTestInvalidCode(new ThrowableAssert.ThrowingCallable() {

            @Override
            public void call() throws RuntimeException {
                new CloseWebSocketFrame(WebSocketCloseStatus.ABNORMAL_CLOSURE, "invalid code");
            }
        });

        doTestInvalidCode(new ThrowableAssert.ThrowingCallable() {

            @Override
            public void call() throws RuntimeException {
                new CloseWebSocketFrame(1006, "invalid code");
            }
        });

        doTestInvalidCode(new ThrowableAssert.ThrowingCallable() {

            @Override
            public void call() throws RuntimeException {
                new CloseWebSocketFrame(true, 0, 1006, "invalid code");
            }
        });
    }

    @Test
    void testValidCode() {
        doTestValidCode(new CloseWebSocketFrame(WebSocketCloseStatus.NORMAL_CLOSURE),
                WebSocketCloseStatus.NORMAL_CLOSURE.code(), WebSocketCloseStatus.NORMAL_CLOSURE.reasonText());

        doTestValidCode(new CloseWebSocketFrame(WebSocketCloseStatus.NORMAL_CLOSURE, "valid code"),
                WebSocketCloseStatus.NORMAL_CLOSURE.code(), "valid code");

        doTestValidCode(new CloseWebSocketFrame(1000, "valid code"), 1000, "valid code");

        doTestValidCode(new CloseWebSocketFrame(true, 0, 1000, "valid code"), 1000, "valid code");
    }

    @Test
    void testNonZeroReaderIndex() {
        ByteBuf buffer = Unpooled.buffer().writeZero(1);
        buffer.writeShort(WebSocketCloseStatus.NORMAL_CLOSURE.code())
                .writeCharSequence(WebSocketCloseStatus.NORMAL_CLOSURE.reasonText(), CharsetUtil.US_ASCII);
        doTestValidCode(new CloseWebSocketFrame(true, 0, buffer.skipBytes(1)),
                WebSocketCloseStatus.NORMAL_CLOSURE.code(), WebSocketCloseStatus.NORMAL_CLOSURE.reasonText());
    }

    @Test
    void testCustomCloseCode() {
        ByteBuf buffer = Unpooled.buffer().writeZero(1);
        buffer.writeShort(60000)
                .writeCharSequence("Custom close code", CharsetUtil.US_ASCII);
        doTestValidCode(new CloseWebSocketFrame(true, 0, buffer.skipBytes(1)),
                60000, "Custom close code");
    }

    private static void doTestInvalidCode(ThrowableAssert.ThrowingCallable callable) {
        assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(callable);
    }

    private static void doTestValidCode(CloseWebSocketFrame frame, int expectedCode, String expectedReason) {
        try {
            assertThat(frame.statusCode()).isEqualTo(expectedCode);
            assertThat(frame.reasonText()).isEqualTo(expectedReason);
        } finally {
            frame.release();
        }
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free