1 22 package org.jboss.test.system.controller.lifecycle.basic.test; 23 24 import java.util.List ; 25 26 import javax.management.MBeanServer ; 27 import javax.management.ObjectName ; 28 29 import org.jboss.mx.util.ObjectNameFactory; 30 import org.jboss.system.ServiceControllerMBean; 31 import org.jboss.test.system.controller.AbstractControllerTest; 32 import org.jboss.test.system.controller.support.Simple; 33 34 40 public abstract class BasicDependencyTest extends AbstractControllerTest 41 { 42 private static ObjectName NAME_ONE = ObjectNameFactory.create("test:name=1"); 43 private static ObjectName NAME_TWO = ObjectNameFactory.create("test:name=2"); 44 45 private String resourceName; 46 47 public BasicDependencyTest(String name) 48 { 49 super(name); 50 51 resourceName = getClass().getName(); 52 int index= resourceName.lastIndexOf('.'); 53 if (index != -1) 54 resourceName= resourceName.substring(index + 1, resourceName.length()); 55 index = resourceName.indexOf("NewUnitTestCase"); 56 if (index != -1) 57 resourceName = resourceName.substring(0, index); 58 index = resourceName.indexOf("OldUnitTestCase"); 59 if (index != -1) 60 resourceName = resourceName.substring(0, index); 61 62 resourceName = resourceName + "_NotAutomatic.xml"; 63 } 64 65 public void testBasicDependency() throws Exception 66 { 67 Simple test1 = null; 68 Simple test2 = null; 69 70 boolean error = false; 71 72 List <ObjectName > mbeans = deploy(resourceName); 73 try 74 { 75 assertServiceRunning(NAME_ONE); 76 assertServiceRunning(NAME_TWO); 77 78 MBeanServer server = getServer(); 79 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 80 assertEquals("()", test1.constructorUsed); 81 assertEquals(2, test1.createOrder); 82 assertEquals(4, test1.startOrder); 83 assertEquals(0, test1.stopOrder); 84 assertEquals(0, test1.destroyOrder); 85 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 86 assertEquals("()", test2.constructorUsed); 87 assertEquals(1, test2.createOrder); 88 assertEquals(3, test2.startOrder); 89 assertEquals(0, test2.stopOrder); 90 assertEquals(0, test2.destroyOrder); 91 } 92 catch (Exception e) 93 { 94 error = true; 95 throw e; 96 } 97 catch (Error e) 98 { 99 error = true; 100 throw e; 101 } 102 finally 103 { 104 undeploy(mbeans); 105 106 if (error == false) 107 { 108 assertNoService(NAME_ONE); 109 assertNotRegistered(NAME_ONE); 110 assertEquals(2, test1.createOrder); 111 assertEquals(4, test1.startOrder); 112 assertEquals(5, test1.stopOrder); 113 assertEquals(7, test1.destroyOrder); 114 assertNoService(NAME_TWO); 115 assertNotRegistered(NAME_TWO); 116 assertEquals(1, test2.createOrder); 117 assertEquals(3, test2.startOrder); 118 assertEquals(6, test2.stopOrder); 119 assertEquals(8, test2.destroyOrder); 120 } 121 } 122 } 123 124 public void testBasicRedeploy() throws Exception 125 { 126 Simple test1 = null; 127 Simple test2 = null; 128 129 boolean error = false; 130 131 List <ObjectName > mbeans = deploy(resourceName); 132 try 133 { 134 assertServiceRunning(NAME_ONE); 135 assertServiceRunning(NAME_TWO); 136 137 MBeanServer server = getServer(); 138 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 139 assertEquals("()", test1.constructorUsed); 140 assertEquals(2, test1.createOrder); 141 assertEquals(4, test1.startOrder); 142 assertEquals(0, test1.stopOrder); 143 assertEquals(0, test1.destroyOrder); 144 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 145 assertEquals("()", test2.constructorUsed); 146 assertEquals(1, test2.createOrder); 147 assertEquals(3, test2.startOrder); 148 assertEquals(0, test2.stopOrder); 149 assertEquals(0, test2.destroyOrder); 150 } 151 catch (Exception e) 152 { 153 error = true; 154 throw e; 155 } 156 catch (Error e) 157 { 158 error = true; 159 throw e; 160 } 161 finally 162 { 163 undeploy(mbeans); 164 165 if (error == false) 166 { 167 assertNoService(NAME_ONE); 168 assertNotRegistered(NAME_ONE); 169 assertEquals(2, test1.createOrder); 170 assertEquals(4, test1.startOrder); 171 assertEquals(5, test1.stopOrder); 172 assertEquals(7, test1.destroyOrder); 173 assertNoService(NAME_TWO); 174 assertNotRegistered(NAME_TWO); 175 assertEquals(1, test2.createOrder); 176 assertEquals(3, test2.startOrder); 177 assertEquals(6, test2.stopOrder); 178 assertEquals(8, test2.destroyOrder); 179 } 180 } 181 182 mbeans = deploy(resourceName); 183 try 184 { 185 assertServiceRunning(NAME_ONE); 186 assertServiceRunning(NAME_TWO); 187 188 MBeanServer server = getServer(); 189 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 190 assertEquals("()", test1.constructorUsed); 191 assertEquals(10, test1.createOrder); 192 assertEquals(12, test1.startOrder); 193 assertEquals(0, test1.stopOrder); 194 assertEquals(0, test1.destroyOrder); 195 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 196 assertEquals("()", test2.constructorUsed); 197 assertEquals(9, test2.createOrder); 198 assertEquals(11, test2.startOrder); 199 assertEquals(0, test2.stopOrder); 200 assertEquals(0, test2.destroyOrder); 201 } 202 catch (Exception e) 203 { 204 error = true; 205 throw e; 206 } 207 catch (Error e) 208 { 209 error = true; 210 throw e; 211 } 212 finally 213 { 214 undeploy(mbeans); 215 216 if (error == false) 217 { 218 assertNoService(NAME_ONE); 219 assertNotRegistered(NAME_ONE); 220 assertEquals(10, test1.createOrder); 221 assertEquals(12, test1.startOrder); 222 assertEquals(13, test1.stopOrder); 223 assertEquals(15, test1.destroyOrder); 224 assertNoService(NAME_TWO); 225 assertNotRegistered(NAME_TWO); 226 assertEquals(9, test2.createOrder); 227 assertEquals(11, test2.startOrder); 228 assertEquals(14, test2.stopOrder); 229 assertEquals(16, test2.destroyOrder); 230 } 231 } 232 } 233 234 public void testBasicDependencyManualLifecycle() throws Exception 235 { 236 Simple test1 = null; 237 Simple test2 = null; 238 239 boolean error = false; 240 241 List <ObjectName > mbeans = deploy(resourceName); 242 try 243 { 244 assertServiceRunning(NAME_ONE); 245 assertServiceRunning(NAME_TWO); 246 247 MBeanServer server = getServer(); 248 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 249 assertEquals("()", test1.constructorUsed); 250 assertEquals(2, test1.createOrder); 251 assertEquals(4, test1.startOrder); 252 assertEquals(0, test1.stopOrder); 253 assertEquals(0, test1.destroyOrder); 254 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 255 assertEquals("()", test2.constructorUsed); 256 assertEquals(1, test2.createOrder); 257 assertEquals(3, test2.startOrder); 258 assertEquals(0, test2.stopOrder); 259 assertEquals(0, test2.destroyOrder); 260 261 ServiceControllerMBean controller = getController(); 262 263 controller.stop(NAME_ONE); 264 assertServiceStopped(NAME_ONE); 265 assertServiceRunning(NAME_TWO); 266 assertEquals(2, test1.createOrder); 267 assertEquals(4, test1.startOrder); 268 assertEquals(5, test1.stopOrder); 269 assertEquals(0, test1.destroyOrder); 270 assertEquals(1, test2.createOrder); 271 assertEquals(3, test2.startOrder); 272 assertEquals(0, test2.stopOrder); 273 assertEquals(0, test2.destroyOrder); 274 275 controller.destroy(NAME_ONE); 276 assertServiceDestroyed(NAME_ONE); 277 assertServiceRunning(NAME_TWO); 278 assertEquals(2, test1.createOrder); 279 assertEquals(4, test1.startOrder); 280 assertEquals(5, test1.stopOrder); 281 assertEquals(6, test1.destroyOrder); 282 assertEquals(1, test2.createOrder); 283 assertEquals(3, test2.startOrder); 284 assertEquals(0, test2.stopOrder); 285 assertEquals(0, test2.destroyOrder); 286 287 controller.create(NAME_ONE); 288 assertServiceCreated(NAME_ONE); 289 assertServiceRunning(NAME_TWO); 290 assertEquals(7, test1.createOrder); 291 assertEquals(4, test1.startOrder); 292 assertEquals(5, test1.stopOrder); 293 assertEquals(6, test1.destroyOrder); 294 assertEquals(1, test2.createOrder); 295 assertEquals(3, test2.startOrder); 296 assertEquals(0, test2.stopOrder); 297 assertEquals(0, test2.destroyOrder); 298 299 controller.start(NAME_ONE); 300 assertServiceRunning(NAME_ONE); 301 assertServiceRunning(NAME_TWO); 302 assertEquals(7, test1.createOrder); 303 assertEquals(8, test1.startOrder); 304 assertEquals(5, test1.stopOrder); 305 assertEquals(6, test1.destroyOrder); 306 assertEquals(1, test2.createOrder); 307 assertEquals(3, test2.startOrder); 308 assertEquals(0, test2.stopOrder); 309 assertEquals(0, test2.destroyOrder); 310 311 controller.stop(NAME_TWO); 312 assertServiceStopped(NAME_ONE); 313 assertServiceStopped(NAME_TWO); 314 assertEquals(7, test1.createOrder); 315 assertEquals(8, test1.startOrder); 316 assertEquals(9, test1.stopOrder); 317 assertEquals(6, test1.destroyOrder); 318 assertEquals(1, test2.createOrder); 319 assertEquals(3, test2.startOrder); 320 assertEquals(10, test2.stopOrder); 321 assertEquals(0, test2.destroyOrder); 322 323 controller.destroy(NAME_TWO); 324 assertServiceDestroyed(NAME_ONE); 325 assertServiceDestroyed(NAME_TWO); 326 assertEquals(7, test1.createOrder); 327 assertEquals(8, test1.startOrder); 328 assertEquals(9, test1.stopOrder); 329 assertEquals(11, test1.destroyOrder); 330 assertEquals(1, test2.createOrder); 331 assertEquals(3, test2.startOrder); 332 assertEquals(10, test2.stopOrder); 333 assertEquals(12, test2.destroyOrder); 334 335 controller.create(NAME_TWO); 336 assertServiceCreated(NAME_ONE); 337 assertServiceCreated(NAME_TWO); 338 assertEquals(14, test1.createOrder); 339 assertEquals(8, test1.startOrder); 340 assertEquals(9, test1.stopOrder); 341 assertEquals(11, test1.destroyOrder); 342 assertEquals(13, test2.createOrder); 343 assertEquals(3, test2.startOrder); 344 assertEquals(10, test2.stopOrder); 345 assertEquals(12, test2.destroyOrder); 346 347 controller.start(NAME_TWO); 348 assertServiceRunning(NAME_ONE); 349 assertServiceRunning(NAME_TWO); 350 assertEquals(14, test1.createOrder); 351 assertEquals(16, test1.startOrder); 352 assertEquals(9, test1.stopOrder); 353 assertEquals(11, test1.destroyOrder); 354 assertEquals(13, test2.createOrder); 355 assertEquals(15, test2.startOrder); 356 assertEquals(10, test2.stopOrder); 357 assertEquals(12, test2.destroyOrder); 358 } 359 catch (Exception e) 360 { 361 error = true; 362 throw e; 363 } 364 catch (Error e) 365 { 366 error = true; 367 throw e; 368 } 369 finally 370 { 371 undeploy(mbeans); 372 373 if (error == false) 374 { 375 assertNoService(NAME_ONE); 376 assertNotRegistered(NAME_ONE); 377 assertEquals(14, test1.createOrder); 378 assertEquals(16, test1.startOrder); 379 assertEquals(17, test1.stopOrder); 380 assertEquals(19, test1.destroyOrder); 381 assertNoService(NAME_TWO); 382 assertNotRegistered(NAME_TWO); 383 assertEquals(13, test2.createOrder); 384 assertEquals(15, test2.startOrder); 385 assertEquals(18, test2.stopOrder); 386 assertEquals(20, test2.destroyOrder); 387 } 388 } 389 } 390 } 391 | Popular Tags |