WebSocketServerExtensionHandlerTest Class — netty Architecture
Architecture documentation for the WebSocketServerExtensionHandlerTest class in WebSocketServerExtensionHandlerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a4ffc697_3118_3b10_73a5_b883db644471["WebSocketServerExtensionHandlerTest"] 5a577a80_31c6_30f2_167f_9f8613cd8b49["WebSocketServerExtensionHandlerTest.java"] a4ffc697_3118_3b10_73a5_b883db644471 -->|defined in| 5a577a80_31c6_30f2_167f_9f8613cd8b49 1aa14b95_2638_6143_b9d0_154cff49a541["testMainSuccess()"] a4ffc697_3118_3b10_73a5_b883db644471 -->|method| 1aa14b95_2638_6143_b9d0_154cff49a541 ea7283b6_ce52_7986_bcb2_606f7ed92046["testCompatibleExtensionTogetherSuccess()"] a4ffc697_3118_3b10_73a5_b883db644471 -->|method| ea7283b6_ce52_7986_bcb2_606f7ed92046 6cfeb89e_f41b_4a8b_24d5_26c2512ce866["testNoneExtensionMatchingSuccess()"] a4ffc697_3118_3b10_73a5_b883db644471 -->|method| 6cfeb89e_f41b_4a8b_24d5_26c2512ce866 87c04081_ef58_cefe_54ad_ee7222d46372["testExtensionHandlerNotRemovedByFailureWritePromise()"] a4ffc697_3118_3b10_73a5_b883db644471 -->|method| 87c04081_ef58_cefe_54ad_ee7222d46372 5c3eb4cb_658e_19ab_bb4b_870cbe7a6013["testExtensionMultipleRequests()"] a4ffc697_3118_3b10_73a5_b883db644471 -->|method| 5c3eb4cb_658e_19ab_bb4b_870cbe7a6013
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandlerTest.java lines 39–287
public class WebSocketServerExtensionHandlerTest {
WebSocketServerExtensionHandshaker mainHandshakerMock =
mock(WebSocketServerExtensionHandshaker.class, "mainHandshaker");
WebSocketServerExtensionHandshaker fallbackHandshakerMock =
mock(WebSocketServerExtensionHandshaker.class, "fallbackHandshaker");
WebSocketServerExtensionHandshaker main2HandshakerMock =
mock(WebSocketServerExtensionHandshaker.class, "main2Handshaker");
WebSocketServerExtension mainExtensionMock =
mock(WebSocketServerExtension.class, "mainExtension");
WebSocketServerExtension fallbackExtensionMock =
mock(WebSocketServerExtension.class, "fallbackExtension");
WebSocketServerExtension main2ExtensionMock =
mock(WebSocketServerExtension.class, "main2Extension");
@Test
public void testMainSuccess() {
// initialize
when(mainHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("main"))).
thenReturn(mainExtensionMock);
when(mainHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("fallback"))).
thenReturn(null);
when(fallbackHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("fallback"))).
thenReturn(fallbackExtensionMock);
when(fallbackHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("main"))).
thenReturn(null);
when(mainExtensionMock.rsv()).thenReturn(WebSocketExtension.RSV1);
when(mainExtensionMock.newReponseData()).thenReturn(
new WebSocketExtensionData("main", Collections.<String, String>emptyMap()));
when(mainExtensionMock.newExtensionEncoder()).thenReturn(new DummyEncoder());
when(mainExtensionMock.newExtensionDecoder()).thenReturn(new DummyDecoder());
when(fallbackExtensionMock.rsv()).thenReturn(WebSocketExtension.RSV1);
// execute
WebSocketServerExtensionHandler extensionHandler =
new WebSocketServerExtensionHandler(mainHandshakerMock, fallbackHandshakerMock);
EmbeddedChannel ch = new EmbeddedChannel(extensionHandler);
HttpRequest req = newUpgradeRequest("main, fallback");
ch.writeInbound(req);
HttpResponse res = newUpgradeResponse(null);
ch.writeOutbound(res);
HttpResponse res2 = ch.readOutbound();
List<WebSocketExtensionData> resExts = WebSocketExtensionUtil.extractExtensions(
res2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));
// test
assertNull(ch.pipeline().context(extensionHandler));
assertEquals(1, resExts.size());
assertEquals("main", resExts.get(0).name());
assertTrue(resExts.get(0).parameters().isEmpty());
assertNotNull(ch.pipeline().get(DummyDecoder.class));
assertNotNull(ch.pipeline().get(DummyEncoder.class));
verify(mainHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("main"));
verify(mainHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("fallback"));
verify(fallbackHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("fallback"));
verify(mainExtensionMock, atLeastOnce()).rsv();
verify(mainExtensionMock).newReponseData();
verify(mainExtensionMock).newExtensionEncoder();
verify(mainExtensionMock).newExtensionDecoder();
verify(fallbackExtensionMock, atLeastOnce()).rsv();
}
@Test
public void testCompatibleExtensionTogetherSuccess() {
// initialize
when(mainHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("main"))).
thenReturn(mainExtensionMock);
when(mainHandshakerMock.handshakeExtension(webSocketExtensionDataMatcher("fallback"))).
thenReturn(null);
Source
Frequently Asked Questions
What is the WebSocketServerExtensionHandlerTest class?
WebSocketServerExtensionHandlerTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandlerTest.java.
Where is WebSocketServerExtensionHandlerTest defined?
WebSocketServerExtensionHandlerTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandlerTest.java at line 39.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free