User: squirest
Date: 01/12/21 13:17:19
Modified: src/main/test/compliance/registration RegistrationTEST.java
Log:
added a couple of tests to illustrate problems with MBeanRegistration handling
Revision Changes Path
1.2 +80 -3 jmx/src/main/test/compliance/registration/RegistrationTEST.java
Index: RegistrationTEST.java
===================================================================
RCS file:
/cvsroot/jboss/jmx/src/main/test/compliance/registration/RegistrationTEST.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RegistrationTEST.java 2001/12/20 01:50:59 1.1
+++ RegistrationTEST.java 2001/12/21 21:17:19 1.2
@@ -9,16 +9,93 @@
import junit.framework.TestCase;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.MBeanRegistrationException;
+import javax.management.NotCompliantMBeanException;
+import javax.management.InstanceNotFoundException;
+
+import test.compliance.registration.support.RegistrationAware;
+
public class RegistrationTEST extends TestCase
{
public RegistrationTEST(String s)
{
super(s);
}
+
+ public void testSimpleRegistration()
+ {
+ try
+ {
+ MBeanServer server = MBeanServerFactory.newMBeanServer();
+ RegistrationAware ra = new RegistrationAware();
+ ObjectName name = new ObjectName("test:key=value");
+
+ server.registerMBean(ra, name);
+
+ assertTrue("preRegister", ra.isPreRegisterCalled());
+ assertTrue("postRegister", ra.isPostRegisterCalled());
+ assertTrue("postRegisterRegistrationDone",
ra.isPostRegisterRegistrationDone());
+ assertEquals(name, ra.getRegisteredObjectName());
+
+ server.unregisterMBean(name);
+
+ assertTrue("preDeRegister", ra.isPreDeRegisterCalled());
+ assertTrue("postDeRegister", ra.isPostDeRegisterCalled());
+ }
+ catch (MalformedObjectNameException e)
+ {
+ fail("spurious MalformedObjectNameException");
+ }
+ catch (MBeanRegistrationException e)
+ {
+ fail("strange MBeanRegistrationException linked to: " +
e.getTargetException().getMessage());
+ }
+ catch (Exception e)
+ {
+ fail("something else went wrong: " + e.getMessage());
+ }
+ }
- public void testNYI()
+ public void testDuplicateRegistration()
{
- // FIXME THS - I've identified potential problems with the handling of
MBeanRegistration
- // will put together a testcase to illustrate
+
+ try
+ {
+ MBeanServer server = MBeanServerFactory.newMBeanServer();
+ ObjectName name = new ObjectName("test:key=value");
+
+ RegistrationAware original = new RegistrationAware();
+ RegistrationAware ra = new RegistrationAware();
+
+ server.registerMBean(original, name);
+
+ try
+ {
+ server.registerMBean(ra, name);
+ fail("expected a InstanceAlreadyExistsException");
+ }
+ catch (InstanceAlreadyExistsException e)
+ {
+ }
+
+ assertTrue("preRegister", ra.isPreRegisterCalled());
+ assertTrue("postRegister", ra.isPostRegisterCalled());
+ assertTrue("postRegisterRegistrationDone",
!ra.isPostRegisterRegistrationDone());
+ assertTrue("preDeRegister", !ra.isPreDeRegisterCalled());
+ assertTrue("postDeRegister", !ra.isPostDeRegisterCalled());
+ assertEquals(name, ra.getRegisteredObjectName());
+
+ server.unregisterMBean(name);
+ }
+ catch (Exception e)
+ {
+ fail("got an unexpected exception: " + e.getMessage());
+ }
}
+
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development