User: ejort   
  Date: 02/02/22 08:44:33

  Modified:    src/main/test/compliance/server MBeanServerTEST.java
                        ServerSUITE.java
  Added:       src/main/test/compliance/server DefaultDomainTestCase.java
  Log:
  Default Domain, Querying, Various Other Fixes
  
  Revision  Changes    Path
  1.5       +131 -5    jmx/src/main/test/compliance/server/MBeanServerTEST.java
  
  Index: MBeanServerTEST.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/server/MBeanServerTEST.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MBeanServerTEST.java      15 Feb 2002 16:46:54 -0000      1.4
  +++ MBeanServerTEST.java      22 Feb 2002 16:44:33 -0000      1.5
  @@ -19,10 +19,10 @@
   import javax.management.MBeanException;
   import javax.management.RuntimeMBeanException;
   import javax.management.RuntimeErrorException;
  +import javax.management.RuntimeOperationsException;
   import javax.management.ReflectionException;
   import javax.management.InvalidAttributeValueException;
   
  -import org.jboss.mx.server.ServerConstants;
   import test.compliance.server.support.Test;
   import test.compliance.server.support.TestMBean;
   import test.compliance.server.support.MyScreamingException;
  @@ -33,12 +33,11 @@
    * Tests the MBean server impl. through the <tt>MBeanServer</tt> interface.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>.
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    *   
    */
   public class MBeanServerTEST
      extends TestCase
  -   implements ServerConstants
   {
      public MBeanServerTEST(String s)
      {
  @@ -115,7 +114,7 @@
         try
         {
            MBeanServer server = MBeanServerFactory.createMBeanServer();
  -         Object foo = server.getAttribute(new ObjectName(MBEAN_SERVER_DELEGATE), 
"Foo");
  +         Object foo = server.getAttribute(new 
ObjectName("JMImplementation:type=MBeanServerDelegate"), "Foo");
   
            // should not reach here
            fail("AttributeNotFoundexception was not thrown when invoking 
getAttribute() call on a non-existant attribute.");
  @@ -252,7 +251,7 @@
         try
         {
            MBeanServer server = MBeanServerFactory.createMBeanServer();
  -         server.setAttribute(new ObjectName(MBEAN_SERVER_DELEGATE), new 
Attribute("Foo", "value"));
  +         server.setAttribute(new 
ObjectName("JMImplementation:type=MBeanServerDelegate"), new Attribute("Foo", 
"value"));
   
            // should not reach here
            fail("AttributeNotFoundexception was not thrown when invoking 
getAttribute() call on a non-existant attribute.");
  @@ -662,5 +661,132 @@
          }
       }
       
  -        
  +    /**
  +     * Tests registering with null object name.
  +     */
  +    public void testRegisterNullObjectName()
  +    {
  +       boolean caught = false;
  +       try
  +       {
  +          MBeanServer server = MBeanServerFactory.createMBeanServer();
  +          server.registerMBean(new Test(), null);
  +       }
  +       catch (RuntimeOperationsException e)
  +       {
  +          if (e.getTargetException() instanceof IllegalArgumentException)
  +             caught = true;
  +          else
  +             fail("Wrong wrapped exception " + e.getTargetException());
  +       }
  +       catch (Exception e)
  +       {
  +          fail(e.toString());
  +       }
  +       if (caught == false)
  +          fail("Allowed to register with a null object name");
  +    }
  +    
  +    /**
  +     * Tests registering with a pattern object name.
  +     */
  +    public void testRegisterPatternObjectName()
  +    {
  +       boolean caught = false;
  +       try
  +       {
  +          MBeanServer server = MBeanServerFactory.createMBeanServer();
  +          server.registerMBean(new Test(), new ObjectName("Domai?:type=test"));
  +       }
  +       catch (RuntimeOperationsException e)
  +       {
  +          if (e.getTargetException() instanceof IllegalArgumentException)
  +             caught = true;
  +          else
  +             fail("Wrong wrapped exception " + e.getTargetException());
  +       }
  +       catch (Exception e)
  +       {
  +          fail(e.toString());
  +       }
  +       if (caught == false)
  +          fail("Allowed to register with a pattern object name");
  +    }
  +    
  +    /**
  +     * Tests registering into JMImplementation
  +     */
  +    public void testRegisterJMImplementationObjectName()
  +    {
  +       boolean caught = false;
  +       try
  +       {
  +          MBeanServer server = MBeanServerFactory.createMBeanServer();
  +          server.registerMBean(new Test(), new 
ObjectName("JMImplementation:type=test"));
  +       }
  +       catch (RuntimeOperationsException e)
  +       {
  +          if (e.getTargetException() instanceof IllegalArgumentException)
  +             caught = true;
  +          else
  +             fail("Wrong wrapped exception " + e.getTargetException());
  +       }
  +       catch (Exception e)
  +       {
  +          fail(e.toString());
  +       }
  +       if (caught == false)
  +          fail("Allowed to register into JMImplementation");
  +    }
  +    
  +    /**
  +     * Tests registering into JMImplementation using default domain
  +     */
  +    public void testRegisterJMImplementationDefaultDomainObjectName()
  +    {
  +       boolean caught = false;
  +       try
  +       {
  +          MBeanServer server = 
MBeanServerFactory.createMBeanServer("JMImplementation");
  +          server.registerMBean(new Test(), new ObjectName(":type=test"));
  +       }
  +       catch (RuntimeOperationsException e)
  +       {
  +          if (e.getTargetException() instanceof IllegalArgumentException)
  +             caught = true;
  +          else
  +             fail("Wrong wrapped exception " + e.getTargetException());
  +       }
  +       catch (Exception e)
  +       {
  +          fail(e.toString());
  +       }
  +       if (caught == false)
  +          fail("Allowed to register into JMImplementation");
  +    }
  +    
  +    /**
  +     * Tests unregister the delegate.
  +     */
  +    public void testUnregisterDelegate()
  +    {
  +       boolean caught = false;
  +       try
  +       {
  +          MBeanServer server = MBeanServerFactory.createMBeanServer();
  +          server.unregisterMBean(new 
ObjectName("JMImplementation:type=MBeanServerDelegate"));
  +       }
  +       // REVIEW: This exception type isn't specified, but it is logical
  +       //         and agrees with the RI.
  +       catch (RuntimeOperationsException e)
  +       {
  +          caught = true;
  +       }
  +       catch (Exception e)
  +       {
  +          fail(e.toString());
  +       }
  +       if (caught == false)
  +          fail("Allowed to unregister the delegate");
  +    }
   }
  
  
  
  1.3       +1 -0      jmx/src/main/test/compliance/server/ServerSUITE.java
  
  Index: ServerSUITE.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/server/ServerSUITE.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ServerSUITE.java  23 Jan 2002 21:40:43 -0000      1.2
  +++ ServerSUITE.java  22 Feb 2002 16:44:33 -0000      1.3
  @@ -23,6 +23,7 @@
   
         suite.addTest(new TestSuite(MBeanServerFactoryTEST.class));
         suite.addTest(new TestSuite(MBeanServerTEST.class));
  +      suite.addTest(new TestSuite(DefaultDomainTestCase.class));
         
         return suite;
      }
  
  
  
  1.1                  jmx/src/main/test/compliance/server/DefaultDomainTestCase.java
  
  Index: DefaultDomainTestCase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.server;
  
  import junit.framework.TestCase;
  
  import test.compliance.server.support.Broadcaster;
  import test.compliance.server.support.Test;
  
  import java.util.Iterator;
  import java.util.Set;
  import java.util.HashSet;
  
  import javax.management.InstanceAlreadyExistsException;
  import javax.management.InstanceNotFoundException;
  import javax.management.MBeanServer;
  import javax.management.MBeanServerFactory;
  import javax.management.ObjectName;
  import javax.management.relation.RelationService;
  
  /**
   * Tests default domain handling in the Server.<p>
   *
   * TODO createMBean x4.
   * TODO deserialize x2 
   * TODO getAttribute x2 
   * TODO getMBeanInfo 
   * TODO instantiate x2
   * TODO isInstanceOf
   * TODO isRegistered
   * TODO removeNotificationListener x2
   * TODO setAttribute x2
   *
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
   */
  public class DefaultDomainTestCase
    extends TestCase
  {
     // Attributes ----------------------------------------------------------------
  
     // Constructor ---------------------------------------------------------------
  
     /**
      * Construct the test
      */
     public DefaultDomainTestCase(String s)
     {
        super(s);
     }
  
     // Tests ---------------------------------------------------------------------
  
     /**
      * Test Register in the "anonymous" default domain.
      */
     public void testDefaultDomainRegisterUnqualified()
     {
        MBeanServer server =null;
        ObjectName unqualifiedName = null;
        ObjectName qualifiedName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer();
           unqualifiedName = new ObjectName(":property=1");
           qualifiedName = new ObjectName("DefaultDomain:property=1");
           server.registerMBean(new Test(), unqualifiedName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        assertEquals("DefaultDomain", server.getDefaultDomain());
  
        try
        {
           server.getObjectInstance(unqualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Unqualified lookup failed");
        }
  
        try
        {
           server.getObjectInstance(qualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Qualified lookup failed");
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test Register in the "anonymous" default domain.
      */
     public void testDefaultDomainRegisterQualified()
     {
        MBeanServer server =null;
        ObjectName unqualifiedName = null;
        ObjectName qualifiedName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer();
           unqualifiedName = new ObjectName(":property=1");
           qualifiedName = new ObjectName("DefaultDomain:property=1");
           server.registerMBean(new Test(), qualifiedName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        assertEquals("DefaultDomain", server.getDefaultDomain());
  
        try
        {
           server.getObjectInstance(unqualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Unqualified lookup failed");
        }
  
        try
        {
           server.getObjectInstance(qualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Qualified lookup failed");
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test Register in a named default domain.
      */
     public void testMyDefaultDomainRegisterUnqualified()
     {
        MBeanServer server =null;
        ObjectName unqualifiedName = null;
        ObjectName qualifiedName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           unqualifiedName = new ObjectName(":property=1");
           qualifiedName = new ObjectName("MyDomain:property=1");
           server.registerMBean(new Test(), unqualifiedName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        assertEquals("MyDomain", server.getDefaultDomain());
  
        try
        {
           server.getObjectInstance(unqualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Unqualified lookup failed");
        }
  
        try
        {
           server.getObjectInstance(qualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Qualified lookup failed");
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test Register in a named default domain.
      */
     public void testMyDefaultDomainRegisterQualified()
     {
        MBeanServer server =null;
        ObjectName unqualifiedName = null;
        ObjectName qualifiedName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           unqualifiedName = new ObjectName(":property=1");
           qualifiedName = new ObjectName("MyDomain:property=1");
           server.registerMBean(new Test(), qualifiedName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        assertEquals("MyDomain", server.getDefaultDomain());
  
        try
        {
           server.getObjectInstance(unqualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Unqualified lookup failed");
        }
  
        try
        {
           server.getObjectInstance(qualifiedName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("Qualified lookup failed");
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test register qualified/unqualifed.
      */
     public void testRegisterQualifiedUnqualified()
     {
        duplicateRegister(":property=1", "MyDomain:property=1");
     }
  
     /**
      * Test register unqualified/qualifed.
      */
     public void testRegisterUnqualifiedQualified()
     {
        duplicateRegister("MyDomain:property=1", ":property=1");
     }
  
     /**
      * Test register unqualified/unqualified.
      */
     public void testRegisterUnqualifiedUnqualified()
     {
        duplicateRegister(":property=1", ":property=1");
     }
  
     /**
      * Test invoke qualified/unqualifed.
      */
     public void testInvokeQualifiedUnqualified()
     {
        invoke(":property=1", "MyDomain:property=1");
     }
  
     /**
      * Test invoke unqualified/qualifed.
      */
     public void testInvokeUnqualifiedQualified()
     {
        invoke("MyDomain:property=1", ":property=1");
     }
  
     /**
      * Test invoke unqualified/unqualified.
      */
     public void testInvokeUnqualifiedUnqualified()
     {
        invoke(":property=1", ":property=1");
     }
  
     /**
      * Test register qualified unregister unqualified.
      */
     public void testRegisterQualifiedUnregisterUnqualified()
     {
        unregister("MyDomain:property=1", ":property=1");
     }
  
     /**
      * Test register unqualified unregister qualifed.
      */
     public void testRegisterUnQualifiedUnregisterQualified()
     {
        unregister(":property=1", "MyDomain:property=1");
     }
  
     /**
      * Test register unqualified unregister unqualified.
      */
     public void testRegisterUnqualifiedUnregisterUnqualified()
     {
        unregister(":property=1", ":property=1");
     }
  
     /**
      * Add notification listenter. ObjectName, Listener
      */
     public void testAddNLUnqualifiedNameListenerRegisterQualified()
     {
        addNLNameListener("MyDomain:property=1", ":property=1");
     }
  
     /**
      * Add notification listenter. ObjectName, Listener
      */
     public void testAddNLQualifiedNameListenerRegisterUnqualified()
     {
        addNLNameListener(":property=1", "MyDomain:property=1");
     }
  
     /**
      * Add notification listenter. ObjectName, Listener
      */
     public void testAddNLUnqualifiedNameListenerRegisterUnqualified()
     {
        addNLNameListener(":property=1", ":property=1");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLUnqualifiedQualifiedRegisterUnqualifiedQualified()
     {
        addNLNameName(":property=1", "MyDomain:property=2",":property=1", 
"MyDomain:property=2");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLUnqualifiedQualifiedRegisterQualifiedQualified()
     {
        addNLNameName(":property=1", "MyDomain:property=2","MyDomain:property=1", 
"MyDomain:property=2");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLQualifiedQualifiedRegisterUnqualifiedQualified()
     {
        addNLNameName("MyDomain:property=1", "MyDomain:property=2",":property=1", 
"MyDomain:property=2");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLQualifiedUnqualifiedRegisterQualifiedUnqualified()
     {
        addNLNameName("MyDomain:property=1", ":property=2","MyDomain:property=1", 
":property=2");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLQualifiedUnqualifiedRegisterQualifiedQualified()
     {
        addNLNameName("MyDomain:property=1", ":property=2","MyDomain:property=1", 
"MyDomain:property=2");
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     public void testAddNLQualifiedQualifiedRegisterQualifiedUnqualified()
     {
        addNLNameName("MyDomain:property=1", 
"MyDomain:property=2","MyDomain:property=1", ":property=2");
     }
  
     // Support -----------------------------------------------------------------
  
     /**
      * Test Duplicate Register.
      */
     private void duplicateRegister(String register, String test)
     {
        MBeanServer server =null;
        ObjectName registerName = null;
        ObjectName testName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           registerName = new ObjectName(register);
           testName = new ObjectName(test);
           server.registerMBean(new Test(), registerName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        boolean caught = false;
        try
        {
           server.registerMBean(new Test(), testName);
        }
        catch (InstanceAlreadyExistsException e)
        {
           caught = true;
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        if (caught = false)
           fail("Allows duplicate registration");
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test unregister
      */
     private void unregister(String register, String test)
     {
        MBeanServer server =null;
        ObjectName registerName = null;
        ObjectName testName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           registerName = new ObjectName(register);
           testName = new ObjectName(test);
           server.registerMBean(new Test(), registerName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        try
        {
           server.unregisterMBean(testName);
        }
        catch (InstanceNotFoundException e)
        {
           fail("FAILS IN RI: unregisterMBean doesn't add the default domain");
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Add notification listenter. ObjectName, Listener
      */
     private void addNLNameListener(String register, String test)
     {
        MBeanServer server =null;
        ObjectName registerName = null;
        ObjectName testName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           registerName = new ObjectName(register);
           testName = new ObjectName(test);
           server.registerMBean(new Broadcaster(), registerName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        try
        {
           server.addNotificationListener(testName, new RelationService(true), null, 
null);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Add notification listenter. ObjectName, ObjectName
      */
     private void addNLNameName(String register1, String register2, String test1, 
String test2)
     {
        MBeanServer server =null;
        ObjectName register1Name = null;
        ObjectName register2Name = null;
        ObjectName test1Name = null;
        ObjectName test2Name = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           register1Name = new ObjectName(register1);
           register2Name = new ObjectName(register2);
           test1Name = new ObjectName(test1);
           test2Name = new ObjectName(test2);
           server.registerMBean(new Broadcaster(), register1Name);
           server.registerMBean(new RelationService(true), register2Name);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        try
        {
           server.addNotificationListener(test1Name, test2Name, null, null);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  
     /**
      * Test Invoke.
      */
     private void invoke(String register, String test)
     {
        MBeanServer server =null;
        ObjectName registerName = null;
        ObjectName testName = null;
        try
        {
           server = MBeanServerFactory.createMBeanServer("MyDomain");
           registerName = new ObjectName(register);
           testName = new ObjectName(test);
           server.registerMBean(new Broadcaster(), registerName);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        try
        {
           server.invoke(testName, "doSomething", new Object[0], new String[0]);
        }
        catch (Exception e)
        {
           fail(e.toString());
        }
  
        if (server != null)
           MBeanServerFactory.releaseMBeanServer(server);
     }
  }
  
  
  

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

Reply via email to