Home / Class/ WebSocketServerCompressionHandlerTest Class — netty Architecture

WebSocketServerCompressionHandlerTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb["WebSocketServerCompressionHandlerTest"]
  3af7aabd_f6ed_3970_103a_8f466c59689b["WebSocketServerCompressionHandlerTest.java"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|defined in| 3af7aabd_f6ed_3970_103a_8f466c59689b
  6cdddcd7_9ce9_ee14_5c01_42a1e1db0bf7["testNormalSuccess()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| 6cdddcd7_9ce9_ee14_5c01_42a1e1db0bf7
  c38d55c7_bc92_343a_bbe5_191dfc5fc65b["testClientWindowSizeSuccess()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| c38d55c7_bc92_343a_bbe5_191dfc5fc65b
  43881a88_f096_f738_a26d_842870855243["testClientWindowSizeUnavailable()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| 43881a88_f096_f738_a26d_842870855243
  db90509f_06c2_6a44_903f_d52d7c221cc1["testServerWindowSizeSuccess()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| db90509f_06c2_6a44_903f_d52d7c221cc1
  1e1d6792_93ed_ccf7_ac3a_63e3a0d16467["testServerWindowSizeDisable()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| 1e1d6792_93ed_ccf7_ac3a_63e3a0d16467
  c1d37ad3_daf3_a443_e30f_12a751109b9c["testServerNoContext()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| c1d37ad3_daf3_a443_e30f_12a751109b9c
  278db3fd_0042_142e_0dcc_6699bd6cf233["testClientNoContext()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| 278db3fd_0042_142e_0dcc_6699bd6cf233
  ead2c322_c860_d7ad_8614_1ddffda4dabe["testServerWindowSizeDisableThenFallback()"]
  f04a1df1_c87f_2c9a_6db7_545340c5a3cb -->|method| ead2c322_c860_d7ad_8614_1ddffda4dabe

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/WebSocketServerCompressionHandlerTest.java lines 39–201

public class WebSocketServerCompressionHandlerTest {

    @Test
    public void testNormalSuccess() {
        EmbeddedChannel ch = new EmbeddedChannel(new WebSocketServerCompressionHandler(0));

        HttpRequest req = newUpgradeRequest(PERMESSAGE_DEFLATE_EXTENSION);
        ch.writeInbound(req);

        HttpResponse res = newUpgradeResponse(null);
        ch.writeOutbound(res);

        HttpResponse res2 = ch.readOutbound();
        List<WebSocketExtensionData> exts = WebSocketExtensionUtil.extractExtensions(
                res2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, exts.get(0).name());
        assertTrue(exts.get(0).parameters().isEmpty());
        assertNotNull(ch.pipeline().get(PerMessageDeflateDecoder.class));
        assertNotNull(ch.pipeline().get(PerMessageDeflateEncoder.class));
    }

    @Test
    public void testClientWindowSizeSuccess() {
        EmbeddedChannel ch = new EmbeddedChannel(new WebSocketServerExtensionHandler(
                new PerMessageDeflateServerExtensionHandshaker(6, false, 10, false, false, 0)));

        HttpRequest req = newUpgradeRequest(PERMESSAGE_DEFLATE_EXTENSION + "; " + CLIENT_MAX_WINDOW);
        ch.writeInbound(req);

        HttpResponse res = newUpgradeResponse(null);
        ch.writeOutbound(res);

        HttpResponse res2 = ch.readOutbound();
        List<WebSocketExtensionData> exts = WebSocketExtensionUtil.extractExtensions(
                res2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, exts.get(0).name());
        assertEquals("10", exts.get(0).parameters().get(CLIENT_MAX_WINDOW));
        assertNotNull(ch.pipeline().get(PerMessageDeflateDecoder.class));
        assertNotNull(ch.pipeline().get(PerMessageDeflateEncoder.class));
    }

    @Test
    public void testClientWindowSizeUnavailable() {
        EmbeddedChannel ch = new EmbeddedChannel(new WebSocketServerExtensionHandler(
                new PerMessageDeflateServerExtensionHandshaker(6, false, 10, false, false, 0)));

        HttpRequest req = newUpgradeRequest(PERMESSAGE_DEFLATE_EXTENSION);
        ch.writeInbound(req);

        HttpResponse res = newUpgradeResponse(null);
        ch.writeOutbound(res);

        HttpResponse res2 = ch.readOutbound();
        List<WebSocketExtensionData> exts = WebSocketExtensionUtil.extractExtensions(
                res2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, exts.get(0).name());
        assertTrue(exts.get(0).parameters().isEmpty());
        assertNotNull(ch.pipeline().get(PerMessageDeflateDecoder.class));
        assertNotNull(ch.pipeline().get(PerMessageDeflateEncoder.class));
    }

    @Test
    public void testServerWindowSizeSuccess() {
        EmbeddedChannel ch = new EmbeddedChannel(new WebSocketServerExtensionHandler(
                new PerMessageDeflateServerExtensionHandshaker(6, true, 15, false, false, 0)));

        HttpRequest req = newUpgradeRequest(PERMESSAGE_DEFLATE_EXTENSION + "; " + SERVER_MAX_WINDOW + "=10");
        ch.writeInbound(req);

        HttpResponse res = newUpgradeResponse(null);
        ch.writeOutbound(res);

        HttpResponse res2 = ch.readOutbound();
        List<WebSocketExtensionData> exts = WebSocketExtensionUtil.extractExtensions(
                res2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, exts.get(0).name());
        assertEquals("10", exts.get(0).parameters().get(SERVER_MAX_WINDOW));

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free