From 52f3be0f36405753fa3e5ce93885036b182a8033 Mon Sep 17 00:00:00 2001 From: Alvan Noah <76204991+alvannoah@users.noreply.github.com> Date: Mon, 10 Nov 2025 00:12:46 +0300 Subject: [PATCH] TRUNK-6471: Add JUnit tests for OpenmrsUtil.folderContains() - Added unit test to ensure method returned expected result. - Added unit test for when folder is empty. - Added unit test for when a file is passed in as a folder. - Added unit test for when a sub folder exists with the name provided. - Added unit test for when folder is null. --- .../org/openmrs/util/OpenmrsUtilTest.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/api/src/test/java/org/openmrs/util/OpenmrsUtilTest.java b/api/src/test/java/org/openmrs/util/OpenmrsUtilTest.java index 953b84ee697a..754c9135ffc8 100644 --- a/api/src/test/java/org/openmrs/util/OpenmrsUtilTest.java +++ b/api/src/test/java/org/openmrs/util/OpenmrsUtilTest.java @@ -27,6 +27,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -55,6 +56,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.openmrs.Concept; import org.openmrs.GlobalProperty; import org.openmrs.Obs; @@ -1076,4 +1078,50 @@ public void isValidNumericValue_shouldNotReturnErrorMessageWhenNoReferenceRangeI assertEquals("", result); } + + @Test + public void folderContains_shouldReturnTrueWhenFileIsInTheFolder(@TempDir File tempDir) throws IOException { + File file = new File(tempDir, "test.txt"); + assertTrue(file.createNewFile()); + + assertTrue(OpenmrsUtil.folderContains(tempDir, file.getName()), "Should return true when file is in the folder"); + } + + @Test + public void folderContains_shouldReturnFalseWhenFileIsNotInTheFolder(@TempDir File tempDir) throws IOException { + File file = new File(tempDir, "test.txt"); + assertTrue(file.createNewFile()); + + assertFalse(OpenmrsUtil.folderContains(tempDir, "anotherFile.txt"), "Should return false when file is not in the folder"); + } + + @Test + public void folderContains_shouldReturnFalseWhenFolderIsEmpty(@TempDir File tempDir) { + assertFalse(OpenmrsUtil.folderContains(tempDir, "test"), "Should return false when folder is empty"); + } + + @Test + public void folderContains_shouldReturnFalseWhenFolderIsNull() { + assertFalse(OpenmrsUtil.folderContains(null, "test"), "Should return false when folder is null"); + } + + @Test + public void folderContains_shouldReturnTrueWhenFilenameIsSubfolder(@TempDir File tempDir) { + File subfolder = new File(tempDir, "subFolder"); + assertTrue(subfolder.mkdir()); + + boolean result = OpenmrsUtil.folderContains(tempDir, "subFolder"); + + assertTrue(result, "Should return true because subfolder exists with that name"); + } + + @Test + public void folderContains_shouldReturnFalseWhenFolderIsAFile(@TempDir File tempDir) throws IOException { + File file = new File(tempDir, "file.txt"); + assertTrue(file.createNewFile()); + + boolean result = OpenmrsUtil.folderContains(file, "file.txt"); + assertFalse(result, "Should return false when file is passed in as folder"); + } + }