User: ejort   
  Date: 02/02/01 19:16:23

  Added:       src/main/org/jboss/test/jbossmx/compliance/relation
                        BasicTestCase.java
  Log:
  JBossMX tests, temporary modifications to classpaths see comment in build.xml
  
  Revision  Changes    Path
  1.1                  
jbosstest/src/main/org/jboss/test/jbossmx/compliance/relation/BasicTestCase.java
  
  Index: BasicTestCase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.test.jbossmx.compliance.relation;
  
  import org.jboss.test.jbossmx.compliance.TestCase;
  
  import org.jboss.test.jbossmx.compliance.relation.support.Trivial;
  
  import java.io.*;
  import java.util.*;
  import javax.management.*;
  import javax.management.relation.*;
  
  /**
   * Basic relation test
   *
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
   */
  public class BasicTestCase
    extends TestCase
  {
    public BasicTestCase(String s)
    {
      super(s);
    }
  
    public void fail(Exception e)
    {
      CharArrayWriter caw = new CharArrayWriter();
      PrintWriter pw = new PrintWriter(caw);
      e.printStackTrace(pw);
      pw.flush();
      fail(caw.toString());
    }
  
    public void testTemp()
    {
      try
      {
        MBeanServer server = MBeanServerFactory.createMBeanServer();
        ObjectName relationService = new ObjectName("X:type=RelationService");
        server.createMBean("javax.management.relation.RelationService",
                           relationService,
                           new Object[] { new Boolean(true) },
                           new String[] { "boolean" });
  
        RoleInfo[] roleInfos = new RoleInfo[] { 
          new RoleInfo("TestRole", new Trivial().getClass().getName(),
            true, true, 1, 2, "Test description") };
        server.invoke(relationService, "createRelationType",
          new Object[] { "TestRelationType", roleInfos },
          new String[] { "java.lang.String", "[Ljavax.management.relation.RoleInfo;" 
});
  
        ObjectName mBean1 = new ObjectName("X:type=MBean,no=1");
        server.registerMBean(new Trivial(), mBean1);
        ObjectName mBean2 = new ObjectName("X:type=MBean,no=2");
        server.registerMBean(new Trivial(), mBean2);
  
        ArrayList mBeans = new ArrayList();
        mBeans.add(mBean1);
        mBeans.add(mBean2);
  
        RoleList roles = new RoleList();
        roles.add(new Role("TestRole", mBeans));
  
        server.invoke(relationService, "createRelation",
          new Object[] { "TestRelationId", "TestRelationType", roles },
          new String[] { "java.lang.String", "java.lang.String",
                         "javax.management.relation.RoleList" });         
  
        Map map = (Map) server.invoke(relationService, "getReferencedMBeans",
          new Object[] { "TestRelationId" },
          new String[] { "java.lang.String" });
        assertEquals(map.size(), 2);
  
        server.unregisterMBean(mBean2);
  
        map = (Map) server.invoke(relationService, "getReferencedMBeans",
          new Object[] { "TestRelationId" },
          new String[] { "java.lang.String" });
        assertEquals(map.size(), 1);
  
        server.unregisterMBean(mBean1);
  
        boolean caught = false;
        try
        {
          map = (Map) server.invoke(relationService, "getReferencedMBeans",
            new Object[] { "TestRelationId" },
            new String[] { "java.lang.String" });
        }
        catch (Exception e)
        {
          caught = true;
        }
        assertEquals(caught, true);
      }
      catch (MBeanException mbe)
      {
        Exception e = mbe.getTargetException();
        fail(e);
      }
      catch (Exception e)
      {
        fail(e);
      }
    }
  }
  
  
  

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

Reply via email to