Http2EmptyDataFrameListenerTest Class — netty Architecture
Architecture documentation for the Http2EmptyDataFrameListenerTest class in Http2EmptyDataFrameListenerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 446e4d2f_e8e9_469c_cbb8_17210c5d5706["Http2EmptyDataFrameListenerTest"] f8696704_8ef1_20c1_8cdc_790013086ddb["Http2EmptyDataFrameListenerTest.java"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|defined in| f8696704_8ef1_20c1_8cdc_790013086ddb 7fdfc535_c34b_1dce_1885_86288fa459b2["setUp()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| 7fdfc535_c34b_1dce_1885_86288fa459b2 a4bc33cd_9432_46ef_c51c_f0e9f5a3bdb0["testEmptyDataFrames()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| a4bc33cd_9432_46ef_c51c_f0e9f5a3bdb0 7c9af32e_6976_ed3c_4ff4_0d4122a17945["testEmptyDataFramesWithNonEmptyInBetween()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| 7c9af32e_6976_ed3c_4ff4_0d4122a17945 5094c4ef_9cc8_08aa_f438_6c77773e8192["testEmptyDataFramesWithEndOfStreamInBetween()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| 5094c4ef_9cc8_08aa_f438_6c77773e8192 c66ad444_7552_3a2a_67aa_b4da2f200733["testEmptyDataFramesWithHeaderFrameInBetween()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| c66ad444_7552_3a2a_67aa_b4da2f200733 01977ed5_b152_99ca_f453_afb28cbdeb93["testEmptyDataFramesWithHeaderFrameInBetween2()"] 446e4d2f_e8e9_469c_cbb8_17210c5d5706 -->|method| 01977ed5_b152_99ca_f453_afb28cbdeb93
Relationship Graph
Source Code
codec-http2/src/test/java/io/netty/handler/codec/http2/Http2EmptyDataFrameListenerTest.java lines 33–144
public class Http2EmptyDataFrameListenerTest {
@Mock
private Http2FrameListener frameListener;
@Mock
private ChannelHandlerContext ctx;
@Mock
private ByteBuf nonEmpty;
private Http2EmptyDataFrameListener listener;
@BeforeEach
public void setUp() {
initMocks(this);
when(nonEmpty.isReadable()).thenReturn(true);
listener = new Http2EmptyDataFrameListener(frameListener, 2);
}
@Test
public void testEmptyDataFrames() throws Http2Exception {
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
assertThrows(Http2Exception.class, new Executable() {
@Override
public void execute() throws Throwable {
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
}
});
verify(frameListener, times(2)).onDataRead(eq(ctx), eq(1), any(ByteBuf.class), eq(0), eq(false));
}
@Test
public void testEmptyDataFramesWithNonEmptyInBetween() throws Http2Exception {
final Http2EmptyDataFrameListener listener = new Http2EmptyDataFrameListener(frameListener, 2);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, nonEmpty, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
assertThrows(Http2Exception.class, new Executable() {
@Override
public void execute() throws Throwable {
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
}
});
verify(frameListener, times(4)).onDataRead(eq(ctx), eq(1), any(ByteBuf.class), eq(0), eq(false));
}
@Test
public void testEmptyDataFramesWithEndOfStreamInBetween() throws Http2Exception {
final Http2EmptyDataFrameListener listener = new Http2EmptyDataFrameListener(frameListener, 2);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, true);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
assertThrows(Http2Exception.class, new Executable() {
@Override
public void execute() throws Throwable {
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
}
});
verify(frameListener, times(1)).onDataRead(eq(ctx), eq(1), any(ByteBuf.class), eq(0), eq(true));
verify(frameListener, times(3)).onDataRead(eq(ctx), eq(1), any(ByteBuf.class), eq(0), eq(false));
}
@Test
public void testEmptyDataFramesWithHeaderFrameInBetween() throws Http2Exception {
final Http2EmptyDataFrameListener listener = new Http2EmptyDataFrameListener(frameListener, 2);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onHeadersRead(ctx, 1, EmptyHttp2Headers.INSTANCE, 0, true);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
listener.onDataRead(ctx, 1, Unpooled.EMPTY_BUFFER, 0, false);
assertThrows(Http2Exception.class, new Executable() {
Defined In
Source
Frequently Asked Questions
What is the Http2EmptyDataFrameListenerTest class?
Http2EmptyDataFrameListenerTest is a class in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2EmptyDataFrameListenerTest.java.
Where is Http2EmptyDataFrameListenerTest defined?
Http2EmptyDataFrameListenerTest is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2EmptyDataFrameListenerTest.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free