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));
Source
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