Home / Class/ DefaultHttp2ConnectionTest Class — netty Architecture

DefaultHttp2ConnectionTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  8ad19b2d_97df_9c7f_e36e_ed43457889f2["DefaultHttp2ConnectionTest"]
  352a23e0_6abd_a697_4929_e2deba8ac19b["DefaultHttp2ConnectionTest.java"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|defined in| 352a23e0_6abd_a697_4929_e2deba8ac19b
  2bc89047_0874_a4b1_e1ea_abf0f420fa2a["beforeClass()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 2bc89047_0874_a4b1_e1ea_abf0f420fa2a
  35df9a48_a6ed_5865_2dd1_ec630c4f7a7d["afterClass()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 35df9a48_a6ed_5865_2dd1_ec630c4f7a7d
  5c3a3b78_f466_ffbe_8d4d_d28a227c3373["setup()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 5c3a3b78_f466_ffbe_8d4d_d28a227c3373
  21503166_22cb_ce4d_5c1a_e5e5e7da8c47["getStreamWithoutStreamShouldReturnNull()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 21503166_22cb_ce4d_5c1a_e5e5e7da8c47
  a956dabb_cdd6_7947_79d5_f8696e11c53b["removeAllStreamsWithEmptyStreams()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| a956dabb_cdd6_7947_79d5_f8696e11c53b
  450e6ab6_7ee2_3aff_5b8e_ee7617ab2d67["removeAllStreamsWithJustOneLocalStream()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 450e6ab6_7ee2_3aff_5b8e_ee7617ab2d67
  17cb3848_7a41_8311_3a64_9ba93e6e8961["removeAllStreamsWithJustOneRemoveStream()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 17cb3848_7a41_8311_3a64_9ba93e6e8961
  bb139a83_5cd3_bf72_5575_b3341847dcb9["removeAllStreamsWithManyActiveStreams()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| bb139a83_5cd3_bf72_5575_b3341847dcb9
  03661793_673b_bdfd_de1e_eb7ffe08504f["removeIndividualStreamsWhileCloseDoesNotNPE()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 03661793_673b_bdfd_de1e_eb7ffe08504f
  28b320ed_4638_376e_4c97_0d96b825a4da["removeAllStreamsWhileIteratingActiveStreams()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 28b320ed_4638_376e_4c97_0d96b825a4da
  db615c66_b0fb_664a_98b1_36605e1a7295["removeAllStreamsWhileIteratingActiveStreamsAndExceptionOccurs()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| db615c66_b0fb_664a_98b1_36605e1a7295
  1ed70ee7_bb67_cb69_9fa4_8c728ca80f2d["goAwayReceivedShouldCloseStreamsGreaterThanLastStream()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| 1ed70ee7_bb67_cb69_9fa4_8c728ca80f2d
  d59e475a_f067_5847_2f05_5a4246affa0a["goAwaySentShouldCloseStreamsGreaterThanLastStream()"]
  8ad19b2d_97df_9c7f_e36e_ed43457889f2 -->|method| d59e475a_f067_5847_2f05_5a4246affa0a

Relationship Graph

Source Code

codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionTest.java lines 58–748

public class DefaultHttp2ConnectionTest {

    private DefaultHttp2Connection server;
    private DefaultHttp2Connection client;
    private static EventLoopGroup group;

    @Mock
    private Http2Connection.Listener clientListener;

    @Mock
    private Http2Connection.Listener clientListener2;

    @BeforeAll
    public static void beforeClass() {
        group = new MultiThreadIoEventLoopGroup(2, LocalIoHandler.newFactory());
    }

    @AfterAll
    public static void afterClass() {
        group.shutdownGracefully();
    }

    @BeforeEach
    public void setup() {
        MockitoAnnotations.initMocks(this);

        server = new DefaultHttp2Connection(true);
        client = new DefaultHttp2Connection(false);
        client.addListener(clientListener);
        doAnswer(new Answer<Void>() {
            @Override
            public Void answer(InvocationOnMock invocation) throws Throwable {
                assertNotNull(client.stream(((Http2Stream) invocation.getArgument(0)).id()));
                return null;
            }
        }).when(clientListener).onStreamClosed(any(Http2Stream.class));
        doAnswer(new Answer<Void>() {
            @Override
            public Void answer(InvocationOnMock invocation) throws Throwable {
                assertNull(client.stream(((Http2Stream) invocation.getArgument(0)).id()));
                return null;
            }
        }).when(clientListener).onStreamRemoved(any(Http2Stream.class));
    }

    @Test
    public void getStreamWithoutStreamShouldReturnNull() {
        assertNull(server.stream(100));
    }

    @Test
    public void removeAllStreamsWithEmptyStreams() throws InterruptedException {
        testRemoveAllStreams();
    }

    @Test
    public void removeAllStreamsWithJustOneLocalStream() throws Exception {
        client.local().createStream(3, false);
        testRemoveAllStreams();
    }

    @Test
    public void removeAllStreamsWithJustOneRemoveStream() throws Exception {
        client.remote().createStream(2, false);
        testRemoveAllStreams();
    }

    @Test
    public void removeAllStreamsWithManyActiveStreams() throws Exception {
        Endpoint<Http2RemoteFlowController> remote = client.remote();
        Endpoint<Http2LocalFlowController> local = client.local();
        for (int c = 3, s = 2; c < 5000; c += 2, s += 2) {
            local.createStream(c, false);
            remote.createStream(s, false);
        }
        testRemoveAllStreams();
    }

    @Test
    public void removeIndividualStreamsWhileCloseDoesNotNPE() throws Exception {
        final Http2Stream streamA = client.local().createStream(3, false);

Frequently Asked Questions

What is the DefaultHttp2ConnectionTest class?
DefaultHttp2ConnectionTest is a class in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionTest.java.
Where is DefaultHttp2ConnectionTest defined?
DefaultHttp2ConnectionTest is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionTest.java at line 58.

Analyze Your Own Codebase

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

Try Supermodel Free