| 1 22 package org.jboss.test.jmx.test; 23 24 import javax.management.MBeanServerConnection ; 25 import javax.management.ObjectName ; 26 27 import junit.framework.Test; 28 29 import org.jboss.test.JBossTestCase; 30 31 39 public class ServiceLifecycleUnitTestCase extends JBossTestCase 40 { 41 public static final Object [] EMPTY_OBJECT_ARRAY = new Object [] {}; 42 public static final String [] EMPTY_STRING_ARRAY = new String [] {}; 43 44 public ServiceLifecycleUnitTestCase(String test) 45 { 46 super(test); 47 } 48 49 public static Test suite() throws Exception  50 { 51 return getDeploySetup(ServiceLifecycleUnitTestCase.class, "jmx-simpleservice.sar"); 52 } 53 54 public void testCreateStopImplicitlyCalledJBossInternalLifecyleExposed() throws Exception  55 { 56 ObjectName target = new ObjectName ("jboss.test:service=SimpleService"); 57 MBeanServerConnection server = super.getServer(); 58 59 server.invoke(target, "destroy", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 61 Boolean stopCalled = (Boolean )server.getAttribute(target, "StopCalled"); 62 assertTrue("stop() not called upon direct destroy", stopCalled.booleanValue()); 63 64 server.invoke(target, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 66 67 server.invoke(target, "start", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 69 Boolean createCalled = (Boolean )server.getAttribute(target, "CreateCalled"); 70 assertTrue("create() not called upon direct start()", createCalled.booleanValue()); 71 } 72 73 public void testCreateStopImplicitlyCalledJBossInternalLifecycleHidden() throws Exception  74 { 75 ObjectName target = new ObjectName ("jboss.test:service=SimpleService2"); 76 MBeanServerConnection server = super.getServer(); 77 78 server.invoke(target, "destroy", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 80 Boolean stopCalled = (Boolean )server.getAttribute(target, "StopCalled"); 81 assertTrue("stop() not called upon direct destroy()", stopCalled.booleanValue()); 82 83 server.invoke(target, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 85 86 server.invoke(target, "start", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 88 Boolean createCalled = (Boolean )server.getAttribute(target, "CreateCalled"); 89 assertTrue("create() not called upon direct start()", createCalled.booleanValue()); 90 } 91 92 public void testStopCreateImplicitlyCalledWithDependencyAndLifecycleExposed() throws Exception  93 { 94 ObjectName target1 = new ObjectName ("jboss.test:service=SimpleService3"); 96 ObjectName target2 = new ObjectName ("jboss.test:service=SimpleService4"); 97 MBeanServerConnection server = super.getServer(); 98 99 server.invoke(target2, "destroy", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 101 Boolean stopCalled = (Boolean )server.getAttribute(target1, "StopCalled"); 102 assertTrue("stop() not called on target1 upon indirect destroy() of target2", stopCalled.booleanValue()); 103 104 server.invoke(target1, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 106 server.invoke(target2, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 107 108 server.invoke(target2, "start", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 110 Boolean createCalled = (Boolean )server.getAttribute(target1, "CreateCalled"); 111 assertTrue("create() not called on target1 upon indirect start() of target2", createCalled.booleanValue()); 112 } 113 114 public void testStopCreateImplicitlyCalledWithDependencyAndLifecycleHidden() throws Exception  115 { 116 ObjectName target1 = new ObjectName ("jboss.test:service=SimpleService5"); 121 ObjectName target2 = new ObjectName ("jboss.test:service=SimpleService6"); 122 MBeanServerConnection server = super.getServer(); 123 124 server.invoke(target2, "destroy", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 126 Boolean stopCalled = (Boolean )server.getAttribute(target1, "StopCalled"); 127 assertTrue("stop() not called on target1 upon indirect destroy() of target2", stopCalled.booleanValue()); 128 129 server.invoke(target1, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 131 server.invoke(target2, "resetLifecycleMemory", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 132 133 server.invoke(target2, "start", EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY); 135 Boolean createCalled = (Boolean )server.getAttribute(target1, "CreateCalled"); 136 assertTrue("create() not called on target1 upon indirect start() of target2", createCalled.booleanValue()); 137 } 138 } | Popular Tags |