HttpDataTest Class — netty Architecture
Architecture documentation for the HttpDataTest class in HttpDataTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 4a611c3b_ba31_9595_a764_a84839920b31["HttpDataTest"] 6938fcdf_2ba1_6454_6da4_52208f543622["HttpDataTest.java"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|defined in| 6938fcdf_2ba1_6454_6da4_52208f543622 349c03db_8968_a2c7_fc1c_7c62a3fc762a["data()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 349c03db_8968_a2c7_fc1c_7c62a3fc762a 0fdb3220_8160_b1e9_e65e_086d08d719da["setUp()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 0fdb3220_8160_b1e9_e65e_086d08d719da a73cd822_b07f_b852_bb94_a2020ab13439["testAddContentEmptyBuffer()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| a73cd822_b07f_b852_bb94_a2020ab13439 855fb707_cd42_0fef_52ed_aa04f934b13e["testCompletedFlagPreservedAfterRetainDuplicate()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 855fb707_cd42_0fef_52ed_aa04f934b13e 7bbd09be_121d_b919_3957_9ffb7f674d15["testAddContentExceedsDefinedSizeDiskFileUpload()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 7bbd09be_121d_b919_3957_9ffb7f674d15 89236655_a51d_9981_7be1_6bcca98e882b["testAddContentExceedsDefinedSizeMemoryFileUpload()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 89236655_a51d_9981_7be1_6bcca98e882b 44f9a5ce_a974_c0e1_92d3_69671d515422["testAddContentExceedsMaxSize()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 44f9a5ce_a974_c0e1_92d3_69671d515422 0d66b62a_2463_1eb8_ebe5_19edfa3a44cf["testSetContentExceedsDefinedSize()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 0d66b62a_2463_1eb8_ebe5_19edfa3a44cf 11b4f90c_124a_0390_9701_c394882c5438["testSetContentExceedsMaxSize()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 11b4f90c_124a_0390_9701_c394882c5438 bc4abc75_ae52_880c_0d93_fcc73f12616b["doTestAddContentExceedsSize()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| bc4abc75_ae52_880c_0d93_fcc73f12616b 9742dbe2_74f7_6863_e41c_8dd10903092a["doTestSetContentExceedsSize()"] 4a611c3b_ba31_9595_a764_a84839920b31 -->|method| 9742dbe2_74f7_6863_e41c_8dd10903092a
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/multipart/HttpDataTest.java lines 38–150
class HttpDataTest {
private static final byte[] BYTES = new byte[64];
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@ParameterizedTest(name = "{displayName}({0})")
@MethodSource("data")
@interface ParameterizedHttpDataTest {
}
static HttpData[] data() {
return new HttpData[]{
new MemoryAttribute("test", 10),
new MemoryFileUpload("test", "", "text/plain", null, CharsetUtil.UTF_8, 10),
new MixedAttribute("test", 10, -1),
new MixedFileUpload("test", "", "text/plain", null, CharsetUtil.UTF_8, 10, -1),
new DiskAttribute("test", 10),
new DiskFileUpload("test", "", "text/plain", null, CharsetUtil.UTF_8, 10)
};
}
@BeforeAll
static void setUp() {
Random rndm = new Random();
rndm.nextBytes(BYTES);
}
@ParameterizedHttpDataTest
void testAddContentEmptyBuffer(HttpData httpData) throws IOException {
ByteBuf content = PooledByteBufAllocator.DEFAULT.buffer();
httpData.addContent(content, false);
assertThat(content.refCnt()).isEqualTo(0);
}
@ParameterizedHttpDataTest
void testCompletedFlagPreservedAfterRetainDuplicate(HttpData httpData) throws IOException {
httpData.addContent(Unpooled.wrappedBuffer("foo".getBytes(CharsetUtil.UTF_8)), false);
assertThat(httpData.isCompleted()).isFalse();
HttpData duplicate = httpData.retainedDuplicate();
assertThat(duplicate.isCompleted()).isFalse();
assertThat(duplicate.release()).isTrue();
httpData.addContent(Unpooled.wrappedBuffer("bar".getBytes(CharsetUtil.UTF_8)), true);
assertThat(httpData.isCompleted()).isTrue();
duplicate = httpData.retainedDuplicate();
assertThat(duplicate.isCompleted()).isTrue();
assertThat(duplicate.release()).isTrue();
}
@Test
void testAddContentExceedsDefinedSizeDiskFileUpload() {
doTestAddContentExceedsSize(
new DiskFileUpload("test", "", "application/json", null, CharsetUtil.UTF_8, 10),
"Out of size: 64 > 10");
}
@Test
void testAddContentExceedsDefinedSizeMemoryFileUpload() {
doTestAddContentExceedsSize(
new MemoryFileUpload("test", "", "application/json", null, CharsetUtil.UTF_8, 10),
"Out of size: 64 > 10");
}
@ParameterizedHttpDataTest
void testAddContentExceedsMaxSize(final HttpData httpData) {
httpData.setMaxSize(10);
doTestAddContentExceedsSize(httpData, "Size exceed allowed maximum capacity");
}
@ParameterizedHttpDataTest
void testSetContentExceedsDefinedSize(final HttpData httpData) {
doTestSetContentExceedsSize(httpData, "Out of size: 64 > 10");
}
@ParameterizedHttpDataTest
void testSetContentExceedsMaxSize(final HttpData httpData) {
httpData.setMaxSize(10);
doTestSetContentExceedsSize(httpData, "Size exceed allowed maximum capacity");
}
private static void doTestAddContentExceedsSize(final HttpData httpData, String expectedMessage) {
final ByteBuf content = PooledByteBufAllocator.DEFAULT.buffer();
Source
Frequently Asked Questions
What is the HttpDataTest class?
HttpDataTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/HttpDataTest.java.
Where is HttpDataTest defined?
HttpDataTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/HttpDataTest.java at line 38.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free