DefaultHttp2FrameWriterTest Class — netty Architecture
Architecture documentation for the DefaultHttp2FrameWriterTest class in DefaultHttp2FrameWriterTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2["DefaultHttp2FrameWriterTest"] 0f927659_2981_66dd_0fe9_514b829259f6["DefaultHttp2FrameWriterTest.java"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|defined in| 0f927659_2981_66dd_0fe9_514b829259f6 76b4a063_0511_6b28_64f4_fc4191b72dfa["setUp()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 76b4a063_0511_6b28_64f4_fc4191b72dfa 9a1f7555_cadf_8726_575d_603ae457278f["tearDown()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 9a1f7555_cadf_8726_575d_603ae457278f 18257f7e_6b98_6a1c_3968_7d340060c175["writeHeaders()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 18257f7e_6b98_6a1c_3968_7d340060c175 4c9ad236_c04a_4e5d_a035_be7fce79c626["writeHeadersWithPadding()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 4c9ad236_c04a_4e5d_a035_be7fce79c626 319920a7_54d9_3df9_dd1a_433547e9ddc8["writeHeadersNotEndStream()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 319920a7_54d9_3df9_dd1a_433547e9ddc8 b3b99abf_02d6_3dad_d7f4_65b4ff432db8["writeEmptyDataWithPadding()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| b3b99abf_02d6_3dad_d7f4_65b4ff432db8 a01b360b_47db_8abd_b42e_e7cf09ddc891["writeLargeHeaders()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| a01b360b_47db_8abd_b42e_e7cf09ddc891 38957c71_a60b_15d3_1d18_b92c73bc185f["writeLargeHeaderWithPadding()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 38957c71_a60b_15d3_1d18_b92c73bc185f e84a2955_0029_3e1a_568e_cfe327e62dc4["writeFrameZeroPayload()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| e84a2955_0029_3e1a_568e_cfe327e62dc4 9f64f681_d8f9_4c6a_a883_3fbae083f914["writeFrameHasPayload()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 9f64f681_d8f9_4c6a_a883_3fbae083f914 fcf23c6d_9ab0_2108_3620_13943a928423["writePriority()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| fcf23c6d_9ab0_2108_3620_13943a928423 6ac7593e_0df6_30e2_aba0_af897e3b0444["writePriorityDefaults()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| 6ac7593e_0df6_30e2_aba0_af897e3b0444 a6ef6861_01af_480a_ff2a_92aba33e00e0["headerPayload()"] 602c48d7_d78b_d8f3_745e_26d2ab6ce0f2 -->|method| a6ef6861_01af_480a_ff2a_92aba33e00e0
Relationship Graph
Source Code
codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2FrameWriterTest.java lines 46–409
public class DefaultHttp2FrameWriterTest {
private DefaultHttp2FrameWriter frameWriter;
private ByteBuf outbound;
private ByteBuf expectedOutbound;
private ChannelPromise promise;
private Http2HeadersEncoder http2HeadersEncoder;
@Mock
private Channel channel;
@Mock
private ChannelFuture future;
@Mock
private ChannelHandlerContext ctx;
@BeforeEach
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
http2HeadersEncoder = new DefaultHttp2HeadersEncoder(
Http2HeadersEncoder.NEVER_SENSITIVE, new HpackEncoder(false, 16, 0));
frameWriter = new DefaultHttp2FrameWriter(new DefaultHttp2HeadersEncoder(
Http2HeadersEncoder.NEVER_SENSITIVE, new HpackEncoder(false, 16, 0)));
outbound = Unpooled.buffer();
expectedOutbound = Unpooled.EMPTY_BUFFER;
promise = new DefaultChannelPromise(channel, ImmediateEventExecutor.INSTANCE);
Answer<Object> answer = new Answer<Object>() {
@Override
public Object answer(InvocationOnMock var1) throws Throwable {
Object msg = var1.getArgument(0);
if (msg instanceof ByteBuf) {
outbound.writeBytes((ByteBuf) msg);
}
ReferenceCountUtil.release(msg);
return future;
}
};
when(ctx.write(any())).then(answer);
when(ctx.write(any(), any(ChannelPromise.class))).then(answer);
when(ctx.alloc()).thenReturn(UnpooledByteBufAllocator.DEFAULT);
when(ctx.channel()).thenReturn(channel);
when(ctx.executor()).thenReturn(ImmediateEventExecutor.INSTANCE);
}
@AfterEach
public void tearDown() throws Exception {
outbound.release();
expectedOutbound.release();
frameWriter.close();
}
@Test
public void writeHeaders() throws Exception {
int streamId = 1;
Http2Headers headers = new DefaultHttp2Headers()
.method("GET").path("/").authority("foo.com").scheme("https");
frameWriter.writeHeaders(ctx, streamId, headers, 0, true, promise);
byte[] expectedPayload = headerPayload(streamId, headers);
byte[] expectedFrameBytes = {
(byte) 0x00, (byte) 0x00, (byte) 0x0a, // payload length = 10
(byte) 0x01, // payload type = 1
(byte) 0x05, // flags = (0x01 | 0x04)
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01 // stream id = 1
};
expectedOutbound = Unpooled.copiedBuffer(expectedFrameBytes, expectedPayload);
assertEquals(expectedOutbound, outbound);
}
@Test
public void writeHeadersWithPadding() throws Exception {
Source
Frequently Asked Questions
What is the DefaultHttp2FrameWriterTest class?
DefaultHttp2FrameWriterTest is a class in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2FrameWriterTest.java.
Where is DefaultHttp2FrameWriterTest defined?
DefaultHttp2FrameWriterTest is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2FrameWriterTest.java at line 46.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free