Home / Class/ HttpDataTest Class — netty Architecture

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();

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