Home / Function/ testIfMainAndFallbackUseRSV1WillFail() — netty Function Reference

testIfMainAndFallbackUseRSV1WillFail() — netty Function Reference

Architecture documentation for the testIfMainAndFallbackUseRSV1WillFail() function in WebSocketClientExtensionHandlerTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  723bae43_b3d5_199f_591a_8a6b6a21e511["testIfMainAndFallbackUseRSV1WillFail()"]
  2abc6c0d_8cdb_d5d2_1b96_701b273a7099["WebSocketClientExtensionHandlerTest"]
  723bae43_b3d5_199f_591a_8a6b6a21e511 -->|defined in| 2abc6c0d_8cdb_d5d2_1b96_701b273a7099
  style 723bae43_b3d5_199f_591a_8a6b6a21e511 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketClientExtensionHandlerTest.java lines 224–276

    @Test
    public void testIfMainAndFallbackUseRSV1WillFail() {
        // initialize
        when(mainHandshakerMock.newRequestData()).
                thenReturn(new WebSocketExtensionData("main", Collections.<String, String>emptyMap()));
        when(mainHandshakerMock.handshakeExtension(
                webSocketExtensionDataMatcher("main"))).thenReturn(mainExtensionMock);
        when(mainHandshakerMock.handshakeExtension(
                webSocketExtensionDataMatcher("fallback"))).thenReturn(null);
        when(fallbackHandshakerMock.newRequestData()).
                thenReturn(new WebSocketExtensionData("fallback", Collections.<String, String>emptyMap()));
        when(fallbackHandshakerMock.handshakeExtension(
                webSocketExtensionDataMatcher("main"))).thenReturn(null);
        when(fallbackHandshakerMock.handshakeExtension(
                webSocketExtensionDataMatcher("fallback"))).thenReturn(fallbackExtensionMock);
        when(mainExtensionMock.rsv()).thenReturn(WebSocketExtension.RSV1);
        when(fallbackExtensionMock.rsv()).thenReturn(WebSocketExtension.RSV1);

        // execute
        EmbeddedChannel ch = new EmbeddedChannel(new WebSocketClientExtensionHandler(
                mainHandshakerMock, fallbackHandshakerMock));

        HttpRequest req = newUpgradeRequest(null);
        ch.writeOutbound(req);

        HttpRequest req2 = ch.readOutbound();
        List<WebSocketExtensionData> reqExts = WebSocketExtensionUtil.extractExtensions(
                req2.headers().get(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS));

        HttpResponse res = newUpgradeResponse("main, fallback");
        try {
            ch.writeInbound(res);
        } catch (CodecException e) {
            return;
        }
        fail("Expected to encounter a CodecException");

        // test
        assertEquals(2, reqExts.size());
        assertEquals("main", reqExts.get(0).name());
        assertEquals("fallback", reqExts.get(1).name());

        verify(mainHandshakerMock).newRequestData();
        verify(mainHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("main"));
        verify(mainHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("fallback"));

        verify(fallbackHandshakerMock).newRequestData();
        verify(fallbackHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("main"));
        verify(fallbackHandshakerMock, atLeastOnce()).handshakeExtension(webSocketExtensionDataMatcher("fallback"));

        verify(mainExtensionMock, atLeastOnce()).rsv();
        verify(fallbackExtensionMock, atLeastOnce()).rsv();
    }

Domain

Subdomains

Frequently Asked Questions

What does testIfMainAndFallbackUseRSV1WillFail() do?
testIfMainAndFallbackUseRSV1WillFail() is a function in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketClientExtensionHandlerTest.java.
Where is testIfMainAndFallbackUseRSV1WillFail() defined?
testIfMainAndFallbackUseRSV1WillFail() is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketClientExtensionHandlerTest.java at line 224.

Analyze Your Own Codebase

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

Try Supermodel Free