1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration2.io;
18
19 import static org.junit.jupiter.api.Assertions.assertSame;
20 import static org.mockito.Mockito.mock;
21 import static org.mockito.Mockito.verify;
22 import static org.mockito.Mockito.verifyNoMoreInteractions;
23 import static org.mockito.Mockito.when;
24
25 import java.net.URL;
26
27 import org.apache.commons.configuration2.ConfigurationAssert;
28 import org.junit.jupiter.api.BeforeEach;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34 public class TestFileSystemLocationStrategy {
35
36 private FileSystemLocationStrategy strategy;
37
38 @BeforeEach
39 public void setUp() throws Exception {
40 strategy = new FileSystemLocationStrategy();
41 }
42
43
44
45
46 @Test
47 public void testLocate() {
48 final FileSystem fs = mock(FileSystem.class);
49 final URL url = ConfigurationAssert.getTestURL("test.xml");
50 final String basePath = "testBasePath";
51 final String fileName = "testFileName.txt";
52
53 when(fs.locateFromURL(basePath, fileName)).thenReturn(url);
54
55 final FileLocator locator = FileLocatorUtils.fileLocator().basePath(basePath).fileName(fileName).fileSystem(FileLocatorUtils.DEFAULT_FILE_SYSTEM)
56 .sourceURL(ConfigurationAssert.getTestURL("test.properties")).create();
57
58 assertSame(url, strategy.locate(fs, locator));
59
60 verify(fs).locateFromURL(basePath, fileName);
61 verifyNoMoreInteractions(fs);
62 }
63 }