User: squirest
  Date: 02/01/17 17:12:23

  Modified:    src/main/test/compliance/standard StandardSUITE.java
                        TrivialTEST.java
  Added:       src/main/test/compliance/standard AttributeInfoTEST.java
                        ConstructorInfoTEST.java InfoTortureSUITE.java
                        InfoTortureTEST.java OperationInfoTEST.java
                        SpuriousAttributeTEST.java
  Log:
  testsuite updates, mostly related to standard MBeanInfo
  
  Revision  Changes    Path
  1.2       +5 -1      jmx/src/main/test/compliance/standard/StandardSUITE.java
  
  Index: StandardSUITE.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/standard/StandardSUITE.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StandardSUITE.java        2001/12/20 01:50:59     1.1
  +++ StandardSUITE.java        2002/01/18 01:12:22     1.2
  @@ -10,6 +10,10 @@
   import junit.framework.Test;
   import junit.framework.TestSuite;
   
  +/**
  + * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
  + */
  +
   public class StandardSUITE extends TestSuite
   {
      public static void main(String[] args)
  @@ -22,8 +26,8 @@
         TestSuite suite = new TestSuite("StandardMBean Tests");
   
         suite.addTest(new TestSuite(TrivialTEST.class));
  +      suite.addTest(InfoTortureSUITE.suite());
   
         return suite;
      }
  -
   }
  
  
  
  1.2       +114 -10   jmx/src/main/test/compliance/standard/TrivialTEST.java
  
  Index: TrivialTEST.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/standard/TrivialTEST.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TrivialTEST.java  2001/12/20 01:50:59     1.1
  +++ TrivialTEST.java  2002/01/18 01:12:22     1.2
  @@ -10,11 +10,28 @@
   import junit.framework.TestCase;
   import test.compliance.standard.support.Trivial;
   
  +import javax.management.InstanceAlreadyExistsException;
  +import javax.management.InstanceNotFoundException;
  +import javax.management.IntrospectionException;
  +import javax.management.MBeanAttributeInfo;
  +import javax.management.MBeanConstructorInfo;
  +import javax.management.MBeanInfo;
  +import javax.management.MBeanNotificationInfo;
  +import javax.management.MBeanOperationInfo;
  +import javax.management.MBeanParameterInfo;
  +import javax.management.MBeanRegistrationException;
   import javax.management.MBeanServer;
   import javax.management.MBeanServerFactory;
  +import javax.management.MalformedObjectNameException;
  +import javax.management.NotCompliantMBeanException;
   import javax.management.ObjectInstance;
   import javax.management.ObjectName;
  +import javax.management.ReflectionException;
   
  +/**
  + * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
  + */
  +
   public class TrivialTEST extends TestCase
   {
      public TrivialTEST(String s)
  @@ -39,14 +56,101 @@
         }
         assertTrue("expected server to report it as registered", 
server.isRegistered(name));
      }
  +
  +   public void testConstructorInfo()
  +   {
  +      MBeanInfo info = getTrivialInfo();
  +
  +      MBeanConstructorInfo[] constructors = info.getConstructors();
  +      assertEquals("constructor list length", 1, constructors.length);
  +
  +      // I really don't feel like reflecting to get the name of the constructor,
  +      // it should just be the name of the class right?
  +      assertEquals("constructor name", Trivial.class.getName(), 
constructors[0].getName());
  +
  +      MBeanParameterInfo[] params = constructors[0].getSignature();
  +      assertEquals("constructor signature length", 0, params.length);
  +   }
  +
  +   public void testAttributeInfo()
  +   {
  +      MBeanInfo info = getTrivialInfo();
  +
  +      MBeanAttributeInfo[] attributes = info.getAttributes();
  +      assertEquals("attribute list length", 1, attributes.length);
  +      assertEquals("attribute name", "Something", attributes[0].getName());
  +      assertEquals("attribute type", String.class.getName(), 
attributes[0].getType());
  +      assertEquals("attribute readable", true, attributes[0].isReadable());
  +      assertEquals("attribute writable", true, attributes[0].isWritable());
  +      assertEquals("attribute isIs", false, attributes[0].isIs());
  +   }
  +
  +   public void testOperationInfo()
  +   {
  +      MBeanInfo info = getTrivialInfo();
  +
  +      MBeanOperationInfo[] operations = info.getOperations();
  +      assertEquals("operations list length", 1, operations.length);
  +      assertEquals("operation name", "doOperation", operations[0].getName());
  +      assertEquals("operation return type", Void.TYPE.getName(), 
operations[0].getReturnType());
  +      assertEquals("operation impact", MBeanOperationInfo.UNKNOWN, 
operations[0].getImpact());
  +
  +      MBeanParameterInfo[] params = operations[0].getSignature();
  +      assertEquals("signature length", 1, params.length);
  +      assertEquals("parameter type", String.class.getName(), params[0].getType());
  +   }
  +
  +   public void testNotificationInfo()
  +   {
  +      MBeanInfo info = getTrivialInfo();
  +
  +      MBeanNotificationInfo[] notifications = info.getNotifications();
  +      assertEquals("notification list length", 0, notifications.length);
  +   }
  +
  +
  +   private MBeanInfo getTrivialInfo()
  +   {
  +      MBeanInfo info = null;
  +
  +      try
  +      {
  +         MBeanServer server = MBeanServerFactory.newMBeanServer();
  +         Trivial trivial = new Trivial();
  +
  +         ObjectName name = new ObjectName("trivial:key=val");
  +         ObjectInstance instance = server.registerMBean(trivial, name);
  +         info = server.getMBeanInfo(name);
  +      }
  +      catch (MalformedObjectNameException e)
  +      {
  +         fail("got spurious MalformedObjectNameException");
  +      }
  +      catch (InstanceAlreadyExistsException e)
  +      {
  +         fail("got spurious InstanceAlreadyExistsException");
  +      }
  +      catch (MBeanRegistrationException e)
  +      {
  +         fail("got spurious MBeanRegistrationException");
  +      }
  +      catch (NotCompliantMBeanException e)
  +      {
  +         fail("got spurious NotCompliantMBeanException");
  +      }
  +      catch (InstanceNotFoundException e)
  +      {
  +         fail("got spurious InstanceNotFoundException");
  +      }
  +      catch (IntrospectionException e)
  +      {
  +         fail("got spurious IntrospectionException");
  +      }
  +      catch (ReflectionException e)
  +      {
  +         fail("got spurious ReflectionException");
  +      }
   
  -//   public void testAvailableInfo()
  -//   {
  -//      MBeanServer server = MBeanServerFactory.newMBeanServer();
  -//      Trivial trivial = new Trivial();
  -//
  -//      ObjectName name = new ObjectName("trivial:key=val");
  -//      ObjectInstance instance = server.registerMBean(trivial, name);
  -//      MBeanInfo info = server.getMBeanInfo(name);
  -//   }
  -}
  \ No newline at end of file
  +      return info;
  +   }
  +}
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/AttributeInfoTEST.java
  
  Index: AttributeInfoTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import javax.management.MBeanAttributeInfo;
  import javax.management.MBeanInfo;
  
  /**
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  
  public class AttributeInfoTEST extends InfoTortureTEST
  {
     private MBeanInfo info;
     private String attributeName;
     private String type;
     private boolean read;
     private boolean write;
     private boolean is;
  
     public AttributeInfoTEST(MBeanInfo info, String attributeName, String type, 
boolean read, boolean write, boolean is)
     {
        super("testValidAttribute");
        this.info = info;
        this.attributeName = attributeName;
        this.type = type;
        this.read= read;
        this.write= write;
        this.is= is;
     }
  
     public void testValidAttribute()
     {
        MBeanAttributeInfo[] attributes = info.getAttributes();
        MBeanAttributeInfo attribute = findAttribute(attributes, attributeName);
  
        assertNotNull("findAttribute() for " + attributeName, attribute);
        assertEquals(attributeName + " type", type, attribute.getType());
        assertEquals(attributeName + " readable", read, attribute.isReadable());
        assertEquals(attributeName + " writable", write, attribute.isWritable());
        assertEquals(attributeName + " isIS", is, attribute.isIs());
     }
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/ConstructorInfoTEST.java
  
  Index: ConstructorInfoTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import javax.management.MBeanConstructorInfo;
  import javax.management.MBeanInfo;
  
  /**
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  
  public class ConstructorInfoTEST extends InfoTortureTEST
  {
     private MBeanInfo info;
     private String constructorName;
     private String signatureString;
  
     public ConstructorInfoTEST(MBeanInfo info, String constructorName, String[] 
signature)
     {
        super("testValidConstructor");
        this.info = info;
        this.constructorName = constructorName;
        this.signatureString = makeSignatureString(signature);
     }
  
     public void testValidConstructor()
     {
        MBeanConstructorInfo[] constructors = info.getConstructors();
  
        MBeanConstructorInfo foundConstructor= null;
  
        for (int i = 0; i < constructors.length; i++)
        {
              if 
(signatureString.equals(makeSignatureString(constructors[i].getSignature())))
              {
                 foundConstructor = constructors[i];
                 break;
              }
        }
  
        assertNotNull(constructorName + signatureString, foundConstructor);
     }
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/InfoTortureSUITE.java
  
  Index: InfoTortureSUITE.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import junit.framework.Assert;
  import junit.framework.Test;
  import junit.framework.TestCase;
  import junit.framework.TestSuite;
  import test.compliance.standard.support.Torture;
  
  import javax.management.InstanceAlreadyExistsException;
  import javax.management.InstanceNotFoundException;
  import javax.management.IntrospectionException;
  import javax.management.MBeanInfo;
  import javax.management.MBeanOperationInfo;
  import javax.management.MBeanRegistrationException;
  import javax.management.MBeanServer;
  import javax.management.MBeanServerFactory;
  import javax.management.MalformedObjectNameException;
  import javax.management.NotCompliantMBeanException;
  import javax.management.ObjectInstance;
  import javax.management.ObjectName;
  import javax.management.ReflectionException;
  
  /**
   * Beat the heck out of the server's standard MBeanInfo
   *
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  public class InfoTortureSUITE extends TestSuite
  {
     private static int attributeTestCount = 0;
     private static int operationTestCount = 0;
     private static int constructorTestCount = 0;
  
     public static void main(String[] args)
     {
        junit.textui.TestRunner.run(suite());
     }
  
     public static Test suite()
     {
        TestSuite testSuite = new TestSuite("All MBeanInfo Torture Tests for Standard 
MBeans");
  
        MBeanInfo info = getTortureInfo();
  
        // Tests for valid constructors
        addConstructorTest(testSuite, info, Torture.class.getName(), new String[0]);
        addConstructorTest(testSuite, info, Torture.class.getName(), new String[] { 
String[][].class.getName() });
  
        // make sure we are testing all exposed constructors (each 
ValidConstructorTest increments a counter
        // which is used to figure out whether we have adequate test coverage)
        testSuite.addTest(new TestCoverageTEST("constructor list length", 
constructorTestCount, info.getConstructors().length));
  
        // Tests for attributes that should not be there
        addSpuriousAttributeTest(testSuite, info, "peachy");
        addSpuriousAttributeTest(testSuite, info, "Peachy");
        addSpuriousAttributeTest(testSuite, info, "suer");
        addSpuriousAttributeTest(testSuite, info, "settlement");
        addSpuriousAttributeTest(testSuite, info, "Result");
        addSpuriousAttributeTest(testSuite, info, "Multi");
  
        // make sure remaining attributes are correct
        // Args are: Name, Type, Readable, Writable, IsIS
        addAttributeTest(testSuite, info, "NiceString", String.class.getName(), true, 
true, false);
        addAttributeTest(testSuite, info, "NiceBoolean", boolean.class.getName(), 
true, true, true);
        addAttributeTest(testSuite, info, "Something", String.class.getName(), false, 
true, false);
        addAttributeTest(testSuite, info, "Int", int.class.getName(), false, true, 
false);
        addAttributeTest(testSuite, info, "IntArray", int[].class.getName(), false, 
true, false);
        addAttributeTest(testSuite, info, "NestedIntArray", int[][][].class.getName(), 
false, true, false);
        addAttributeTest(testSuite, info, "Integer", Integer.class.getName(), false, 
true, false);
        addAttributeTest(testSuite, info, "IntegerArray", Integer[].class.getName(), 
false, true, false);
        addAttributeTest(testSuite, info, "NestedIntegerArray", 
Integer[][][].class.getName(), false, true, false);
        addAttributeTest(testSuite, info, "Myinteger", int.class.getName(), true, 
false, false);
        addAttributeTest(testSuite, info, "MyintegerArray", int[].class.getName(), 
true, false, false);
        addAttributeTest(testSuite, info, "MyNestedintegerArray", 
int[][][].class.getName(), true, false, false);
        addAttributeTest(testSuite, info, "MyInteger", Integer.class.getName(), true, 
false, false);
        addAttributeTest(testSuite, info, "MyIntegerArray", Integer[].class.getName(), 
true, false, false);
        addAttributeTest(testSuite, info, "MyNestedIntegerArray", 
Integer[][][].class.getName(), true, false, false);
        addAttributeTest(testSuite, info, "ready", boolean.class.getName(), true, 
false, true);
        addAttributeTest(testSuite, info, "Ready", Boolean.class.getName(), true, 
false, true);
  
        // make sure we are testing all exposed attributes (each ValidAttributeTest 
increments a counter
        // which is used to figure out whether we have adequate test coverage)
        testSuite.addTest(new TestCoverageTEST("attribute list length", 
attributeTestCount, info.getAttributes().length));
  
        // validate the operations
        // Args are: Name, impact, returnTypeString, SignatureAsStringArray
        addOperationTest(testSuite, info, "settlement", MBeanOperationInfo.UNKNOWN, 
int.class.getName(), new String[] { String.class.getName() });
        addOperationTest(testSuite, info, "getSomething", MBeanOperationInfo.UNKNOWN, 
Void.TYPE.getName(), new String[0]);
        addOperationTest(testSuite, info, "ispeachy", MBeanOperationInfo.UNKNOWN, 
boolean.class.getName(), new String[] { int.class.getName() });
        addOperationTest(testSuite, info, "isPeachy", MBeanOperationInfo.UNKNOWN, 
Boolean.class.getName(), new String[] { int.class.getName() });
        addOperationTest(testSuite, info, "setMulti", MBeanOperationInfo.UNKNOWN, 
Void.TYPE.getName(), new String[] { String.class.getName(), Integer.class.getName() });
        addOperationTest(testSuite, info, "getResult", MBeanOperationInfo.UNKNOWN, 
String.class.getName(), new String[] { String.class.getName() });
        addOperationTest(testSuite, info, "setNothing", MBeanOperationInfo.UNKNOWN, 
Void.TYPE.getName(), new String[0]);
        addOperationTest(testSuite, info, "getNothing", MBeanOperationInfo.UNKNOWN, 
Void.TYPE.getName(), new String[0]);
        addOperationTest(testSuite, info, "doSomethingCrazy", 
MBeanOperationInfo.UNKNOWN, String[][].class.getName(), new String[] { 
Object[].class.getName(), String[].class.getName(), int[][][].class.getName() });
        // Hmmm... This fails in the RI (which causes the operation coverage test to 
fail too.
        // it's odd because in the RI issuer() isn't treated as an attribute and it 
doesn't
        // appear as an operation - it just disappears!
        addOperationTest(testSuite, info, "issuer", MBeanOperationInfo.UNKNOWN, 
String.class.getName(), new String[0]);
  
        // make sure we are testing all exposed operations (each ValidOperationTest 
increments a counter
        // which is used to figure out whether we have adequate test coverage)
        testSuite.addTest(new TestCoverageTEST("operation list length", 
operationTestCount, info.getOperations().length));
  
        return testSuite;
     }
  
     public static void addConstructorTest(TestSuite testSuite, MBeanInfo info, String 
name, String[] signature)
     {
        testSuite.addTest(new ConstructorInfoTEST(info, name, signature));
        constructorTestCount++;
     }
  
     public static void addSpuriousAttributeTest(TestSuite testSuite, MBeanInfo info, 
String name)
     {
        testSuite.addTest(new SpuriousAttributeTEST(info, name));
     }
  
     public static void addAttributeTest(TestSuite testSuite, MBeanInfo info, String 
name, String type, boolean read, boolean write, boolean is)
     {
        testSuite.addTest(new AttributeInfoTEST(info, name, type, read, write, is));
        attributeTestCount++;
     }
  
     public static void addOperationTest(TestSuite testSuite, MBeanInfo info, String 
name, int impact, String returnType, String[] signature)
     {
        testSuite.addTest(new OperationInfoTEST(info, name, impact, returnType, 
signature));
        operationTestCount++;
     }
  
     public static class TestCoverageTEST extends TestCase
     {
        private String msg;
        private int expected;
        private int got;
  
        public TestCoverageTEST(String msg, int expected, int got)
        {
           super("testAdequateCoverage");
           this.msg = msg;
           this.expected = expected;
           this.got = got;
        }
  
        public void testAdequateCoverage()
        {
           assertEquals(msg, expected, got);
        }
     }
  
     private static MBeanInfo getTortureInfo()
     {
        MBeanInfo info = null;
  
        try
        {
           MBeanServer server = MBeanServerFactory.newMBeanServer();
           Torture trivial = new Torture();
  
           ObjectName name = new ObjectName("trivial:key=val");
           ObjectInstance instance = server.registerMBean(trivial, name);
           info = server.getMBeanInfo(name);
        }
        catch (MalformedObjectNameException e)
        {
           Assert.fail("got spurious MalformedObjectNameException");
        }
        catch (InstanceAlreadyExistsException e)
        {
           Assert.fail("got spurious InstanceAlreadyExistsException");
        }
        catch (MBeanRegistrationException e)
        {
           Assert.fail("got spurious MBeanRegistrationException");
        }
        catch (NotCompliantMBeanException e)
        {
           Assert.fail("got spurious NotCompliantMBeanException");
        }
        catch (InstanceNotFoundException e)
        {
           Assert.fail("got spurious InstanceNotFoundException");
        }
        catch (IntrospectionException e)
        {
           Assert.fail("got spurious IntrospectionException");
        }
        catch (ReflectionException e)
        {
           Assert.fail("got spurious ReflectionException");
        }
  
        return info;
     }
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/InfoTortureTEST.java
  
  Index: InfoTortureTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import junit.framework.TestCase;
  
  import javax.management.MBeanAttributeInfo;
  import javax.management.MBeanConstructorInfo;
  import javax.management.MBeanOperationInfo;
  import javax.management.MBeanParameterInfo;
  
  /**
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  
  public abstract class InfoTortureTEST extends TestCase
  {
     public InfoTortureTEST(String s)
     {
        super(s);
     }
  
     public static MBeanAttributeInfo findAttribute(MBeanAttributeInfo[] attributes, 
String name)
     {
        for (int i = 0; i < attributes.length; i++)
        {
           if (attributes[i].getName().equals(name))
           {
              return attributes[i];
           }
        }
        return null;
     }
  
     public static void dumpConstructors(MBeanConstructorInfo[] constructors)
     {
        System.out.println("");
        System.out.println("Constructors:");
        for (int i = 0; i < constructors.length; i++)
        {
           StringBuffer dump = new StringBuffer();
           MBeanConstructorInfo constructor = constructors[i];
           dump.append("name=").append(constructor.getName());
           
dump.append(",signature=").append(makeSignatureString(constructor.getSignature()));
  
           System.out.println(dump);
        }
     }
  
     public static void dumpAttributes(MBeanAttributeInfo[] attributes)
     {
        System.out.println("");
        System.out.println("Attributes:");
        for (int i = 0; i < attributes.length; i++)
        {
           StringBuffer dump = new StringBuffer();
           MBeanAttributeInfo attribute = attributes[i];
           dump.append("name=").append(attribute.getName());
           dump.append(",type=").append(attribute.getType());
           dump.append(",readable=").append(attribute.isReadable());
           dump.append(",writable=").append(attribute.isWritable());
           dump.append(",isIS=").append(attribute.isIs());
           System.out.println(dump);
        }
     }
  
     public static void dumpOperations(MBeanOperationInfo[] operations)
     {
        System.out.println("");
        System.out.println("Operations:");
        for (int i = 0; i < operations.length; i++)
        {
           StringBuffer dump = new StringBuffer();
           MBeanOperationInfo operation = operations[i];
           dump.append("name=").append(operation.getName());
           dump.append(",impact=").append(decodeImpact(operation.getImpact()));
           dump.append(",returnType=").append(operation.getReturnType());
           
dump.append(",signature=").append(makeSignatureString(operation.getSignature()));
  
           System.out.println(dump);
        }
     }
  
     public static String makeSignatureString(MBeanParameterInfo[] info)
     {
        String[] sig = new String[info.length];
        for (int i = 0; i < info.length; i++)
        {
           sig[i] = info[i].getType();
        }
        return makeSignatureString(sig);
     }
  
     public static String makeSignatureString(String[] sig)
     {
        StringBuffer buf = new StringBuffer("(");
        for (int i = 0; i < sig.length; i++)
        {
           buf.append(sig[i]);
           if (i != sig.length - 1)
           {
              buf.append(",");
           }
        }
        buf.append(")");
        return buf.toString();
     }
  
     public static String decodeImpact(int impact)
     {
        switch (impact)
        {
           case MBeanOperationInfo.ACTION:
              return "ACTION";
           case MBeanOperationInfo.ACTION_INFO:
              return "ACTION_INFO";
           case MBeanOperationInfo.INFO:
              return "INFO";
           case MBeanOperationInfo.UNKNOWN:
              return "UNKNOWN";
        }
        throw new IllegalArgumentException("unknown impact value:" + impact);
     }
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/OperationInfoTEST.java
  
  Index: OperationInfoTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import javax.management.MBeanInfo;
  import javax.management.MBeanOperationInfo;
  
  /**
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  
  public class OperationInfoTEST extends InfoTortureTEST
  {
     private MBeanInfo info;
     private String operationName;
     private int impact;
     private String returnType;
     private String signatureString;
  
     public OperationInfoTEST(MBeanInfo info, String operationName, int impact, String 
returnType, String[] signature)
     {
        super("testValidOperation");
        this.info = info;
        this.operationName = operationName;
        this.impact = impact;
        this.returnType = returnType;
        this.signatureString = makeSignatureString(signature);
     }
  
     public void testValidOperation()
     {
        MBeanOperationInfo[] operations = info.getOperations();
  
        MBeanOperationInfo foundOperation = null;
  
        for (int i = 0; i < operations.length; i++)
        {
           if (operations[i].getName().equals(operationName))
           {
              if 
(signatureString.equals(makeSignatureString(operations[i].getSignature())))
              {
                 foundOperation = operations[i];
                 break;
              }
           }
        }
  
        assertNotNull(operationName + signatureString, foundOperation);
        assertEquals(operationName + signatureString + " impact", impact, 
foundOperation.getImpact());
        assertEquals(operationName + signatureString + " returnType", returnType, 
foundOperation.getReturnType());
     }
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/standard/SpuriousAttributeTEST.java
  
  Index: SpuriousAttributeTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.standard;
  
  import javax.management.MBeanAttributeInfo;
  import javax.management.MBeanInfo;
  
  /**
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Trevor Squires</a>.
   */
  
  public class SpuriousAttributeTEST extends InfoTortureTEST
  {
     private MBeanInfo info;
     private String attributeName;
  
     public SpuriousAttributeTEST(MBeanInfo info, String attributeName)
     {
        super("testForSpuriousAttribute");
        this.info = info;
        this.attributeName = attributeName;
     }
  
     public void testForSpuriousAttribute()
     {
        MBeanAttributeInfo[] attributes = info.getAttributes();
        assertNull("attribute " + attributeName, findAttribute(attributes, 
attributeName));
     }
  }
  
  
  

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

Reply via email to