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

  Added:       src/main/org/jboss/test/jbossmx/compliance/objectname
                        BasicTestCase.java CanonicalTestCase.java
                        PatternTestCase.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/objectname/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.objectname;
  
  import org.jboss.test.jbossmx.compliance.TestCase;
  
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectName;
  import java.util.Hashtable;
  
  public class BasicTestCase
     extends TestCase
  {
     public static final String STD_DOMAIN = "domain";
     public static final String WHITESPACE_DOMAIN = " ";
     public static final String STD_KEYPROP_STRING = "key1=val1,key2=val2";
     public static final String REV_KEYPROP_STRING = "key2=val2,key1=val1";
     public static final String KEY1 = "key1";
     public static final String KEY2 = "key2";
     public static final String VAL1 = "val1";
     public static final String VAL2 = "val2";
  
     public BasicTestCase(String s)
     {
        super(s);
     }
  
     public void testStringNoDomain()
     {
        String nameArg = ":" + STD_KEYPROP_STRING;
        try
        {
           ObjectName name = new ObjectName(nameArg);
           String domain = name.getDomain();
           if (null == domain)
           {
              fail("getDomain() should return empty string rather than null");
           }
           assertTrue("domain should have been zero size", domain.length() == 0);
           assertEquals("value for key: " + KEY1 + " should be: " + VAL1, VAL1, 
name.getKeyProperty(KEY1));
           assertEquals("value for key: " + KEY2 + " should be: " + VAL2, VAL2, 
name.getKeyProperty(KEY2));
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg + "')");
        }
     }
  
     public void testStringWithDomain()
     {
        String nameArg = STD_DOMAIN + ":" + STD_KEYPROP_STRING;
        try
        {
           ObjectName name = new ObjectName(nameArg);
           assertEquals("domain should be equivalent", STD_DOMAIN, name.getDomain());
           assertEquals("value for key: " + KEY1 + " should be: " + VAL1, VAL1, 
name.getKeyProperty(KEY1));
           assertEquals("value for key: " + KEY2 + " should be: " + VAL2, VAL2, 
name.getKeyProperty(KEY2));
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg + "')");
        }
     }
  
     public void testSingleKVP()
     {
        try
        {
           ObjectName name = new ObjectName(STD_DOMAIN, KEY1, VAL1);
           assertEquals("domain should be equivalent", STD_DOMAIN, name.getDomain());
           assertEquals("value for key: " + KEY1 + " should be: " + VAL1, VAL1, 
name.getKeyProperty(KEY1));
           assertNull("should return NULL key property for: " + KEY2, 
name.getKeyProperty(KEY2));
  
           String kplistString = name.getKeyPropertyListString();
           if (null == kplistString)
           {
              fail("key property list string was null;");
           }
           assertTrue("KeyPropertyListString should match",
                      kplistString.equals("key1=val1"));
  
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + STD_DOMAIN + "','" + 
KEY1 + "','" + VAL1 + "')");
        }
     }
  
     public void testHashtable()
     {
        try
        {
           Hashtable properties = new Hashtable();
           properties.put(KEY1, VAL1);
           properties.put(KEY2, VAL2);
           ObjectName name = new ObjectName(STD_DOMAIN, properties);
           assertEquals("domain should be equivalent", STD_DOMAIN, name.getDomain());
           assertEquals("value for key: " + KEY1 + " should be: " + VAL1, VAL1, 
name.getKeyProperty(KEY1));
           assertEquals("value for key: " + KEY2 + " should be: " + VAL2, VAL2, 
name.getKeyProperty(KEY2));
  
           String kplistString = name.getKeyPropertyListString();
           if (null == kplistString)
           {
              fail("key property list string was null;");
           }
           assertTrue("KeyPropertyListString should match",
                      (kplistString.equals(STD_KEYPROP_STRING) || 
kplistString.equals(REV_KEYPROP_STRING)));
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + STD_DOMAIN + "','" + 
KEY1 + "','" + VAL1 + "')");
        }
     }
  
     public void testWhitespaceDomain()
     {
        String wsDomain = " ";
        String nameArg = wsDomain + ":" + STD_KEYPROP_STRING;
        try
        {
           ObjectName name = new ObjectName(nameArg);
           assertEquals("domain should be equivalent", wsDomain, name.getDomain());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg + "')");
        }
     }
  
     public void testKeyPropertyList()
     {
        String nameArg = ":" + STD_KEYPROP_STRING;
        try
        {
           ObjectName name = new ObjectName(nameArg);
           String kplistString = name.getKeyPropertyListString();
           if (null == kplistString)
           {
              fail("key property list string was null;");
           }
           assertTrue("KeyPropertyListString should match",
                      (kplistString.equals(STD_KEYPROP_STRING) || 
kplistString.equals(REV_KEYPROP_STRING)));
  
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg + "')");
        }
     }
  
     public void testToString()
     {
        String nameArg1 = ":key1=val1";
        String nameArg2 = "domain:key1=val1";
  
        try
        {
           ObjectName name1 = new ObjectName(nameArg1);
           assertEquals("toString should match", nameArg1, name1.toString());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg1 + "')");
        }
  
        try
        {
           ObjectName name2 = new ObjectName(nameArg2);
           assertEquals("toString should match", nameArg2, name2.toString());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg2 + "')");
        }
     }
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/jbossmx/compliance/objectname/CanonicalTestCase.java
  
  Index: CanonicalTestCase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.test.jbossmx.compliance.objectname;
  
  import org.jboss.test.jbossmx.compliance.TestCase;
  
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectName;
  import java.util.Hashtable;
  
  public class CanonicalTestCase
     extends TestCase
  {
     public static final String EXPECTED_NAME = "domain:a=a,b=b,c=c,d=d,e=e";
     public static final String[] KVP = {"a", "b", "c", "d", "e"};
  
     public CanonicalTestCase(String s)
     {
        super(s);
     }
  
     public void testBasicCanonical()
     {
        try
        {
           ObjectName name = new ObjectName("domain:e=e,b=b,d=d,c=c,a=a");
           assertEquals(EXPECTED_NAME, name.getCanonicalName());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException");
        }
     }
  
     public void testHashtableCanonical()
     {
        try
        {
           Hashtable h = new Hashtable();
           for (int i = 0; i < KVP.length; i++)
           {
              h.put(KVP[i], KVP[i]);
           }
           ObjectName name = new ObjectName("domain", h);
           assertEquals(EXPECTED_NAME, name.getCanonicalName());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException");
        }
     }
  
     public void testSingleKVP()
     {
        try
        {
           ObjectName name = new ObjectName("domain", "a", "a");
           assertEquals("domain:a=a", name.getCanonicalName());
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException");
        }
     }
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/jbossmx/compliance/objectname/PatternTestCase.java
  
  Index: PatternTestCase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.test.jbossmx.compliance.objectname;
  
  import org.jboss.test.jbossmx.compliance.TestCase;
  
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectName;
  
  public class PatternTestCase
     extends TestCase
  {
     public PatternTestCase(String s)
     {
        super(s);
     }
  
     public void testBasicDomainPattern()
     {
        String nameArg = "*:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("*", name.getDomain());
     }
  
     public void testBasicDomainPatternExtra()
     {
        String nameArg = "**:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("**", name.getDomain());
     }
  
     public void testPartialDomainPattern()
     {
        String nameArg = "*domain:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("*domain", name.getDomain());
     }
  
     public void testHarderPartialDomainPattern()
     {
        String nameArg = "d*n:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("d*n", name.getDomain());
     }
  
     public void testHarderPartialDomainPatternExtra()
     {
        String nameArg = "d**n:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("d**n", name.getDomain());
     }
  
     public void testPositionalDomainPattern()
     {
        String nameArg = "do??in:key1=val1,key2=val2";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertEquals("toString should be: '" + nameArg + "'", nameArg, 
name.toString());
        assertTrue("isPropertyPattern should be false", !name.isPropertyPattern());
        assertEquals("do??in", name.getDomain());
     }
  
     public void testPatternOnly()
     {
        String nameArg = "*:*";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertTrue("isPropertyPattern should be true", name.isPropertyPattern());
        // The RI incorrectly (IMHO) removes the * from propertyPatterns
        assertEquals("FAILS IN RI", nameArg, name.getCanonicalName());
     }
  
     public void testKeyPatternOnly()
     {
        String nameArg = "domain:*";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertTrue("isPropertyPattern should be true", name.isPropertyPattern());
        // The RI incorrectly (IMHO) removes the * from propertyPatterns
        assertEquals("FAILS IN RI", nameArg, name.getCanonicalName());
        assertTrue("key properties hash should be zero size", 0 == 
name.getKeyPropertyList().size());
     }
  
     public void testPartialKeyPattern()
     {
        String nameArg = "domain:key2=val2,*,key1=val1";
        ObjectName name = constructSafely(nameArg);
        assertTrue("isPattern should be true", name.isPattern());
        assertTrue("isPropertyPattern should be true", name.isPropertyPattern());
        // The RI incorrectly (IMHO) removes the * from propertyPatterns
        assertEquals("FAILS IN RI", "domain:key1=val1,key2=val2,*", 
name.getCanonicalName());
        assertTrue("key properties hash should only have 2 elements", 2 == 
name.getKeyPropertyList().size());
     }
  
     public void testEquality_a()
     {
        ObjectName pat1 = constructSafely("domain:*,key=value");
        ObjectName pat2 = constructSafely("domain:key=value,*");
        assertEquals(pat1, pat2);
     }
  
     public void testEquality_b()
     {
        ObjectName pat1 = constructSafely("do**main:key=value,*");
        ObjectName pat2 = constructSafely("do*main:key=value,*");
        assertTrue(".equals() should return false", !pat1.equals(pat2));
     }
  
  /* FIXME THS - this test fails when run against the RI!
     public void testEquality_c()
     {
        ObjectName conc = constructSafely("domain:key=value");
        ObjectName pat = constructSafely("domain:key=value,*");
        assertEquals("toString() should match", conc.toString(), pat.toString());
        assertTrue("equals() should be false", !conc.equals(pat));
     }
  */
  
     private ObjectName constructSafely(String nameArg)
     {
        ObjectName name = null;
        try
        {
           name = new ObjectName(nameArg);
        }
        catch (MalformedObjectNameException e)
        {
           fail("spurious MalformedObjectNameException on ('" + nameArg + "')");
        }
  
        return name;
     }
  }
  
  
  

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

Reply via email to