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.assertNull;
20 import static org.mockito.Mockito.mock;
21
22 import java.net.URL;
23
24 import org.apache.commons.configuration2.ConfigurationAssert;
25 import org.apache.commons.configuration2.XMLConfiguration;
26 import org.apache.commons.configuration2.builder.fluent.Configurations;
27 import org.apache.commons.configuration2.ex.ConfigurationException;
28 import org.junit.jupiter.api.BeforeEach;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34 public class TestClasspathLocationStrategy {
35
36
37 private static final String FILE_NAME = "test.xml";
38
39
40 private FileSystem fileSystem;
41
42
43 private ClasspathLocationStrategy strategy;
44
45 @BeforeEach
46 public void setUp() throws Exception {
47 fileSystem = mock(FileSystem.class);
48 strategy = new ClasspathLocationStrategy();
49 }
50
51
52
53
54 @Test
55 void testLocateFailed() {
56 final FileLocator locator = FileLocatorUtils.fileLocator().fileName("non existing resource name!").create();
57 assertNull(strategy.locate(fileSystem, locator));
58 }
59
60
61
62
63 @Test
64 void testLocateNoFileName() {
65 final FileLocator locator = FileLocatorUtils.fileLocator().fileName("").create();
66 assertNull(strategy.locate(fileSystem, locator));
67 }
68
69
70
71
72 @Test
73 void testLocateSuccess() throws ConfigurationException {
74 final FileLocator locator = FileLocatorUtils.fileLocator().fileName(FILE_NAME).basePath("somePath").create();
75 final URL url = strategy.locate(fileSystem, locator);
76 final Configurations configurations = new Configurations();
77 final XMLConfiguration config1 = configurations.xml(url);
78 final XMLConfiguration config2 = configurations.xml(ConfigurationAssert.getTestURL(FILE_NAME));
79 ConfigurationAssert.assertConfigurationEquals(config1, config2);
80 }
81 }