DefaultHttpDataFactoryTest Class — netty Architecture
Architecture documentation for the DefaultHttpDataFactoryTest class in DefaultHttpDataFactoryTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856["DefaultHttpDataFactoryTest"] 34f04fd0_8625_73d7_e149_787dd0b610ad["DefaultHttpDataFactoryTest.java"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|defined in| 34f04fd0_8625_73d7_e149_787dd0b610ad 5b08d293_4b9d_ae46_9297_348b9c03f45c["assertReq1EqualsReq2()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| 5b08d293_4b9d_ae46_9297_348b9c03f45c 40f0c6be_11db_d8ed_2645_0e166ea8e41d["setupFactory()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| 40f0c6be_11db_d8ed_2645_0e166ea8e41d 0ed8f833_99c6_87dc_f2c9_e428a184e278["cleanupFactory()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| 0ed8f833_99c6_87dc_f2c9_e428a184e278 ce64649f_94df_a011_9a84_f88fa5db9504["customBaseDirAndDeleteOnExit()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| ce64649f_94df_a011_9a84_f88fa5db9504 243b0f70_4565_86e5_51cb_ed39ca113085["cleanRequestHttpDataShouldIdentifiesRequestsByTheirIdentities()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| 243b0f70_4565_86e5_51cb_ed39ca113085 73d199c8_2a99_aaa1_67ab_19580ad0cd07["removeHttpDataFromCleanShouldIdentifiesDataByTheirIdentities()"] 1a20c5f5_1b82_e72a_f3bd_2eeffc52e856 -->|method| 73d199c8_2a99_aaa1_67ab_19580ad0cd07
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactoryTest.java lines 36–164
public class DefaultHttpDataFactoryTest {
// req1 equals req2
private static final HttpRequest req1 = new DefaultHttpRequest(HTTP_1_1, POST, "/form");
private static final HttpRequest req2 = new DefaultHttpRequest(HTTP_1_1, POST, "/form");
private DefaultHttpDataFactory factory;
@BeforeAll
public static void assertReq1EqualsReq2() {
// Before doing anything, assert that the requests are equal
assertEquals(req1.hashCode(), req2.hashCode());
assertTrue(req1.equals(req2));
}
@BeforeEach
public void setupFactory() {
factory = new DefaultHttpDataFactory();
}
@AfterEach
public void cleanupFactory() {
factory.cleanAllHttpData();
}
@Test
public void customBaseDirAndDeleteOnExit() {
final DefaultHttpDataFactory defaultHttpDataFactory = new DefaultHttpDataFactory(true);
final String dir = "target/DefaultHttpDataFactoryTest/customBaseDirAndDeleteOnExit";
defaultHttpDataFactory.setBaseDir(dir);
defaultHttpDataFactory.setDeleteOnExit(true);
final Attribute attr = defaultHttpDataFactory.createAttribute(req1, "attribute1");
final FileUpload fu = defaultHttpDataFactory.createFileUpload(
req1, "attribute1", "f.txt", "text/plain", null, null, 0);
assertEquals(dir, DiskAttribute.class.cast(attr).getBaseDirectory());
assertEquals(dir, DiskFileUpload.class.cast(fu).getBaseDirectory());
assertTrue(DiskAttribute.class.cast(attr).deleteOnExit());
assertTrue(DiskFileUpload.class.cast(fu).deleteOnExit());
}
@Test
public void cleanRequestHttpDataShouldIdentifiesRequestsByTheirIdentities() throws Exception {
// Create some data belonging to req1 and req2
Attribute attribute1 = factory.createAttribute(req1, "attribute1", "value1");
Attribute attribute2 = factory.createAttribute(req2, "attribute2", "value2");
FileUpload file1 = factory.createFileUpload(
req1, "file1", "file1.txt",
DEFAULT_TEXT_CONTENT_TYPE, IDENTITY.toString(), UTF_8, 123
);
FileUpload file2 = factory.createFileUpload(
req2, "file2", "file2.txt",
DEFAULT_TEXT_CONTENT_TYPE, IDENTITY.toString(), UTF_8, 123
);
file1.setContent(Unpooled.copiedBuffer("file1 content", UTF_8));
file2.setContent(Unpooled.copiedBuffer("file2 content", UTF_8));
// Assert that they are not deleted
assertNotNull(attribute1.getByteBuf());
assertNotNull(attribute2.getByteBuf());
assertNotNull(file1.getByteBuf());
assertNotNull(file2.getByteBuf());
assertEquals(1, attribute1.refCnt());
assertEquals(1, attribute2.refCnt());
assertEquals(1, file1.refCnt());
assertEquals(1, file2.refCnt());
// Clean up by req1
factory.cleanRequestHttpData(req1);
// Assert that data belonging to req1 has been cleaned up
assertNull(attribute1.getByteBuf());
assertNull(file1.getByteBuf());
assertEquals(0, attribute1.refCnt());
assertEquals(0, file1.refCnt());
// But not req2
assertNotNull(attribute2.getByteBuf());
assertNotNull(file2.getByteBuf());
assertEquals(1, attribute2.refCnt());
assertEquals(1, file2.refCnt());
}
Defined In
Source
Frequently Asked Questions
What is the DefaultHttpDataFactoryTest class?
DefaultHttpDataFactoryTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactoryTest.java.
Where is DefaultHttpDataFactoryTest defined?
DefaultHttpDataFactoryTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactoryTest.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free