This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch 1.x in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git
commit 542e442d7dfce8bf7773451ad3757042b74d279d Author: Gary Gregory <[email protected]> AuthorDate: Sat Mar 21 15:17:18 2026 -0700 Test should clean up after itself better. --- .../org/apache/commons/fileupload/DiskFileUploadTest.java | 11 ++++++----- .../java/org/apache/commons/fileupload/FileUploadTest.java | 9 +++++++++ src/test/java/org/apache/commons/fileupload/SizesTest.java | 3 +++ .../java/org/apache/commons/fileupload/StreamingTest.java | 4 ++++ src/test/java/org/apache/commons/fileupload/Util.java | 9 +++++++++ .../commons/fileupload/servlet/ServletFileUploadTest.java | 3 +++ 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java index 17c1638f..e6765a5a 100644 --- a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java +++ b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java @@ -57,14 +57,15 @@ public class DiskFileUploadTest { "This is the content of the file\n" + "\r\n" + "-----1234--\r\n"; - final byte[] contentBytes = content.getBytes("US-ASCII"); + final byte[] contentBytes = content.getBytes("US-ASCII"); final HttpServletRequest request = new MockHttpServletRequest(contentBytes, Constants.CONTENT_TYPE); - final List<FileItem> items = myUpload.parseRequest(request); - assertNotNull(items); - assertFalse(items.isEmpty()); - final DiskFileItem dfi = (DiskFileItem) items.get(0); + final List<FileItem> fileItems = myUpload.parseRequest(request); + assertNotNull(fileItems); + assertFalse(fileItems.isEmpty()); + final DiskFileItem dfi = (DiskFileItem) fileItems.get(0); final File out = File.createTempFile("install", ".tmp"); dfi.write(out); + Util.deleteFileItems(fileItems); } @Test diff --git a/src/test/java/org/apache/commons/fileupload/FileUploadTest.java b/src/test/java/org/apache/commons/fileupload/FileUploadTest.java index 803eb424..5d8ee684 100644 --- a/src/test/java/org/apache/commons/fileupload/FileUploadTest.java +++ b/src/test/java/org/apache/commons/fileupload/FileUploadTest.java @@ -105,6 +105,7 @@ public class FileUploadTest { assertEquals("... contents of file1.txt ...", file.getString()); assertEquals("text/plain", file.getContentType()); assertEquals("file1.txt", file.getName()); + Util.deleteFileItems(fileItems); } /** @@ -126,6 +127,7 @@ public class FileUploadTest { assertFalse(file.isFormField()); assertEquals("", file.getString()); assertEquals("", file.getName()); + Util.deleteFileItems(fileItems); } @ParameterizedTest @@ -145,6 +147,7 @@ public class FileUploadTest { final FileItem file = fileItems.get(0); assertEquals("FiLe", file.getFieldName()); assertEquals("FOO.tab", file.getName()); + Util.deleteFileItems(fileItems); } @ParameterizedTest @@ -194,6 +197,7 @@ public class FileUploadTest { assertEquals("multi", multi1.getFieldName()); assertTrue(multi1.isFormField()); assertEquals("value2", multi1.getString()); + Util.deleteFileItems(fileItems); } /** @@ -248,6 +252,7 @@ public class FileUploadTest { final FileItem multi1 = fileItems.get(3); assertHeaders(headerNames, headerValues, multi1, 3); + Util.deleteFileItems(fileItems); } /** @@ -292,6 +297,7 @@ public class FileUploadTest { assertEquals("pics", item2.getFieldName()); assertEquals("file2.gif", item2.getName()); assertEquals("...contents of file2.gif...", new String(item2.get())); + Util.deleteFileItems(fileItems); } /** @@ -344,6 +350,7 @@ public class FileUploadTest { assertEquals("multi", multi1.getFieldName()); assertTrue(multi1.isFormField()); assertEquals("value2", multi1.getString()); + Util.deleteFileItems(fileItems); } /** @@ -394,6 +401,7 @@ public class FileUploadTest { assertEquals("field2", field2.getFieldName()); assertTrue(field2.isFormField()); assertEquals("fieldValue2", field2.getString()); + Util.deleteFileItems(fileItems); } /** @@ -474,6 +482,7 @@ public class FileUploadTest { assertEquals("some text/plain content", part2.getString()); assertEquals("text/plain", part2.getContentType()); assertNull(part2.getName()); + Util.deleteFileItems(fileItems); } diff --git a/src/test/java/org/apache/commons/fileupload/SizesTest.java b/src/test/java/org/apache/commons/fileupload/SizesTest.java index 875fe1da..6ec35564 100644 --- a/src/test/java/org/apache/commons/fileupload/SizesTest.java +++ b/src/test/java/org/apache/commons/fileupload/SizesTest.java @@ -78,6 +78,7 @@ public class SizesTest { } catch (final FileUploadBase.FileSizeLimitExceededException e) { assertEquals(30, e.getPermittedSize()); } + Util.deleteFileItems(fileItems); } /** Checks, whether a faked Content-Length header is detected. @@ -133,6 +134,7 @@ public class SizesTest { } catch (final FileUploadBase.FileSizeLimitExceededException e) { assertEquals(15, e.getPermittedSize()); } + Util.deleteFileItems(fileItems); } /** @@ -177,6 +179,7 @@ public class SizesTest { } } assertTrue(!fileIter.hasNext()); + Util.deleteFileItems(fileItems); } /** Checks, whether the maxSize works. diff --git a/src/test/java/org/apache/commons/fileupload/StreamingTest.java b/src/test/java/org/apache/commons/fileupload/StreamingTest.java index e260abaa..4cce0e4d 100644 --- a/src/test/java/org/apache/commons/fileupload/StreamingTest.java +++ b/src/test/java/org/apache/commons/fileupload/StreamingTest.java @@ -142,6 +142,7 @@ public class StreamingTest { } } assertTrue(!fileIter.hasNext()); + Util.deleteFileItems(fileItems); } /** @@ -163,7 +164,9 @@ public class StreamingTest { assertEquals((byte) '2', bytes[1]); assertEquals((byte) '3', bytes[2]); assertTrue(!fileIter.hasNext()); + Util.deleteFileItems(fileItems); } + } /** @@ -219,6 +222,7 @@ public class StreamingTest { assertEquals(fileName, e.getName()); assertTrue(e.getMessage().indexOf(fileName) == -1); assertTrue(e.getMessage().indexOf("foo.exe\\0.png") != -1); + Util.deleteFileItems(fileItems); } /** diff --git a/src/test/java/org/apache/commons/fileupload/Util.java b/src/test/java/org/apache/commons/fileupload/Util.java index e793ea1a..7181256e 100644 --- a/src/test/java/org/apache/commons/fileupload/Util.java +++ b/src/test/java/org/apache/commons/fileupload/Util.java @@ -19,6 +19,7 @@ package org.apache.commons.fileupload; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -34,6 +35,14 @@ import org.apache.commons.fileupload.servlet.ServletRequestContext; */ public class Util { + public static void deleteFileItems(final List<FileItem> fileItems) { + fileItems.forEach(FileItem::delete); + } + + public static void deleteFileItems(final Map<String, List<FileItem>> mappedParameters) { + mappedParameters.values().stream().flatMap(List::stream).forEach(FileItem::delete); + } + /** * Return a list of {@link FileUpload} implementations for parameterized tests. * @return a list of {@link FileUpload} implementations diff --git a/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java b/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java index f4b4c7e4..8d8c77c3 100644 --- a/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java +++ b/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java @@ -27,6 +27,7 @@ import org.apache.commons.fileupload.Constants; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadTest; import org.apache.commons.fileupload.MockHttpServletRequest; +import org.apache.commons.fileupload.Util; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.junit.jupiter.api.Test; @@ -57,6 +58,7 @@ public class ServletFileUploadTest { final List<FileItem> fileItems = upload.parseRequest(request); final FileItem fileItem = fileItems.get(0); assertTrue(fileItem.getString().contains("co�te�t"), fileItem.getString()); + Util.deleteFileItems(fileItems); } @@ -98,5 +100,6 @@ public class ServletFileUploadTest { assertTrue(mappedParameters.containsKey("multi")); assertEquals(2, mappedParameters.get("multi").size()); + Util.deleteFileItems(mappedParameters); } }
