1 package org.apache.turbine;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertNotNull;
27
28 import java.io.File;
29 import java.net.URL;
30
31 import org.apache.commons.configuration.Configuration;
32 import org.apache.commons.configuration.FileSystem;
33 import org.apache.commons.configuration.PropertiesConfiguration;
34 import org.apache.turbine.test.BaseTestCase;
35 import org.apache.turbine.util.TurbineConfig;
36 import org.apache.turbine.util.TurbineXmlConfig;
37 import org.junit.Test;
38
39
40
41
42
43
44
45
46 public class ConfigurationTest extends BaseTestCase
47 {
48 public static final String SERVICE_PREFIX = "services.";
49
50
51
52
53
54 public static final String CLASSNAME_SUFFIX = ".classname";
55
56 private TurbineConfig tc = null;
57 private TurbineXmlConfig txc = null;
58
59 @Test
60 public void testCreateTurbineWithConfigurationXML() throws Exception
61 {
62 txc = new TurbineXmlConfig(".", "conf/test/TurbineConfiguration.xml");
63
64 try
65 {
66 txc.initialize();
67
68 Configuration configuration = Turbine.getConfiguration();
69 assertNotNull("No Configuration Object found!", configuration);
70 assertFalse("Make sure we have values", configuration.isEmpty());
71
72
73 String key = "module.cache";
74 assertEquals("Read a config value " + key + ", received:" + configuration.getString(key), "true", configuration.getString(key));
75
76
77 key = "scheduledjob.cache.size";
78 assertEquals("Read a config value " + key + ", received:" + configuration.getString(key), "10", configuration.getString(key));
79 }
80 catch (Exception e)
81 {
82 throw e;
83 }
84 finally
85 {
86 txc.dispose();
87 }
88 }
89
90 @Test
91 public void testCreateTurbineWithConfiguration() throws Exception
92 {
93 tc = new TurbineConfig(".", "/conf/test/TemplateService.properties");
94
95 try
96 {
97 tc.initialize();
98
99 Configuration configuration = Turbine.getConfiguration();
100 assertNotNull("No Configuration Object found!", configuration);
101 assertFalse("Make sure we have values", configuration.isEmpty());
102
103 String key = "scheduledjob.cache.size";
104 assertEquals("Read a config value " + key + ", received:" + configuration.getString(key), "10", configuration.getString(key));
105 }
106 catch (Exception e)
107 {
108 throw e;
109 }
110 finally
111 {
112 tc.dispose();
113 }
114 }
115
116 @Test
117 public void testCreateTurbineWithIncludedConfiguration() throws Exception
118 {
119 String confPath = Turbine.getRealPath( "/conf/test/usersettings.properties" );
120 try
121 {
122 Configuration configuration = new PropertiesConfiguration(confPath);
123 assertNotNull("No Configuration Object found!", configuration);
124 assertFalse("Make sure we have values", configuration.isEmpty());
125
126 String key = "scheduledjob.cache.size";
127 assertEquals("Read a config value " + key + ", received:" + configuration.getString(key), "100", configuration.getString(key));
128 String key2 ="module.cache";
129 assertEquals("Read a config value " + key2 + ", received:" + configuration.getString(key2), "false", configuration.getString(key2));
130 }
131 catch (Exception e)
132 {
133 throw e;
134 }
135 }
136
137 @SuppressWarnings("boxing")
138 @Test
139 public void testCreateTurbineWithXMLBuilderConfiguration() throws Exception
140 {
141 String configurationRessourcePath ="conf/test/ConfigurationBuilder.xml";
142 tc = new TurbineXmlConfig(".",configurationRessourcePath );
143
144 try
145 {
146 tc.initialize();
147
148 Configuration configuration = Turbine.getConfiguration();
149 assertNotNull("No Configuration Object found!", configuration);
150 assertFalse("Make sure we have values", configuration.isEmpty());
151
152
153
154
155 String key = "scheduledjob.cache.size";
156 assertEquals("Read a config value " + key + ", received:" + configuration.getInt(key), 100, configuration.getInt(key));
157
158
159 key = "module.cache";
160 assertEquals("Read a config value " + key + ", received:" + configuration.getBoolean(key), false, configuration.getBoolean(key));
161
162 key = "tests.test";
163 configuration.addProperty( key, 123 );
164 assertEquals("Read a config value " + key + ", received:" + configuration.getInt(key), 123, configuration.getInt(key));
165
166 key="test.nulltest3";
167 assertEquals("Read a included config value " + key + ", received:" + configuration.getString(key), null, configuration.getString(key));
168
169 key="services.PullService.earlyInit";
170 assertEquals("Read a config value " + key + ", received:" + configuration.getBoolean(key), true, configuration.getBoolean(key));
171 configuration.setProperty( key, false );
172 assertEquals("Read a config value " + key + ", received:" + configuration.getBoolean(key), false, configuration.getBoolean(key));
173
174
175 URL testURL = FileSystem.getDefaultFileSystem().locateFromURL(new File( Turbine.getApplicationRoot()).toURI().toString() , configurationRessourcePath);
176 assertNotNull( "Should be a valid URL",testURL);
177 }
178 finally
179 {
180 tc.dispose();
181 }
182 }
183
184 }