User: d_jencks
Date: 01/12/19 22:13:27
Modified: src/main/org/jboss/test/jmx/test
ConnectionFactoryLoaderUnitTestCase.java
DeployServiceUnitTestCase.java
Log:
Fixed up dependency tests to work with depends elements
Revision Changes Path
1.7 +17 -5
jbosstest/src/main/org/jboss/test/jmx/test/ConnectionFactoryLoaderUnitTestCase.java
Index: ConnectionFactoryLoaderUnitTestCase.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/jmx/test/ConnectionFactoryLoaderUnitTestCase.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ConnectionFactoryLoaderUnitTestCase.java 2001/11/19 06:59:13 1.6
+++ ConnectionFactoryLoaderUnitTestCase.java 2001/12/20 06:13:27 1.7
@@ -33,7 +33,7 @@
/**
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">David Jencks</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public class ConnectionFactoryLoaderUnitTestCase
extends JBossTestCase
@@ -108,9 +108,13 @@
ObjectName serviceControllerName = new
ObjectName("JBOSS-SYSTEM:spine=ServiceController");
//invoke(connectionFactoryLoaderName, "start", args, sig);
invoke(serviceControllerName,
- "registerAndStartService",
- new Object[] {connectionFactoryLoaderName, null},
- new String[] {"javax.management.ObjectName", "java.lang.String"});
+ "create",
+ new Object[] {connectionFactoryLoaderName},
+ new String[] {"javax.management.ObjectName"});
+ invoke(serviceControllerName,
+ "start",
+ new Object[] {connectionFactoryLoaderName},
+ new String[] {"javax.management.ObjectName"});
assertTrue("State is not started",
"Started".equals(getServer().getAttribute(connectionFactoryLoaderName,
"StateString")));
@@ -127,8 +131,16 @@
undeployJ2ee("jmxtest.jar");
//undeploy test connection factory loader.
+ invoke(serviceControllerName,
+ "stop",
+ new Object[] {connectionFactoryLoaderName},
+ new String[] {"javax.management.ObjectName"});
+ invoke(serviceControllerName,
+ "destroy",
+ new Object[] {connectionFactoryLoaderName},
+ new String[] {"javax.management.ObjectName"});
invoke(serviceControllerName,
- "undeploy",
+ "remove",
new Object[] {connectionFactoryLoaderName},
new String[] {"javax.management.ObjectName"});
1.9 +45 -239
jbosstest/src/main/org/jboss/test/jmx/test/DeployServiceUnitTestCase.java
Index: DeployServiceUnitTestCase.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/jmx/test/DeployServiceUnitTestCase.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DeployServiceUnitTestCase.java 2001/12/05 21:22:21 1.8
+++ DeployServiceUnitTestCase.java 2001/12/20 06:13:27 1.9
@@ -32,13 +32,20 @@
/**
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">David Jencks</a>
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
*/
public class DeployServiceUnitTestCase
extends JBossTestCase
{
// Constants -----------------------------------------------------
-
+ protected final static int INSTALLED = 0;
+ protected final static int CONFIGURED = 1;
+ protected final static int CREATED = 2;
+ protected final static int RUNNING = 3;
+ protected final static int FAILED = 4;
+ protected final static int STOPPED = 5;
+ protected final static int DESTROYED = 6;
+ protected final static int NOTYETINSTALLED = 7;
// Attributes ----------------------------------------------------
ObjectName serviceControllerName;
@@ -211,7 +218,7 @@
*
* @exception Exception Description of Exception
*/
- public void testDeploySARDependencies() throws Exception
+ public void testDependsElement() throws Exception
{
//C depends on A and B
//Find the testdeploy[ABC].sar files in lib directory with other jars.
@@ -252,10 +259,10 @@
//undeploy test xml doc.
undeployService(testUrlA);
- //check they aren't there any more
+ //check they aren't there any more or they have stopped.
assertTrue("test mbean A still registered after undeploy of A",
!getServer().isRegistered(testObjectNameA));
- assertTrue("test mbean C still registered after undeploy of A",
!getServer().isRegistered(testObjectNameC));
- assertTrue("test mbean B unregistered after undeploy of A",
getServer().isRegistered(testObjectNameB));
+ assertTrue("test mbean C not stopped after undeploy of A",
!checkState(testObjectNameC, RUNNING));
+ assertTrue("test mbean B stopped after undeploy of A",
checkState(testObjectNameB, RUNNING));
//Now undeploy B, should prevent redeploy of C when A is redeployed.
@@ -271,7 +278,7 @@
assertTrue("test mbean B is registered after deploy of A",
!getServer().isRegistered(testObjectNameB));
- assertTrue("test mbean C is registered after deploy of A, with B
unregistered", !getServer().isRegistered(testObjectNameC));
+ assertTrue("test mbean C started after deploy of A, with B unregistered",
!checkState(testObjectNameC, RUNNING));
//now redeploy B, should also redeploy C
deployService(testUrlB);
@@ -311,10 +318,10 @@
*
* @exception Exception Description of Exception
*/
- public void testDepends() throws Exception
+ public void testDependsListElement() throws Exception
{
- //C depends on A and B via classpath.
- //D depends on A and C via depends elements.
+ //C depends on A and B via anonymous depends element.
+ //D depends on A and C via anonymous dependsList.
//Find the testdeploy[ABC].sar files in lib directory with other jars.
String testUrlA = "testdeploya.sar";
@@ -330,8 +337,6 @@
ObjectName testObjectNameD = new ObjectName("test:name=TestDeployerD");
ObjectName testObjectName2 = new ObjectName("test:name=TestDeployer2");
ObjectName testObjectName3 = new ObjectName("test:name=TestDeployer3");
- //the classloader mbean
- ObjectName classLoaderObjectName = new
ObjectName("JBOSS-SYSTEM:spine=ServiceClassLoader");
try
{
//check they aren't there already
@@ -342,78 +347,48 @@
//deploy the test jsrs.
deployService(testUrlD);
- //Nothing should be registered: D is waiting for A and C
- Collection ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
- //check deployment registered expected mbeans
- assertTrue("test mbean D registered after deploy",
!ds.contains(testObjectNameD));
- assertTrue("test mbean C registered after deploy",
!ds.contains(testObjectNameC));
- assertTrue("test mbean A registered after deploy",
!ds.contains(testObjectNameA));
- assertTrue("test mbean B registered after deploy",
!ds.contains(testObjectNameB));
+
+ assertTrue("test mbean D started with A, B, and C unregistered",
!checkState(testObjectNameD, RUNNING));
//deploy A.
deployService(testUrlA);
- //should have only bean A, D is still waiting on C
- ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
-
- //check deployment registered expected mbeans
- assertTrue("test mbeanA not registered after deploy",
ds.contains(testObjectNameA));
- assertTrue("test mbeanB registered after deploy",
!ds.contains(testObjectNameB));
- assertTrue("test mbeanC registered after deploy",
!ds.contains(testObjectNameC));
- assertTrue("test mbeanD registered after deploy",
!ds.contains(testObjectNameD));
-
- //Deploy B, should have no effect except on B
- deployService(testUrlB);
- ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
-
- assertTrue("test mbeanA not registered after deploy",
ds.contains(testObjectNameA));
- assertTrue("test mbeanB not registered after deploy",
ds.contains(testObjectNameB));
- assertTrue("test mbeanC registered after deploy",
!ds.contains(testObjectNameC));
- assertTrue("test mbeanD registered after deploy",
!ds.contains(testObjectNameD));
-
-
- //check the class for D is not available
- //actually it should be here...
- try
- {
- ObjectInstance oe =
getServer().createMBean("org.jboss.test.jmx.mbean.TestDeployerD", testObjectName3,
classLoaderObjectName);
- //fail("created mbean when class should not be present: object
instance: " + oe);
- }
- catch (ReflectionException re)
- {
- Exception e = re.getTargetException();
- if (!(e instanceof ClassNotFoundException))
- {
- fail("Wrong exception thrown when trying to create mbean" + e);
- }
- }
+ //A should be started, not anything else
+ assertTrue("test mbean A not started", checkState(testObjectNameA,
RUNNING));
+ assertTrue("test mbean D started with A, B, and C unregistered",
!checkState(testObjectNameD, RUNNING));
- //deploy the test bean C. D should get created too.
+ //Deploy C, should not start
deployService(testUrlC);
+ assertTrue("test mbean C started with B unregistered",
!checkState(testObjectNameC, RUNNING));
- //check deployment registered expected mbeans
- ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
- assertTrue("test mbean A not registered after deploy of C",
ds.contains(testObjectNameA));
- assertTrue("test mbean B not registered after deploy of C",
ds.contains(testObjectNameB));
- assertTrue("test mbean C not registered after deploy of C",
ds.contains(testObjectNameC));
- assertTrue("test mbean D not registered after deploy of C",
ds.contains(testObjectNameD));
+ //deploy the test bean B. C and D should start too.
+ deployService(testUrlB);
+ assertTrue("test mbean A not started", checkState(testObjectNameA,
RUNNING));
+ assertTrue("test mbean B not started", checkState(testObjectNameB,
RUNNING));
+ assertTrue("test mbean C not started", checkState(testObjectNameC,
RUNNING));
+ assertTrue("test mbean D not started", checkState(testObjectNameD,
RUNNING));
+
//undeploy test xml doc.
- undeployService(testUrlD);
- undeployService(testUrlC);
undeployService(testUrlA);
+ assertTrue("test mbean A present after undeploy",
!getServer().isRegistered(testObjectNameA));
+ assertTrue("test mbean B not started after undeploy of A",
checkState(testObjectNameB, RUNNING));
+ assertTrue("test mbean C started after undeploy of A",
!checkState(testObjectNameC, RUNNING));
+ assertTrue("test mbean D started after undeploy of A",
!checkState(testObjectNameD, RUNNING));
+ undeployService(testUrlC);
undeployService(testUrlB);
+ undeployService(testUrlD);
//check they aren't there any more
- ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
+ Collection ds =
Arrays.asList((ObjectName[])getServer().getAttribute(serviceControllerName,
"Deployed"));
assertTrue("test mbean A still registered after undeploy",
!ds.contains(testObjectNameA));
assertTrue("test mbean A still registered after undeploy",
!ds.contains(testObjectNameB));
assertTrue("test mbean A still registered after undeploy",
!ds.contains(testObjectNameC));
- assertTrue("test mbean A still registered after undeploy",
!ds.contains(testObjectNameD));
+ assertTrue("test mbean D still registered after undeploy",
!ds.contains(testObjectNameD));
}
finally
{
@@ -451,183 +426,8 @@
}
- /**
- * C and E both have A and B in their classpath.
- * we deploy C, E, and B.
- * Undeploying C should leave A and B (classes only for A)
- * Undeploying E should remove classes for A and leave B
- * (B was explicitly deployed)
- *
- * @exception Exception Description of Exception
- */
- public void testNeedsClasses() throws Exception
- {
- //C depends on A and B via classpath.
- //Find the testdeploy[ABC].sar files in lib directory with other jars.
-
- String testUrlA = "testdeploya.sar";
- String testUrlB = "testdeployb.sar";
- String testUrlC = "testdeployc.sar";
- String testUrlE = "testdeploye.sar";
- getLog().debug("testUrlA is : " + testUrlA);
-
- //the mbeans we are trying to deploy/undeploy
- ObjectName testObjectNameA = new ObjectName("test:name=TestDeployerA");
- ObjectName testObjectNameB = new ObjectName("test:name=TestDeployerB");
- ObjectName testObjectNameC = new ObjectName("test:name=TestDeployerC");
- ObjectName testObjectNameE = new ObjectName("test:name=TestDeployerE");
- ObjectName testObjectName2 = new ObjectName("test:name=TestDeployer2");
- ObjectName testObjectName3 = new ObjectName("test:name=TestDeployer3");
- //the classloader mbean
- ObjectName classLoaderObjectName = new
ObjectName("JBOSS-SYSTEM:spine=ServiceClassLoader");
- try
- {
- //check they aren't there already
- assertTrue("test mbean a already registered before deploy",
!getServer().isRegistered(testObjectNameA));
- assertTrue("test mbean b already registered before deploy",
!getServer().isRegistered(testObjectNameB));
- assertTrue("test mbean c already registered before deploy",
!getServer().isRegistered(testObjectNameC));
- assertTrue("test mbean e already registered before deploy",
!getServer().isRegistered(testObjectNameE));
-
- //deploy C
- deployService(testUrlC);
-
- //check the classloader-- is C's class there?
- //make sure we can create an mbean based on the class we just deployed.
- try
- {
- getServer().createMBean("org.jboss.test.jmx.mbeanc.TestDeployerC",
testObjectName2, classLoaderObjectName);
- }
- catch (Exception e)
- {
- fail("could not create mbean after class loaded in jsr" + e);
- }
- //now remove it again
- try
- {
- getServer().unregisterMBean(testObjectName2);
- }
- catch (Exception e)
- {
- fail("could not remove mbean after class loaded in jsr" + e);
- }
-
- //check deployment registered expected mbeans
- assertTrue("test mbean C not registered after deploy",
getServer().isRegistered(testObjectNameC));
- assertTrue("test mbean A registered after deploy",
!getServer().isRegistered(testObjectNameA));
- assertTrue("test mbean B registered after deploy",
!getServer().isRegistered(testObjectNameB));
-
- deployService(testUrlB);//This should work, check the rest..
- deployService(testUrlE);
-
- assertTrue("test mbean C not registered after deploy",
getServer().isRegistered(testObjectNameC));
- assertTrue("test mbean A registered after deploy",
!getServer().isRegistered(testObjectNameA));
- //assertTrue("test mbean B not registered after deploy",
getServer().isRegistered(testObjectNameB));
- assertTrue("test mbean E not registered after deploy",
getServer().isRegistered(testObjectNameE));
-
- //check for A class
- try
- {
- getServer().createMBean("org.jboss.test.jmx.mbeana.TestDeployerA",
testObjectName2, classLoaderObjectName);
- }
- catch (Exception e)
- {
- fail("could not create mbean after class loaded in jsr" + e);
- }
- //now remove it again
- try
- {
- getServer().unregisterMBean(testObjectName2);
- }
- catch (Exception e)
- {
- fail("could not remove mbean after class loaded in jsr" + e);
- }
-
- //check for B class
- try
- {
- getServer().createMBean("org.jboss.test.jmx.mbeanb.TestDeployerB",
testObjectName2, classLoaderObjectName);
- }
- catch (Exception e)
- {
- fail("could not create mbean after class loaded in jsr" + e);
- }
- //now remove it again
- try
- {
- getServer().unregisterMBean(testObjectName2);
- }
- catch (Exception e)
- {
- fail("could not remove mbean after class loaded in jsr" + e);
- }
- //undeploy C, should leave A's class,
- undeployService(testUrlC);
- //check for A class
- try
- {
- getServer().createMBean("org.jboss.test.jmx.mbeana.TestDeployerA",
testObjectName2, classLoaderObjectName);
- }
- catch (Exception e)
- {
- fail("could not create mbean after class loaded in jsr" + e);
- }
- //now remove it again
- try
- {
- getServer().unregisterMBean(testObjectName2);
- }
- catch (Exception e)
- {
- fail("could not remove mbean after class loaded in jsr" + e);
- }
- //undeploy E, should remove A's class,
- undeployService(testUrlE);
- //check for A class
- try
- {
- getServer().createMBean("org.jboss.test.jmx.mbeana.TestDeployerA",
testObjectName2, classLoaderObjectName);
- fail("could create mbeana after it should be unloaded");
- }
- catch (Exception e)
- {
- }
- }
- finally
- {
- try
- {
- undeployService(testUrlE);
- }
- catch (Exception e)
- {
- }
- try
- {
- undeployService(testUrlC);
- }
- catch (Exception e)
- {
- }
- try
- {
- undeployService(testUrlA);
- }
- catch (Exception e)
- {
- }
- try
- {
- undeployService(testUrlB);
- }
- catch (Exception e)
- {
- }
- }
- }
-
/**
* The <code>testCopyLocalDir</code> method tests the local-directory element
* in jboss-system.xml.
@@ -802,6 +602,12 @@
}
}
return f.delete();
+ }
+
+ protected boolean checkState(ObjectName mbean, int state) throws Exception
+ {
+ Integer mbeanState = (Integer)getServer().getAttribute(mbean, "State");
+ return state == mbeanState.intValue();
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development