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.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNull;
21 import static org.mockito.Mockito.mock;
22
23 import java.io.File;
24 import java.net.URL;
25
26 import org.apache.commons.configuration2.ConfigurationAssert;
27 import org.junit.jupiter.api.BeforeEach;
28 import org.junit.jupiter.api.Test;
29
30
31
32
33 public class TestBasePathLocationStrategy {
34
35 private static final String TEST_FILE = "test.xml";
36
37
38
39
40
41
42 private static void checkURL(final URL url) {
43 assertEquals(FileLocatorUtils.fileFromURL(url).getAbsoluteFile(), ConfigurationAssert.getTestFile(TEST_FILE).getAbsoluteFile());
44 }
45
46
47 private FileSystem fileSystem;
48
49
50 private BasePathLocationStrategy strategy;
51
52 @BeforeEach
53 public void setUp() throws Exception {
54 fileSystem = mock(FileSystem.class);
55 strategy = new BasePathLocationStrategy();
56 }
57
58
59
60
61 @Test
62 public void testLocateSuccess() {
63 final File path = ConfigurationAssert.TEST_DIR;
64 final FileLocator locator = FileLocatorUtils.fileLocator().basePath(path.getAbsolutePath()).fileName(TEST_FILE).create();
65 checkURL(strategy.locate(fileSystem, locator));
66 }
67
68
69
70
71 @Test
72 public void testLocateSuccessRelativePrefix() {
73 final File path = ConfigurationAssert.TEST_DIR;
74 final FileLocator locator = FileLocatorUtils.fileLocator().basePath(path.getAbsolutePath()).fileName("." + File.separator + TEST_FILE).create();
75 checkURL(strategy.locate(fileSystem, locator));
76 }
77
78
79
80
81 @Test
82 public void testNullBasePath() {
83 final FileLocator locator = FileLocatorUtils.fileLocator().fileName(TEST_FILE).create();
84 assertNull(strategy.locate(fileSystem, locator));
85 }
86
87
88
89
90 @Test
91 public void testNullFileName() {
92 final FileLocator locator = FileLocatorUtils.fileLocator().basePath(ConfigurationAssert.getTestFile(TEST_FILE).getAbsolutePath()).create();
93 assertNull(strategy.locate(fileSystem, locator));
94 }
95 }