1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration;
18
19 import junit.framework.Test;
20 import junit.framework.TestCase;
21 import junit.framework.TestSuite;
22
23 import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
24
25 /***
26 * Unit test for simple MultiConfigurationTest.
27 */
28 public class TestMultiFileHierarchicalConfiguration
29 extends TestCase
30 {
31 private static String PATTERN1 = "target/test-classes/testMultiConfiguration_${sys:Id}.xml";
32
33 /***
34 * Create the test case
35 *
36 * @param testName name of the test case
37 */
38 public TestMultiFileHierarchicalConfiguration( String testName )
39 {
40 super( testName );
41 }
42
43 /***
44 * @return the suite of tests being tested
45 */
46 public static Test suite()
47 {
48 return new TestSuite( TestMultiFileHierarchicalConfiguration.class );
49 }
50
51 /***
52 * Rigourous Test :-)
53 */
54 public void testMultiConfiguration()
55 {
56
57 FileChangedReloadingStrategy strategy = new FileChangedReloadingStrategy();
58 strategy.setRefreshDelay(10000);
59
60 MultiFileHierarchicalConfiguration config = new MultiFileHierarchicalConfiguration(PATTERN1);
61 config.setReloadingStrategy(strategy);
62
63 System.setProperty("Id", "1001");
64 assertTrue(config.getInt("rowsPerPage") == 15);
65
66 System.setProperty("Id", "1002");
67 assertTrue(config.getInt("rowsPerPage") == 25);
68
69 System.setProperty("Id", "1003");
70 assertTrue(config.getInt("rowsPerPage") == 35);
71 }
72 }