Home / Class/ DeleteFileOnExitHookTest Class — netty Architecture

DeleteFileOnExitHookTest Class — netty Architecture

Architecture documentation for the DeleteFileOnExitHookTest class in DeleteFileOnExitHookTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  5ab6ed84_b92f_904e_c0c6_60da34ada0d8["DeleteFileOnExitHookTest"]
  8ce63f42_8874_a442_7170_40dddef44e1c["DeleteFileOnExitHookTest.java"]
  5ab6ed84_b92f_904e_c0c6_60da34ada0d8 -->|defined in| 8ce63f42_8874_a442_7170_40dddef44e1c
  31cf5a40_1e45_4dac_2ecc_2dff88a9cefa["setUp()"]
  5ab6ed84_b92f_904e_c0c6_60da34ada0d8 -->|method| 31cf5a40_1e45_4dac_2ecc_2dff88a9cefa
  c520f5ca_3258_6355_e76a_5be9b2523db6["testSimulateTriggerDeleteFileOnExitHook()"]
  5ab6ed84_b92f_904e_c0c6_60da34ada0d8 -->|method| c520f5ca_3258_6355_e76a_5be9b2523db6
  8fc6b59a_f42d_1f0a_ad52_27d7542ef242["testAfterHttpDataReleaseCheckFileExist()"]
  5ab6ed84_b92f_904e_c0c6_60da34ada0d8 -->|method| 8fc6b59a_f42d_1f0a_ad52_27d7542ef242

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/multipart/DeleteFileOnExitHookTest.java lines 39–87

@Isolated("The DeleteFileOnExitHook has static shared mutable, " +
        "and can interferre with other tests that use DiskAttribute")
public class DeleteFileOnExitHookTest {
    private static final HttpRequest REQUEST = new DefaultHttpRequest(HTTP_1_1, POST, "/form");
    private static final String HOOK_TEST_TMP = "target/DeleteFileOnExitHookTest-" + UUID.randomUUID()  + "/tmp";
    private FileUpload fu;

    @BeforeEach
    public void setUp() throws IOException {
        DefaultHttpDataFactory defaultHttpDataFactory = new DefaultHttpDataFactory(true);
        defaultHttpDataFactory.setBaseDir(HOOK_TEST_TMP);
        defaultHttpDataFactory.setDeleteOnExit(true);

        File baseDir = new File(HOOK_TEST_TMP);
        baseDir.mkdirs();  // we don't need to clean it since it is in volatile files anyway

        fu = defaultHttpDataFactory.createFileUpload(
                REQUEST, "attribute1", "tmp_f.txt", "text/plain", null, null, 0);
        fu.setContent(Unpooled.wrappedBuffer(new byte[]{1, 2, 3, 4}));

        assertTrue(fu.getFile().exists());
    }

    @Test
    public void testSimulateTriggerDeleteFileOnExitHook() {

        // simulate app exit
        DeleteFileOnExitHook.runHook();

        File[] files = new File(HOOK_TEST_TMP).listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return name.startsWith(DiskFileUpload.prefix);
            }
        });

        assertEquals(0, files.length);
    }

    @Test
    public void testAfterHttpDataReleaseCheckFileExist() throws IOException {

        String filePath = fu.getFile().getPath();
        assertTrue(DeleteFileOnExitHook.checkFileExist(filePath));

        fu.release();
        assertFalse(DeleteFileOnExitHook.checkFileExist(filePath));
    }
}

Frequently Asked Questions

What is the DeleteFileOnExitHookTest class?
DeleteFileOnExitHookTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/DeleteFileOnExitHookTest.java.
Where is DeleteFileOnExitHookTest defined?
DeleteFileOnExitHookTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/multipart/DeleteFileOnExitHookTest.java at line 39.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free