User: d_jencks
  Date: 01/09/26 14:47:05

  Modified:    src/main/org/jboss/test/jmx/test
                        DeployServiceUnitTestCase.java
  Log:
  ServiceDeployer: added local dir support, undeploy support for depends, reworked 
classpath dependencies. Changed config files to work. REMOVE core-service.xml or 
build.sh cleancvs update -d -P >update11.log
  
  Revision  Changes    Path
  1.5       +255 -66   
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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DeployServiceUnitTestCase.java    2001/09/20 18:23:41     1.4
  +++ DeployServiceUnitTestCase.java    2001/09/26 21:47:05     1.5
  @@ -29,7 +29,7 @@
   /**
    * @see       <related>
    * @author    <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version   $Revision: 1.4 $
  + * @version   $Revision: 1.5 $
    */
   public class DeployServiceUnitTestCase
          extends JBossTestCase
  @@ -231,13 +231,6 @@
   
            //we'll believe from testDeployJSR that the classes are available.
   
  -         //deploy the test jsrs again, should undeploy and redeploy.
  -         deployService(testUrlA);
  -
  -         //check deployment registered expected mbeans
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameA));
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameB));
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameC));
   
            //undeploy test xml doc.
            undeployService(testUrlA);
  @@ -247,40 +240,24 @@
            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));
   
  -         //check the class for C is not available
  -         try
  -         {
  -            ObjectInstance oe = 
getServer().createMBean("org.jboss.test.jmx.mbean.TestDeployerC", 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);
  -            }
  -         }
  -
            //Now undeploy B, should prevent redeploy of C when A is redeployed.
  -         /*
  -          * not working, skip for now
  -          * undeployService(testObjectNameB);
  -          * assertTrue("test mbean B is registered after undeploy of B", 
!getServer().isRegistered(testObjectNameB));
  -          *
  -          */
  +         
  +         // not working, skip for now
  +         undeployService(testUrlB);
  +         assertTrue("test mbean B is registered after undeploy of B", 
!getServer().isRegistered(testObjectNameB));
  +
            //deploy the test jsr A doc a second time.
            deployService(testUrlA);
  -         /*
  -          * check deployment registered expected mbeans
  -          * assertTrue("test mbean A not registered after deploy of A", 
getServer().isRegistered(testObjectNameA));
  -          *
  -          * 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));
  -          */
  +         
  +         // check deployment registered expected mbeans
  +         assertTrue("test mbean A not registered after deploy of A", 
getServer().isRegistered(testObjectNameA));
  +         
  +         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));
  +          
            //now redeploy B, should also redeploy C
  -         //deployService(testUrlB);
  +         deployService(testUrlB);
            //check deployment registered expected mbeans- all three should be 
registered
            assertTrue("test mbean A not registered after deploy of B", 
getServer().isRegistered(testObjectNameA));
   
  @@ -311,15 +288,16 @@
   
   
      /**
  -    * Test recursive deployment/undeployment of sars. D depends on C, C on A and
  -    * B. Deploying D should deploy A, B, C, D.
  +    * Test depends tag D depends on mbeans in A and C.
  +    * Deploying D should wait for A and C; undeploying A and/or C should 
  +    * undeploy D's mbean.  Redeploying both should resuscitate D's mbean.
       *
       * @exception Exception  Description of Exception
       */
  -   public void testRecursiveDeploySAR() throws Exception
  +   public void testDepends() throws Exception
      {
  -      //C depends on A and B
  -      //D depends on C
  +      //C depends on A and B via classpath.
  +      //D depends on  A and C via depends elements.
         //Find the testdeploy[ABC].sar files in lib directory with other jars.
   
         String testUrlA = "testdeploya.sar";
  @@ -347,34 +325,36 @@
   
            //deploy the test jsrs.
            deployService(testUrlD);
  +         //Nothing should be registered: D is waiting for A and C
   
            //check deployment registered expected mbeans
  -         assertTrue("test mbean D not registered after deploy", 
getServer().isRegistered(testObjectNameD));
  -         assertTrue("test mbean C not registered after deploy", 
getServer().isRegistered(testObjectNameC));
  -         assertTrue("test mbean A not registered after deploy", 
getServer().isRegistered(testObjectNameA));
  -         assertTrue("test mbean B not registered after deploy", 
getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbean D registered after deploy", 
!getServer().isRegistered(testObjectNameD));
  +         assertTrue("test mbean C 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));
   
  -         //we'll believe from testDeployJSR that the classes are available.
   
  -         //deploy the test jsrs again, should undeploy and redeploy.
  +         //deploy A.
            deployService(testUrlA);
  +         //should have only bean A, D is still waiting on C
   
            //check deployment registered expected mbeans
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameA));
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameB));
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameC));
  -         assertTrue("test mbean not registered after redeploy", 
getServer().isRegistered(testObjectNameD));
  +         assertTrue("test mbeanA not registered after deploy", 
getServer().isRegistered(testObjectNameA));
  +         assertTrue("test mbeanB registered after deploy", 
!getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbeanC registered after deploy", 
!getServer().isRegistered(testObjectNameC));
  +         assertTrue("test mbeanD registered after deploy", 
!getServer().isRegistered(testObjectNameD));
   
  -         //undeploy test xml doc.
  -         undeployService(testUrlA);
  +         //Deploy B, should have no effect except on B
  +         deployService(testUrlB);
   
  -         //check they aren't there any more
  -         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 D still registered after undeploy of A", 
!getServer().isRegistered(testObjectNameD));
  -         assertTrue("test mbean B unregistered after undeploy of A", 
getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbeanA not registered after deploy", 
getServer().isRegistered(testObjectNameA));
  +         assertTrue("test mbeanB not registered after deploy", 
getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbeanC registered after deploy", 
!getServer().isRegistered(testObjectNameC));
  +         assertTrue("test mbeanD registered after deploy", 
!getServer().isRegistered(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);
  @@ -389,16 +369,16 @@
               }
            }
   
  -         //deploy the test jsr A doc a second time.
  -         deployService(testUrlA);
  +         //deploy the test bean C.  D should get created too.
  +         deployService(testUrlC);
   
            //check deployment registered expected mbeans
  -         assertTrue("test mbean A not registered after deploy of A", 
getServer().isRegistered(testObjectNameA));
  +         assertTrue("test mbean A not registered after deploy of C", 
getServer().isRegistered(testObjectNameA));
   
  -         assertTrue("test mbean B not registered after deploy of A", 
getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbean B not registered after deploy of C", 
getServer().isRegistered(testObjectNameB));
   
  -         assertTrue("test mbean C not registered after deploy of A", 
getServer().isRegistered(testObjectNameC));
  -         assertTrue("test mbean D not registered after deploy of A", 
getServer().isRegistered(testObjectNameD));
  +         assertTrue("test mbean C not registered after deploy of C", 
getServer().isRegistered(testObjectNameC));
  +         assertTrue("test mbean D not registered after deploy of C", 
getServer().isRegistered(testObjectNameD));
   
            //undeploy test xml doc.
            undeployService(testUrlD);
  @@ -448,5 +428,214 @@
         }
   
      }
  +
  +
  +   /**
  +    * 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.  This test is currently incomplete: you can check by 
  +     * hand that a directory is created in db.
  +     *
  +     * @exception Exception if an error occurs
  +     */
  +    public void testCopyLocalDir() throws Exception
  +   {
  +
  +      String testUrl = "testcopylocaldir.sar";
  +      getLog().debug("testUrl is : " + testUrl);
  +
  +      //the mbeans we are trying to deploy/undeploy
  +      ObjectName testObjectName = new ObjectName("test:name=TestCopyLocalDir");
  +      try
  +      {
  +         //check they aren't there already
  +         assertTrue("test mbean already registered before deploy", 
!getServer().isRegistered(testObjectName));
  +
  +         //deploy C
  +         deployService(testUrl);
  +      }
  +      finally 
  +      {
  +         undeployService(testUrl);  
  +
  +      } // end of finally
  +   }
  +
   
   }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to