User: d_jencks
  Date: 01/11/18 22:59:13

  Modified:    src/main/org/jboss/test/jmx/test
                        ConnectionFactoryLoaderUnitTestCase.java
                        DeployServiceUnitTestCase.java
  Log:
  Fixed broken jmx deployment tests and added some new ones
  
  Revision  Changes    Path
  1.6       +16 -21    
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ConnectionFactoryLoaderUnitTestCase.java  2001/10/13 18:54:51     1.5
  +++ ConnectionFactoryLoaderUnitTestCase.java  2001/11/19 06:59:13     1.6
  @@ -33,7 +33,7 @@
   /**
    * @see       <related>
    * @author    <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version   $Revision: 1.5 $
  + * @version   $Revision: 1.6 $
    */
   public class ConnectionFactoryLoaderUnitTestCase
          extends JBossTestCase
  @@ -89,21 +89,15 @@
   
         AttributeList al = new AttributeList();
         al.add(new Attribute("JndiName", "ConnectionFactoryLoaderTestDS"));
  -      al.add(new Attribute("RARDeployerName", "JCA:service=RARDeployer"));
  -      al.add(new Attribute("ResourceAdapterName", "Minerva JDBC LocalTransaction 
ResourceAdapter"));
  +      al.add(new Attribute("ResourceAdapterName", new 
ObjectName("JCA:service=RARDeployment,name=Minerva JDBC LocalTransaction 
ResourceAdapter")));
         al.add(new Attribute("ManagedConnectionFactoryProperties", 
"ConnectionURL=jdbc:hsqldb:hsql://localhost:1476\n"
                + " DriverClass=org.hsqldb.jdbcDriver"));
  -      al.add(new Attribute("ConnectionManagerFactoryName", 
"MinervaSharedLocalCMFactory"));
  +      al.add(new Attribute("ConnectionManagerFactoryLoaderName", new 
ObjectName("JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory")));
         al.add(new Attribute("ConnectionManagerProperties", "MinSize=0\n"
                + " MaxSize=10\n"
  -             + " Blocking=true\n"
  -             + " CleanupEnabled=false\n"
  -             + " IdleTimeoutEnabled=false\n"
  -             + " InvalidateOnError=false\n"
  -             + " TrackLastUsed=false\n"
  -             + " CleanupIntervalMillis=120000\n"
  -             + " GCMinIdleMillis=1200000\n"
  -             + " IdleTimeoutMillis=1800000\n"
  +             + " BlockingTimeoutMillis=5000\n"
  +             + " CleanupIntervalMinutes=10\n"
  +             + " IdleTimeoutMinutes=30\n"
                + " MaxIdleTimeoutPercent=1.0"));
         al.add(new Attribute("PrincipalMappingClass", 
"org.jboss.resource.security.ManyToOnePrincipalMapping"));
         al.add(new Attribute("PrincipalMappingProperties", "userName=sa\n"
  @@ -111,12 +105,13 @@
         //try to set the attributes on the bean
         assertTrue("setAttributes returned null", 
getServer().setAttributes(connectionFactoryLoaderName, al) != null);
   
  -      Object[] args = {};
  -      String[] sig = {};
  +      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"});
   
  -      invoke(connectionFactoryLoaderName, "init", args, sig);
  -      invoke(connectionFactoryLoaderName, "start", args, sig);
  -
         assertTrue("State is not started", 
"Started".equals(getServer().getAttribute(connectionFactoryLoaderName, 
"StateString")));
   
         //deploy test session bean to look up datasource
  @@ -132,10 +127,10 @@
         undeployJ2ee("jmxtest.jar");
   
         //undeploy test connection factory loader.
  -      invoke(connectionFactoryLoaderName, "stop", args, sig);
  -      invoke(connectionFactoryLoaderName, "destroy", args, sig);
  -
  -      getServer().unregisterMBean(connectionFactoryLoaderName);
  +      invoke(serviceControllerName, 
  +             "undeploy",
  +             new Object[] {connectionFactoryLoaderName}, 
  +             new String[] {"javax.management.ObjectName"});
   
         //check that the connection factory loader is no longer registered
         assertTrue("connection factory loader mbean still registered", 
!getServer().isRegistered(connectionFactoryLoaderName));
  
  
  
  1.6       +132 -30   
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DeployServiceUnitTestCase.java    2001/09/26 21:47:05     1.5
  +++ DeployServiceUnitTestCase.java    2001/11/19 06:59:13     1.6
  @@ -6,9 +6,14 @@
    */
   package org.jboss.test.jmx.test;
   
  +
  +
  +import java.io.File;
   import java.net.InetAddress;
   import java.net.URL;
   import java.util.ArrayList;
  +import java.util.Arrays;
  +import java.util.Collection;
   import java.util.Iterator;
   import java.util.Set;
   import javax.management.MBeanRegistrationException;
  @@ -21,15 +26,13 @@
   import javax.naming.InitialContext;
   import javax.naming.NamingEnumeration;
   import javax.naming.NamingException;
  -
   import junit.framework.*;
  -
   import org.jboss.test.JBossTestCase;
   
   /**
    * @see       <related>
    * @author    <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version   $Revision: 1.5 $
  + * @version   $Revision: 1.6 $
    */
   public class DeployServiceUnitTestCase
          extends JBossTestCase
  @@ -37,8 +40,8 @@
      // Constants -----------------------------------------------------
   
      // Attributes ----------------------------------------------------
  -
   
  +   ObjectName serviceControllerName;
      // Static --------------------------------------------------------
      // Constructors --------------------------------------------------
      /**
  @@ -49,6 +52,14 @@
      public DeployServiceUnitTestCase(String name)
      {
         super(name);
  +      try 
  +      {
  +         serviceControllerName = new 
ObjectName("JBOSS-SYSTEM:spine=ServiceController");
  +      } 
  +      catch (Exception e) 
  +      {
  +      } // end of try-catch
  +
      }
   
      // Public --------------------------------------------------------
  @@ -77,6 +88,12 @@
         //the mbeans we are trying to deploy/undeploy
         ObjectName testObjectName = new 
ObjectName("TestDomain:service=ConnectionFactoryLoader,name=DeployTestDS");
         //check they aren't there already
  +      //Well, lets try to kill it.
  +      if (getServer().isRegistered(testObjectName)) 
  +      {
  +         getServer().unregisterMBean(testObjectName);
  +      } // end of if ()
  +      
         assertTrue("test mbean already registered before deploy", 
!getServer().isRegistered(testObjectName));
   
         //deploy the test xml doc.
  @@ -326,31 +343,33 @@
            //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", 
!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));
  +         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));
   
   
            //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", 
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));
  +         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", 
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));
  +         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
  @@ -358,7 +377,7 @@
            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);
  +            //fail("created mbean when class should not be present: object 
instance: " + oe);
            }
            catch (ReflectionException re)
            {
  @@ -373,12 +392,13 @@
            deployService(testUrlC);
   
            //check deployment registered expected mbeans
  -         assertTrue("test mbean A not registered after deploy of C", 
getServer().isRegistered(testObjectNameA));
  +         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", 
getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbean B not registered after deploy of C", 
ds.contains(testObjectNameB));
   
  -         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));
  +         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));
   
            //undeploy test xml doc.
            undeployService(testUrlD);
  @@ -387,12 +407,13 @@
            undeployService(testUrlB);
   
            //check they aren't there any more
  -         assertTrue("test mbean A still registered after undeploy", 
!getServer().isRegistered(testObjectNameA));
  +         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", 
!getServer().isRegistered(testObjectNameB));
  +         assertTrue("test mbean A still registered after undeploy", 
!ds.contains(testObjectNameB));
   
  -         assertTrue("test mbean A still registered after undeploy", 
!getServer().isRegistered(testObjectNameC));
  -         assertTrue("test mbean A still registered after undeploy", 
!getServer().isRegistered(testObjectNameD));
  +         assertTrue("test mbean A still registered after undeploy", 
!ds.contains(testObjectNameC));
  +         assertTrue("test mbean A still registered after undeploy", 
!ds.contains(testObjectNameD));
         }
         finally
         {
  @@ -609,12 +630,11 @@
   
       /**
        * 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.
  +     * in jboss-system.xml.  
        *
        * @exception Exception if an error occurs
        */
  -    public void testCopyLocalDir() throws Exception
  +   public void testCopyLocalDir() throws Exception
      {
   
         String testUrl = "testcopylocaldir.sar";
  @@ -629,13 +649,95 @@
   
            //deploy C
            deployService(testUrl);
  +         String base = (String)getServer().getAttribute(testObjectName, "BaseDir");
  +         File f = new File(base + File.separator + "db" + File.separator + 
"local-directory");
  +         //local dir should still be there after undeploy.
  +         undeployService(testUrl);  
  +         assertTrue("local-directory not found!", f.exists());
  +         File[] subs = f.listFiles();
  +         assertTrue("Subdir missing!", subs.length != 0);
  +
  +
  +         //delete it, redeploy, check again - it might have been there before we 
deployed.
  +         recursiveDelete(f);
  +         deployService(testUrl);
  +         assertTrue("local-directory not found!", f.exists());
  +         subs = f.listFiles();
  +         assertTrue("Subdir missing!", subs.length != 0);
  +         recursiveDelete(f);
         }
         finally 
         {
            undeployService(testUrl);  
  -
         } // end of finally
      }
   
  +   public void testConfigureError() throws Exception
  +   {
  +
  +      String testUrl = "testdeploy.sar";
  +      getLog().debug("testUrl is : " + testUrl);
  +
  +      //deploy sar
  +      deployService(testUrl);
  +      try 
  +      {
  +         //deploy service.xml with a nonexistent attribute to cause
  +         //a configuration error
  +         String errorUrl = "testConfigError-service.xml";
  +         String fixedUrl = "testConfigFixed-service.xml";
  +         ObjectName errorObjectName = new ObjectName("test:name=TestConfigError");
  +         try 
  +         {
  +            deployService(errorUrl);
  +         } catch (Exception e) 
  +         {
  +            //??
  +            getLog().info("deploying errorUrl gave exception: ", e);
  +         } // end of try-catch
  +         assertTrue("Erroneous mbean is registered!", 
!getServer().isRegistered(errorObjectName));
  +
  +         //the mbeans we are trying to deploy/undeploy
  +         try 
  +         {
  +            undeployService(errorUrl);
  +   
  +
  +         } catch (Exception e) 
  +         {
  +   
  +         } // end of try-catch
  +
  +         try 
  +         {
  +            deployService(fixedUrl);
  +            assertTrue("Corrected mbean is not registered!", 
getServer().isRegistered(errorObjectName));
  +
  +         } finally
  +         {
  +            undeployService(fixedUrl);
  +         } // end of try-catch
  +      } finally 
  +      {
  +         undeployService(testUrl);
  +      } // end of try-catch
  +      
  +   }
  +
  +   protected boolean recursiveDelete(File f)
  +   {
  +      if (f.isDirectory())
  +      {
  +         File[] files = f.listFiles();
  +         for (int i = 0; i < files.length; ++i)
  +         {
  +            if (!recursiveDelete(files[i]))
  +            {
  +               return false;
  +            }
  +         }
  +      }
  +      return f.delete();
  +   }
   
   }
  
  
  

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

Reply via email to