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