Home / Class/ PerMessageDeflateClientExtensionHandshakerTest Class — netty Architecture

PerMessageDeflateClientExtensionHandshakerTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162["PerMessageDeflateClientExtensionHandshakerTest"]
  9ad6c17c_80da_9554_e5f9_7aefe22b422c["PerMessageDeflateClientExtensionHandshakerTest.java"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|defined in| 9ad6c17c_80da_9554_e5f9_7aefe22b422c
  83b7415d_f7ed_f45b_5bbd_ad0ec9b99381["testNormalData()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| 83b7415d_f7ed_f45b_5bbd_ad0ec9b99381
  dcd1b8a8_58ab_73a9_ec4a_6077a2feecee["testCustomData()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| dcd1b8a8_58ab_73a9_ec4a_6077a2feecee
  f46092ef_7593_9cab_2fcb_258e31d165e4["testNormalHandshake()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| f46092ef_7593_9cab_2fcb_258e31d165e4
  7ee65e0e_8220_b850_d60f_0e088c3fd264["testCustomHandshake()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| 7ee65e0e_8220_b850_d60f_0e088c3fd264
  d804a47d_8317_9edb_a4ac_224afaa0dae4["testParameterValidation()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| d804a47d_8317_9edb_a4ac_224afaa0dae4
  a8bdfb0d_e101_2840_c151_ae0ecfdf0b7f["testServerNoContextTakeover()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| a8bdfb0d_e101_2840_c151_ae0ecfdf0b7f
  9b3bc35a_22be_61bb_9245_f213e240b9ef["testDecoderNoClientContext()"]
  96c9ad65_49f4_dedc_4a3d_ff783cf8c162 -->|method| 9b3bc35a_22be_61bb_9245_f213e240b9ef

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateClientExtensionHandshakerTest.java lines 40–246

public class PerMessageDeflateClientExtensionHandshakerTest {

    @Test
    public void testNormalData() {
        PerMessageDeflateClientExtensionHandshaker handshaker =
                new PerMessageDeflateClientExtensionHandshaker(0);

        WebSocketExtensionData data = handshaker.newRequestData();

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, data.name());
        assertEquals(ZlibCodecFactory.isSupportingWindowSizeAndMemLevel() ? 1 : 0, data.parameters().size());
    }

    @Test
    public void testCustomData() {
        PerMessageDeflateClientExtensionHandshaker handshaker =
                new PerMessageDeflateClientExtensionHandshaker(6, true, 10, true, true, 0);

        WebSocketExtensionData data = handshaker.newRequestData();

        assertEquals(PERMESSAGE_DEFLATE_EXTENSION, data.name());
        assertTrue(data.parameters().containsKey(CLIENT_MAX_WINDOW));
        assertTrue(data.parameters().containsKey(SERVER_MAX_WINDOW));
        assertEquals("10", data.parameters().get(SERVER_MAX_WINDOW));
        assertTrue(data.parameters().containsKey(CLIENT_MAX_WINDOW));
        assertTrue(data.parameters().containsKey(SERVER_MAX_WINDOW));
    }

    @Test
    public void testNormalHandshake() {
        PerMessageDeflateClientExtensionHandshaker handshaker =
                new PerMessageDeflateClientExtensionHandshaker(0);

        WebSocketClientExtension extension = handshaker.handshakeExtension(
                new WebSocketExtensionData(PERMESSAGE_DEFLATE_EXTENSION, Collections.<String, String>emptyMap()));

        assertNotNull(extension);
        assertEquals(RSV1, extension.rsv());
        assertTrue(extension.newExtensionDecoder() instanceof PerMessageDeflateDecoder);
        assertTrue(extension.newExtensionEncoder() instanceof PerMessageDeflateEncoder);
    }

    @Test
    public void testCustomHandshake() {
        WebSocketClientExtension extension;
        Map<String, String> parameters;

        // initialize
        PerMessageDeflateClientExtensionHandshaker handshaker =
                new PerMessageDeflateClientExtensionHandshaker(6, true, 10, true, true, 0);

        parameters = new HashMap<String, String>();
        parameters.put(CLIENT_MAX_WINDOW, "12");
        parameters.put(SERVER_MAX_WINDOW, "8");
        parameters.put(CLIENT_NO_CONTEXT, null);
        parameters.put(SERVER_NO_CONTEXT, null);

        // execute
        extension = handshaker.handshakeExtension(
                new WebSocketExtensionData(PERMESSAGE_DEFLATE_EXTENSION, parameters));

        // test
        assertNotNull(extension);
        assertEquals(RSV1, extension.rsv());
        assertTrue(extension.newExtensionDecoder() instanceof PerMessageDeflateDecoder);
        assertTrue(extension.newExtensionEncoder() instanceof PerMessageDeflateEncoder);

        // initialize
        parameters = new HashMap<String, String>();
        parameters.put(SERVER_MAX_WINDOW, "10");
        parameters.put(SERVER_NO_CONTEXT, null);

        // execute
        extension = handshaker.handshakeExtension(
                new WebSocketExtensionData(PERMESSAGE_DEFLATE_EXTENSION, parameters));

        // test
        assertNotNull(extension);
        assertEquals(RSV1, extension.rsv());
        assertTrue(extension.newExtensionDecoder() instanceof PerMessageDeflateDecoder);
        assertTrue(extension.newExtensionEncoder() instanceof PerMessageDeflateEncoder);

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free