SpdyHeaderBlockRawDecoderTest Class — netty Architecture
Architecture documentation for the SpdyHeaderBlockRawDecoderTest class in SpdyHeaderBlockRawDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 9d24b120_0e9f_df39_05af_436eac53cd12["SpdyHeaderBlockRawDecoderTest"] 7e59f862_07fb_7fd4_e6ee_f92d3494c649["SpdyHeaderBlockRawDecoderTest.java"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|defined in| 7e59f862_07fb_7fd4_e6ee_f92d3494c649 530254a1_ccbf_fe44_426a_0e07f1f65bb0["setUp()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 530254a1_ccbf_fe44_426a_0e07f1f65bb0 72b6eda2_a7f6_e1ba_1748_1cb0e78c642c["tearDown()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 72b6eda2_a7f6_e1ba_1748_1cb0e78c642c 58054e2e_a07e_b5f1_8b3d_214accb98525["testEmptyHeaderBlock()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 58054e2e_a07e_b5f1_8b3d_214accb98525 1110afae_3eee_bf1c_649b_4386eabc6320["testZeroNameValuePairs()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 1110afae_3eee_bf1c_649b_4386eabc6320 bf4606ac_dcad_8b6f_3eb8_54f93181e6a1["testNegativeNameValuePairs()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| bf4606ac_dcad_8b6f_3eb8_54f93181e6a1 7699391d_aef6_b833_34a3_affb89de4dc8["testOneNameValuePair()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 7699391d_aef6_b833_34a3_affb89de4dc8 928174dc_2082_36ee_38f9_afe7f835e546["testMissingNameLength()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 928174dc_2082_36ee_38f9_afe7f835e546 38759a25_d0b4_0e25_b652_c70ea7a033a3["testZeroNameLength()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 38759a25_d0b4_0e25_b652_c70ea7a033a3 143a1e19_37c9_a207_e8bc_ebcd87badd3c["testNegativeNameLength()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 143a1e19_37c9_a207_e8bc_ebcd87badd3c 38aae2e6_017d_a894_350e_01f19a01eaa9["testMissingName()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 38aae2e6_017d_a894_350e_01f19a01eaa9 a121d134_9c3e_a007_630a_aa642b6bf2a8["testIllegalNameOnlyNull()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| a121d134_9c3e_a007_630a_aa642b6bf2a8 0216bd80_6b40_f985_8217_e91313be95e3["testMissingValueLength()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| 0216bd80_6b40_f985_8217_e91313be95e3 b4e29cbf_c6ba_894a_6463_af0e624b0e32["testZeroValueLength()"] 9d24b120_0e9f_df39_05af_436eac53cd12 -->|method| b4e29cbf_c6ba_894a_6463_af0e624b0e32
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoderTest.java lines 29–516
public class SpdyHeaderBlockRawDecoderTest {
private static final int maxHeaderSize = 16;
private static final String name = "name";
private static final String value = "value";
private static final byte[] nameBytes = name.getBytes();
private static final byte[] valueBytes = value.getBytes();
private SpdyHeaderBlockRawDecoder decoder;
private SpdyHeadersFrame frame;
@BeforeEach
public void setUp() {
decoder = new SpdyHeaderBlockRawDecoder(SpdyVersion.SPDY_3_1, maxHeaderSize);
frame = new DefaultSpdyHeadersFrame(1);
}
@AfterEach
public void tearDown() {
decoder.end();
}
@Test
public void testEmptyHeaderBlock() throws Exception {
ByteBuf headerBlock = Unpooled.EMPTY_BUFFER;
decoder.decode(ByteBufAllocator.DEFAULT, headerBlock, frame);
decoder.endHeaderBlock(frame);
assertFalse(headerBlock.isReadable());
assertTrue(frame.isInvalid());
assertEquals(0, frame.headers().names().size());
headerBlock.release();
}
@Test
public void testZeroNameValuePairs() throws Exception {
ByteBuf headerBlock = Unpooled.buffer(4);
headerBlock.writeInt(0);
decoder.decode(ByteBufAllocator.DEFAULT, headerBlock, frame);
decoder.endHeaderBlock(frame);
assertFalse(headerBlock.isReadable());
assertFalse(frame.isInvalid());
assertEquals(0, frame.headers().names().size());
headerBlock.release();
}
@Test
public void testNegativeNameValuePairs() throws Exception {
ByteBuf headerBlock = Unpooled.buffer(4);
headerBlock.writeInt(-1);
decoder.decode(ByteBufAllocator.DEFAULT, headerBlock, frame);
assertFalse(headerBlock.isReadable());
assertTrue(frame.isInvalid());
assertEquals(0, frame.headers().names().size());
headerBlock.release();
}
@Test
public void testOneNameValuePair() throws Exception {
ByteBuf headerBlock = Unpooled.buffer(21);
headerBlock.writeInt(1);
headerBlock.writeInt(4);
headerBlock.writeBytes(nameBytes);
headerBlock.writeInt(5);
headerBlock.writeBytes(valueBytes);
decoder.decode(ByteBufAllocator.DEFAULT, headerBlock, frame);
decoder.endHeaderBlock(frame);
assertFalse(headerBlock.isReadable());
assertFalse(frame.isInvalid());
assertEquals(1, frame.headers().names().size());
assertTrue(frame.headers().contains(name));
assertEquals(1, frame.headers().getAll(name).size());
assertEquals(value, frame.headers().get(name));
headerBlock.release();
}
@Test
Source
Frequently Asked Questions
What is the SpdyHeaderBlockRawDecoderTest class?
SpdyHeaderBlockRawDecoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoderTest.java.
Where is SpdyHeaderBlockRawDecoderTest defined?
SpdyHeaderBlockRawDecoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoderTest.java at line 29.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free