testSuccessfulUpgrade() — netty Function Reference
Architecture documentation for the testSuccessfulUpgrade() function in HttpClientUpgradeHandlerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD dcffa64c_27eb_265e_8d81_5c460e9d842a["testSuccessfulUpgrade()"] 64e7cef3_ca61_31ce_7834_0d1da2dc4960["HttpClientUpgradeHandlerTest"] dcffa64c_27eb_265e_8d81_5c460e9d842a -->|defined in| 64e7cef3_ca61_31ce_7834_0d1da2dc4960 8583d0e4_1a3e_dc52_4bb2_ca48f6d5bbad["userEventTriggered()"] dcffa64c_27eb_265e_8d81_5c460e9d842a -->|calls| 8583d0e4_1a3e_dc52_4bb2_ca48f6d5bbad style dcffa64c_27eb_265e_8d81_5c460e9d842a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/HttpClientUpgradeHandlerTest.java lines 77–128
@Test
public void testSuccessfulUpgrade() {
HttpClientUpgradeHandler.SourceCodec sourceCodec = new FakeSourceCodec();
HttpClientUpgradeHandler.UpgradeCodec upgradeCodec = new FakeUpgradeCodec();
HttpClientUpgradeHandler handler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, 1024);
UserEventCatcher catcher = new UserEventCatcher();
EmbeddedChannel channel = new EmbeddedChannel(catcher);
final HttpRequest afterUpgradeMessage =
new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "netty.io");
final ChannelPromise promise = channel.newPromise();
channel.pipeline().addFirst(new ChannelInboundHandlerAdapter() {
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
if (evt == HttpClientUpgradeHandler.UpgradeEvent.UPGRADE_SUCCESSFUL) {
ctx.writeAndFlush(afterUpgradeMessage, promise);
}
super.userEventTriggered(ctx, evt);
}
});
channel.pipeline().addFirst("upgrade", handler);
assertTrue(
channel.writeOutbound(new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "netty.io")));
FullHttpRequest request = channel.readOutbound();
assertEquals(2, request.headers().size());
assertTrue(request.headers().contains(HttpHeaderNames.UPGRADE, "fancyhttp", false));
assertTrue(request.headers().contains("connection", "upgrade", false));
assertTrue(request.release());
assertEquals(HttpClientUpgradeHandler.UpgradeEvent.UPGRADE_ISSUED, catcher.getUserEvent());
HttpResponse upgradeResponse =
new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.SWITCHING_PROTOCOLS);
upgradeResponse.headers().add(HttpHeaderNames.UPGRADE, "fancyhttp");
assertFalse(channel.writeInbound(upgradeResponse));
assertFalse(channel.writeInbound(LastHttpContent.EMPTY_LAST_CONTENT));
assertEquals(HttpClientUpgradeHandler.UpgradeEvent.UPGRADE_SUCCESSFUL, catcher.getUserEvent());
assertNull(channel.pipeline().get("upgrade"));
assertTrue(channel.writeInbound(new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK)));
FullHttpResponse response = channel.readInbound();
assertEquals(HttpResponseStatus.OK, response.status());
assertTrue(response.release());
assertTrue(promise.isSuccess());
assertEquals(afterUpgradeMessage, channel.readOutbound());
assertFalse(channel.finish());
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does testSuccessfulUpgrade() do?
testSuccessfulUpgrade() is a function in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpClientUpgradeHandlerTest.java.
Where is testSuccessfulUpgrade() defined?
testSuccessfulUpgrade() is defined in codec-http/src/test/java/io/netty/handler/codec/http/HttpClientUpgradeHandlerTest.java at line 77.
What does testSuccessfulUpgrade() call?
testSuccessfulUpgrade() calls 1 function(s): userEventTriggered.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free