1 21 22 package org.opensubsystems.core.util; 23 24 import java.io.File ; 25 import java.util.Properties ; 26 27 import junit.framework.TestCase; 28 29 37 public class ConfigTest extends TestCase 38 { 39 44 public ConfigTest( 45 String arg0 46 ) 47 { 48 super(arg0); 49 } 50 51 56 protected void setUp( 57 ) throws Exception 58 { 59 super.setUp(); 60 } 61 62 67 protected void tearDown() throws Exception 68 { 69 super.tearDown(); 70 } 71 72 77 public void testGetPropertiesSafelyWithDependentFile( 78 ) throws Exception 79 { 80 File prop1file = null; 81 File prop2file = null; 82 File prop3file = null; 83 84 try 85 { 86 prop1file = File.createTempFile("osstest1", "tmp"); 87 prop2file = File.createTempFile("osstest2", "tmp"); 88 prop3file = File.createTempFile("osstest3", "tmp"); 89 90 Properties prop1 = new Properties (); 92 Properties prop2 = new Properties (); 93 Properties prop3 = new Properties (); 94 95 prop1.setProperty("oss.test.prop1.static", "prop1static"); 96 prop1.setProperty("oss.test.prop1.toberedefined1", "prop1toberedefined1"); 97 prop1.setProperty("oss.test.prop1.toberedefined2", "prop1toberedefined2"); 98 prop1.setProperty("oss.test.prop1.toberedefinedtwice", "prop1toberedefinedtwice"); 99 100 prop2.setProperty("oss.test.prop2.static", "prop2static"); 101 prop2.setProperty("oss.test.prop2.toberedefined", "prop2toberedefined"); 102 prop2.setProperty("oss.test.prop1.toberedefined1", "prop2"); 103 prop2.setProperty("oss.test.prop1.toberedefinedtwice", "prop2redefined"); 104 prop2.setProperty(Config.DEPENDENT_CONFIG_FILE_NAME, prop1file.getCanonicalPath()); 105 106 prop3.setProperty("oss.test.prop3.static", "prop3static"); 107 prop3.setProperty("oss.test.prop2.toberedefined", "prop31"); 108 prop3.setProperty("oss.test.prop1.toberedefined2", "prop32"); 109 prop3.setProperty("oss.test.prop1.toberedefinedtwice", "prop3redefined"); 110 prop3.setProperty(Config.DEPENDENT_CONFIG_FILE_NAME, prop2file.getCanonicalPath()); 111 112 Config.save(prop1file, prop1); 114 Config.save(prop2file, prop2); 115 Config.save(prop3file, prop3); 116 117 Config config1 = new Config(prop1file.getCanonicalPath()); 119 Config config2 = new Config(prop2file.getCanonicalPath()); 120 Config config3 = new Config(prop3file.getCanonicalPath()); 121 122 Properties prop1test = config1.getPropertiesSafely(); 123 Properties prop2test = config2.getPropertiesSafely(); 124 Properties prop3test = config3.getPropertiesSafely(); 125 String strTemp; 126 127 assertEquals("Incorrect number of properties read from file", 128 prop1test.size(), 4); 129 130 strTemp = prop1test.getProperty("oss.test.prop1.static"); 131 assertNotNull("Expected property doesn't exist.", strTemp); 132 assertEquals("Property doesn't have actual value.", "prop1static", strTemp); 133 134 strTemp = prop1test.getProperty("oss.test.prop1.toberedefined1"); 135 assertNotNull("Expected property doesn't exist.", strTemp); 136 assertEquals("Property doesn't have actual value.", "prop1toberedefined1", strTemp); 137 138 strTemp = prop1test.getProperty("oss.test.prop1.toberedefined2"); 139 assertNotNull("Expected property doesn't exist.", strTemp); 140 assertEquals("Property doesn't have actual value.", "prop1toberedefined2", strTemp); 141 142 strTemp = prop1test.getProperty("oss.test.prop1.toberedefinedtwice"); 143 assertNotNull("Expected property doesn't exist.", strTemp); 144 assertEquals("Property doesn't have actual value.", "prop1toberedefinedtwice", strTemp); 145 146 assertEquals("Incorrect number of properties read from file", 147 prop2test.size(), 7); 148 149 strTemp = prop2test.getProperty("oss.test.prop1.static"); 150 assertNotNull("Expected property doesn't exist.", strTemp); 151 assertEquals("Property doesn't have actual value.", "prop1static", strTemp); 152 153 strTemp = prop2test.getProperty("oss.test.prop1.toberedefined1"); 154 assertNotNull("Expected property doesn't exist.", strTemp); 155 assertEquals("Property doesn't have actual value.", "prop2", strTemp); 156 157 strTemp = prop2test.getProperty("oss.test.prop1.toberedefined2"); 158 assertNotNull("Expected property doesn't exist.", strTemp); 159 assertEquals("Property doesn't have actual value.", "prop1toberedefined2", strTemp); 160 161 strTemp = prop2test.getProperty("oss.test.prop1.toberedefinedtwice"); 162 assertNotNull("Expected property doesn't exist.", strTemp); 163 assertEquals("Property doesn't have actual value.", "prop2redefined", strTemp); 164 165 strTemp = prop2test.getProperty("oss.test.prop2.static"); 166 assertNotNull("Expected property doesn't exist.", strTemp); 167 assertEquals("Property doesn't have actual value.", "prop2static", strTemp); 168 169 strTemp = prop2test.getProperty("oss.test.prop2.toberedefined"); 170 assertNotNull("Expected property doesn't exist.", strTemp); 171 assertEquals("Property doesn't have actual value.", "prop2toberedefined", strTemp); 172 173 strTemp = prop2test.getProperty(Config.DEPENDENT_CONFIG_FILE_NAME); 174 assertNotNull("Expected property doesn't exist.", strTemp); 175 assertEquals("Property doesn't have actual value.", 176 prop1file.getCanonicalPath(), strTemp); 177 178 assertEquals("Incorrect number of properties read from file", 179 prop3test.size(), 8); 180 181 strTemp = prop3test.getProperty("oss.test.prop1.static"); 182 assertNotNull("Expected property doesn't exist.", strTemp); 183 assertEquals("Property doesn't have actual value.", "prop1static", strTemp); 184 185 strTemp = prop3test.getProperty("oss.test.prop1.toberedefined1"); 186 assertNotNull("Expected property doesn't exist.", strTemp); 187 assertEquals("Property doesn't have actual value.", "prop2", strTemp); 188 189 strTemp = prop3test.getProperty("oss.test.prop1.toberedefined2"); 190 assertNotNull("Expected property doesn't exist.", strTemp); 191 assertEquals("Property doesn't have actual value.", "prop32", strTemp); 192 193 strTemp = prop3test.getProperty("oss.test.prop1.toberedefinedtwice"); 194 assertNotNull("Expected property doesn't exist.", strTemp); 195 assertEquals("Property doesn't have actual value.", "prop3redefined", strTemp); 196 197 strTemp = prop3test.getProperty("oss.test.prop2.static"); 198 assertNotNull("Expected property doesn't exist.", strTemp); 199 assertEquals("Property doesn't have actual value.", "prop2static", strTemp); 200 201 strTemp = prop3test.getProperty("oss.test.prop2.toberedefined"); 202 assertNotNull("Expected property doesn't exist.", strTemp); 203 assertEquals("Property doesn't have actual value.", "prop31", strTemp); 204 205 strTemp = prop3test.getProperty("oss.test.prop3.static"); 206 assertNotNull("Expected property doesn't exist.", strTemp); 207 assertEquals("Property doesn't have actual value.", "prop3static", strTemp); 208 209 strTemp = prop3test.getProperty(Config.DEPENDENT_CONFIG_FILE_NAME); 210 assertNotNull("Expected property doesn't exist.", strTemp); 211 assertEquals("Property doesn't have actual value.", 212 prop2file.getCanonicalPath(), strTemp); 213 } 214 finally 215 { 216 try 217 { 218 if (prop1file != null) 219 { 220 prop1file.delete(); 221 } 222 } 223 finally 224 { 225 try 226 { 227 if (prop2file != null) 228 { 229 prop1file.delete(); 230 } 231 } 232 finally 233 { 234 if (prop3file != null) 235 { 236 prop1file.delete(); 237 } 238 } 239 } 240 } 241 } 242 } 243 | Popular Tags |