1 22 package org.jboss.test.system.controller.lifecycle.seperated.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.test.system.controller.AbstractControllerTest; 31 import org.jboss.test.system.controller.support.Simple; 32 33 39 public abstract class SeperatedDependencyTest extends AbstractControllerTest 40 { 41 private static ObjectName NAME_ONE = ObjectNameFactory.create("test:name=1"); 42 private static ObjectName NAME_TWO = ObjectNameFactory.create("test:name=2"); 43 44 private String resourceName1; 45 private String resourceName2; 46 47 public SeperatedDependencyTest(String name) 48 { 49 super(name); 50 51 String 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 resourceName1 = resourceName + "_1.xml"; 63 resourceName2 = resourceName + "_2.xml"; 64 } 65 66 public void testDeployCorrectOrder() throws Exception 67 { 68 Simple test1 = null; 69 Simple test2 = null; 70 71 boolean error = false; 72 73 List <ObjectName > mbeans1 = deploy(resourceName1); 74 try 75 { 76 assertServiceRunning(NAME_ONE); 77 assertNoService(NAME_TWO); 78 79 MBeanServer server = getServer(); 80 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 81 assertEquals("()", test1.constructorUsed); 82 assertEquals(1, test1.createOrder); 83 assertEquals(2, test1.startOrder); 84 assertEquals(0, test1.stopOrder); 85 assertEquals(0, test1.destroyOrder); 86 87 List <ObjectName > mbeans2 = deploy(resourceName2); 88 try 89 { 90 assertServiceRunning(NAME_ONE); 91 assertServiceRunning(NAME_TWO); 92 93 assertEquals(1, test1.createOrder); 94 assertEquals(2, test1.startOrder); 95 assertEquals(0, test1.stopOrder); 96 assertEquals(0, test1.destroyOrder); 97 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 98 assertEquals("()", test2.constructorUsed); 99 assertEquals(3, test2.createOrder); 100 assertEquals(4, test2.startOrder); 101 assertEquals(0, test2.stopOrder); 102 assertEquals(0, test2.destroyOrder); 103 } 104 catch (Exception e) 105 { 106 error = true; 107 throw e; 108 } 109 catch (Error e) 110 { 111 error = true; 112 throw e; 113 } 114 finally 115 { 116 undeploy(mbeans2); 117 118 if (error == false) 119 { 120 assertServiceRunning(NAME_ONE); 121 assertEquals(1, test1.createOrder); 122 assertEquals(2, test1.startOrder); 123 assertEquals(0, test1.stopOrder); 124 assertEquals(0, test1.destroyOrder); 125 assertNoService(NAME_TWO); 126 assertNotRegistered(NAME_TWO); 127 assertEquals(3, test2.createOrder); 128 assertEquals(4, test2.startOrder); 129 assertEquals(5, test2.stopOrder); 130 assertEquals(6, test2.destroyOrder); 131 } 132 } 133 } 134 catch (Exception e) 135 { 136 error = true; 137 throw e; 138 } 139 catch (Error e) 140 { 141 error = true; 142 throw e; 143 } 144 finally 145 { 146 undeploy(mbeans1); 147 148 if (error == false) 149 { 150 assertNoService(NAME_ONE); 151 assertNotRegistered(NAME_ONE); 152 assertEquals(1, test1.createOrder); 153 assertEquals(2, test1.startOrder); 154 assertEquals(7, test1.stopOrder); 155 assertEquals(8, test1.destroyOrder); 156 assertNoService(NAME_TWO); 157 assertNotRegistered(NAME_TWO); 158 if (test2 != null) 159 { 160 assertEquals(3, test2.createOrder); 161 assertEquals(4, test2.startOrder); 162 assertEquals(5, test2.stopOrder); 163 assertEquals(6, test2.destroyOrder); 164 } 165 } 166 } 167 } 168 169 public void testDeployWrongOrder() throws Exception 170 { 171 Simple test1 = null; 172 Simple test2 = null; 173 174 boolean error = false; 175 176 List <ObjectName > mbeans2 = deploy(resourceName2); 177 try 178 { 179 assertServiceConfigured(NAME_TWO); 180 181 MBeanServer server = getServer(); 182 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 183 assertEquals("()", test2.constructorUsed); 184 assertEquals(0, test2.createOrder); 185 assertEquals(0, test2.startOrder); 186 assertEquals(0, test2.stopOrder); 187 assertEquals(0, test2.destroyOrder); 188 189 List <ObjectName > mbeans1 = deploy(resourceName1); 190 try 191 { 192 assertServiceRunning(NAME_TWO); 193 assertServiceRunning(NAME_ONE); 194 195 assertEquals(2, test2.createOrder); 196 assertEquals(4, test2.startOrder); 197 assertEquals(0, test2.stopOrder); 198 assertEquals(0, test2.destroyOrder); 199 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 200 assertEquals("()", test1.constructorUsed); 201 assertEquals(1, test1.createOrder); 202 assertEquals(3, test1.startOrder); 203 assertEquals(0, test1.stopOrder); 204 assertEquals(0, test1.destroyOrder); 205 } 206 catch (Exception e) 207 { 208 error = true; 209 throw e; 210 } 211 catch (Error e) 212 { 213 error = true; 214 throw e; 215 } 216 finally 217 { 218 undeploy(mbeans1); 219 220 if (error == false) 221 { 222 assertServiceDestroyed(NAME_TWO); 223 assertEquals(2, test2.createOrder); 224 assertEquals(4, test2.startOrder); 225 assertEquals(5, test2.stopOrder); 226 assertEquals(7, test2.destroyOrder); 227 assertNotRegistered(NAME_ONE); 228 assertEquals(1, test1.createOrder); 229 assertEquals(3, test1.startOrder); 230 assertEquals(6, test1.stopOrder); 231 assertEquals(8, test1.destroyOrder); 232 } 233 } 234 } 235 catch (Exception e) 236 { 237 error = true; 238 throw e; 239 } 240 catch (Error e) 241 { 242 error = true; 243 throw e; 244 } 245 finally 246 { 247 undeploy(mbeans2); 248 249 if (error == false) 250 { 251 assertNoService(NAME_TWO); 252 assertNotRegistered(NAME_TWO); 253 assertEquals(2, test2.createOrder); 254 assertEquals(4, test2.startOrder); 255 assertEquals(5, test2.stopOrder); 256 assertEquals(7, test2.destroyOrder); 257 assertNoService(NAME_ONE); 258 assertNotRegistered(NAME_ONE); 259 if (test1 != null) 260 { 261 assertEquals(1, test1.createOrder); 262 assertEquals(3, test1.startOrder); 263 assertEquals(6, test1.stopOrder); 264 assertEquals(8, test1.destroyOrder); 265 } 266 } 267 } 268 } 269 270 public void testRedeployOne() throws Exception 271 { 272 Simple test1 = null; 273 Simple test2 = null; 274 275 boolean error = false; 276 277 List <ObjectName > mbeans1 = deploy(resourceName1); 278 try 279 { 280 List <ObjectName > mbeans2 = deploy(resourceName2); 281 try 282 { 283 assertServiceRunning(NAME_ONE); 284 assertServiceRunning(NAME_TWO); 285 286 MBeanServer server = getServer(); 287 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 288 assertEquals("()", test1.constructorUsed); 289 assertEquals(1, test1.createOrder); 290 assertEquals(2, test1.startOrder); 291 assertEquals(0, test1.stopOrder); 292 assertEquals(0, test1.destroyOrder); 293 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 294 assertEquals("()", test2.constructorUsed); 295 assertEquals(3, test2.createOrder); 296 assertEquals(4, test2.startOrder); 297 assertEquals(0, test2.stopOrder); 298 assertEquals(0, test2.destroyOrder); 299 300 undeploy(mbeans1); 301 302 assertNotRegistered(NAME_ONE); 303 assertServiceDestroyed(NAME_TWO); 304 305 assertEquals(1, test1.createOrder); 306 assertEquals(2, test1.startOrder); 307 assertEquals(6, test1.stopOrder); 308 assertEquals(8, test1.destroyOrder); 309 assertEquals(3, test2.createOrder); 310 assertEquals(4, test2.startOrder); 311 assertEquals(5, test2.stopOrder); 312 assertEquals(7, test2.destroyOrder); 313 314 mbeans1 = deploy(resourceName1); 315 316 assertServiceRunning(NAME_ONE); 317 assertServiceRunning(NAME_TWO); 318 319 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 320 assertEquals("()", test1.constructorUsed); 321 assertEquals(9, test1.createOrder); 322 assertEquals(11, test1.startOrder); 323 assertEquals(0, test1.stopOrder); 324 assertEquals(0, test1.destroyOrder); 325 assertEquals(10, test2.createOrder); 326 assertEquals(12, test2.startOrder); 327 assertEquals(5, test2.stopOrder); 328 assertEquals(7, test2.destroyOrder); 329 } 330 catch (Exception e) 331 { 332 error = true; 333 throw e; 334 } 335 catch (Error e) 336 { 337 error = true; 338 throw e; 339 } 340 finally 341 { 342 undeploy(mbeans2); 343 344 if (error == false) 345 { 346 assertServiceRunning(NAME_ONE); 347 assertEquals(9, test1.createOrder); 348 assertEquals(11, test1.startOrder); 349 assertEquals(0, test1.stopOrder); 350 assertEquals(0, test1.destroyOrder); 351 assertNoService(NAME_TWO); 352 assertNotRegistered(NAME_TWO); 353 assertEquals(10, test2.createOrder); 354 assertEquals(12, test2.startOrder); 355 assertEquals(13, test2.stopOrder); 356 assertEquals(14, test2.destroyOrder); 357 } 358 } 359 } 360 catch (Exception e) 361 { 362 error = true; 363 throw e; 364 } 365 catch (Error e) 366 { 367 error = true; 368 throw e; 369 } 370 finally 371 { 372 undeploy(mbeans1); 373 374 if (error == false) 375 { 376 assertNoService(NAME_ONE); 377 assertNotRegistered(NAME_ONE); 378 assertEquals(9, test1.createOrder); 379 assertEquals(11, test1.startOrder); 380 assertEquals(15, test1.stopOrder); 381 assertEquals(16, test1.destroyOrder); 382 assertNoService(NAME_TWO); 383 assertNotRegistered(NAME_TWO); 384 if (test2 != null) 385 { 386 assertEquals(10, test2.createOrder); 387 assertEquals(12, test2.startOrder); 388 assertEquals(13, test2.stopOrder); 389 assertEquals(14, test2.destroyOrder); 390 } 391 } 392 } 393 } 394 395 public void testRedeployTwo() throws Exception 396 { 397 Simple test1 = null; 398 Simple test2 = null; 399 400 boolean error = false; 401 402 List <ObjectName > mbeans1 = deploy(resourceName1); 403 try 404 { 405 List <ObjectName > mbeans2 = deploy(resourceName2); 406 try 407 { 408 assertServiceRunning(NAME_ONE); 409 assertServiceRunning(NAME_TWO); 410 411 MBeanServer server = getServer(); 412 test1 = (Simple) server.getAttribute(NAME_ONE, "Instance"); 413 assertEquals("()", test1.constructorUsed); 414 assertEquals(1, test1.createOrder); 415 assertEquals(2, test1.startOrder); 416 assertEquals(0, test1.stopOrder); 417 assertEquals(0, test1.destroyOrder); 418 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 419 assertEquals("()", test2.constructorUsed); 420 assertEquals(3, test2.createOrder); 421 assertEquals(4, test2.startOrder); 422 assertEquals(0, test2.stopOrder); 423 assertEquals(0, test2.destroyOrder); 424 425 undeploy(mbeans2); 426 427 assertServiceRunning(NAME_ONE); 428 assertNoService(NAME_TWO); 429 430 assertEquals(1, test1.createOrder); 431 assertEquals(2, test1.startOrder); 432 assertEquals(0, test1.stopOrder); 433 assertEquals(0, test1.destroyOrder); 434 assertEquals(3, test2.createOrder); 435 assertEquals(4, test2.startOrder); 436 assertEquals(5, test2.stopOrder); 437 assertEquals(6, test2.destroyOrder); 438 439 mbeans2 = deploy(resourceName2); 440 441 assertServiceRunning(NAME_ONE); 442 assertServiceRunning(NAME_TWO); 443 444 assertEquals(1, test1.createOrder); 445 assertEquals(2, test1.startOrder); 446 assertEquals(0, test1.stopOrder); 447 assertEquals(0, test1.destroyOrder); 448 test2 = (Simple) server.getAttribute(NAME_TWO, "Instance"); 449 assertEquals("()", test1.constructorUsed); 450 assertEquals(7, test2.createOrder); 451 assertEquals(8, test2.startOrder); 452 assertEquals(0, test2.stopOrder); 453 assertEquals(0, test2.destroyOrder); 454 } 455 catch (Exception e) 456 { 457 error = true; 458 throw e; 459 } 460 catch (Error e) 461 { 462 error = true; 463 throw e; 464 } 465 finally 466 { 467 undeploy(mbeans2); 468 469 if (error == false) 470 { 471 assertServiceRunning(NAME_ONE); 472 assertEquals(1, test1.createOrder); 473 assertEquals(2, test1.startOrder); 474 assertEquals(0, test1.stopOrder); 475 assertEquals(0, test1.destroyOrder); 476 assertNoService(NAME_TWO); 477 assertNotRegistered(NAME_TWO); 478 assertEquals(7, test2.createOrder); 479 assertEquals(8, test2.startOrder); 480 assertEquals(9, test2.stopOrder); 481 assertEquals(10, test2.destroyOrder); 482 } 483 } 484 } 485 catch (Exception e) 486 { 487 error = true; 488 throw e; 489 } 490 catch (Error e) 491 { 492 error = true; 493 throw e; 494 } 495 finally 496 { 497 undeploy(mbeans1); 498 499 if (error == false) 500 { 501 assertNoService(NAME_ONE); 502 assertNotRegistered(NAME_ONE); 503 assertEquals(1, test1.createOrder); 504 assertEquals(2, test1.startOrder); 505 assertEquals(11, test1.stopOrder); 506 assertEquals(12, test1.destroyOrder); 507 assertNoService(NAME_TWO); 508 assertNotRegistered(NAME_TWO); 509 if (test2 != null) 510 { 511 assertEquals(7, test2.createOrder); 512 assertEquals(8, test2.startOrder); 513 assertEquals(9, test2.stopOrder); 514 assertEquals(10, test2.destroyOrder); 515 } 516 } 517 } 518 } 519 } 520 | Popular Tags |