|
19 | 19 |
|
20 | 20 | import static org.junit.Assert.assertEquals; |
21 | 21 | import static org.junit.Assert.assertNull; |
22 | | -import static org.mockito.ArgumentMatchers.any; |
23 | | -import static org.mockito.Mockito.doThrow; |
24 | 22 | import static org.mockito.Mockito.mock; |
25 | | -import static org.mockito.Mockito.mockConstruction; |
26 | 23 | import static org.mockito.Mockito.mockStatic; |
27 | 24 | import static org.mockito.Mockito.when; |
28 | 25 |
|
29 | 26 | import java.io.File; |
30 | | -import java.io.FileInputStream; |
31 | 27 | import java.io.IOException; |
32 | 28 | import java.nio.file.Files; |
33 | 29 | import java.util.Properties; |
34 | 30 |
|
| 31 | +import org.junit.After; |
35 | 32 | import org.junit.Test; |
36 | 33 | import org.junit.runner.RunWith; |
37 | | -import org.mockito.MockedConstruction; |
38 | 34 | import org.mockito.MockedStatic; |
39 | 35 | import org.mockito.junit.MockitoJUnitRunner; |
40 | 36 |
|
|
43 | 39 | @RunWith(MockitoJUnitRunner.class) |
44 | 40 | public class ServerPropertiesUtilTest { |
45 | 41 |
|
| 42 | + @After |
| 43 | + public void clearCache() { |
| 44 | + ServerPropertiesUtil.propertiesRef.set(null); |
| 45 | + } |
| 46 | + |
46 | 47 | @Test |
47 | 48 | public void returnsPropertyValueWhenPropertiesAreLoaded() { |
48 | 49 | Properties mockProperties = mock(Properties.class); |
@@ -81,15 +82,13 @@ public void returnsNullWhenPropertiesFileNotFound() { |
81 | 82 | } |
82 | 83 |
|
83 | 84 | @Test |
84 | | - public void returnsNullWhenIOExceptionOccurs() { |
85 | | - File mockFile = mock(File.class); |
86 | | - try (MockedStatic<PropertiesUtil> mocked = mockStatic(PropertiesUtil.class); |
87 | | - MockedConstruction<FileInputStream> ignored = mockConstruction(FileInputStream.class); |
88 | | - MockedConstruction<Properties> ignored1 = mockConstruction(Properties.class, (mock, context) -> { |
89 | | - doThrow(new IOException("Test IOException")).when(mock).load(any(FileInputStream.class)); |
90 | | - })) { |
| 85 | + public void returnsNullWhenIOExceptionOccurs() throws IOException { |
| 86 | + File tempFile = Files.createTempFile("bad", ".properties").toFile(); |
| 87 | + tempFile.deleteOnExit(); |
| 88 | + Files.writeString(tempFile.toPath(), "\u0000\u0000\u0000"); |
| 89 | + try (MockedStatic<PropertiesUtil> mocked = mockStatic(PropertiesUtil.class)) { |
91 | 90 | mocked.when(() -> PropertiesUtil.findConfigFile(ServerPropertiesUtil.PROPERTIES_FILE)) |
92 | | - .thenReturn(mockFile); |
| 91 | + .thenReturn(tempFile); |
93 | 92 | assertNull(ServerPropertiesUtil.getProperty("key")); |
94 | 93 | } |
95 | 94 | } |
|
0 commit comments