[jboss-cvs] JBossAS SVN: r75016 - in trunk/system-jmx/src: tests/org/jboss/test/system/controller/integration/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 24 18:59:28 EDT 2008


Author: alesj
Date: 2008-06-24 18:59:27 -0400 (Tue, 24 Jun 2008)
New Revision: 75016

Added:
   trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-beans.xml
   trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase-beans.xml
Modified:
   trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-mc.xml
   trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/AbstractJMXAnnotationTest.java
   trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase.java
   trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase.java
Log:
Add undeploy check to tests.

Copied: trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-beans.xml (from rev 74989, trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-mc.xml)
===================================================================
--- trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-beans.xml	                        (rev 0)
+++ trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-beans.xml	2008-06-24 22:59:27 UTC (rev 75016)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="ExposeJMXAttribute" class="org.jboss.test.system.controller.integration.support.ExposeJMXAttribute" access-mode="ALL"/>
+
+</deployment>

Modified: trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-mc.xml
===================================================================
--- trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-mc.xml	2008-06-24 22:06:11 UTC (rev 75015)
+++ trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase-mc.xml	2008-06-24 22:59:27 UTC (rev 75016)
@@ -27,6 +27,4 @@
    <bean name="JMXPropertyPlugin" class="org.jboss.system.microcontainer.jmx.JMXPropertyAnnotationPlugin" />
    <bean name="JMXFieldPlugin" class="org.jboss.system.microcontainer.jmx.JMXFieldAnnotationPlugin" />
 
-   <bean name="ExposeJMXAttribute" class="org.jboss.test.system.controller.integration.support.ExposeJMXAttribute" access-mode="ALL"/>
-
 </deployment>

Copied: trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase-beans.xml (from rev 74970, trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase-mc.xml)
===================================================================
--- trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase-beans.xml	                        (rev 0)
+++ trunk/system-jmx/src/resources/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase-beans.xml	2008-06-24 22:59:27 UTC (rev 75016)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="TransactionManager2" class="org.jboss.test.system.controller.integration.support.MockTransactionManager">
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager2", exposedInterface=org.jboss.test.system.controller.integration.support.MockTransactionManagerMBean.class, registerDirectly=true)</annotation>
+      <property name="transactionTimeout">300</property>
+      <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
+      <install bean="ServiceLifecycle" method="install">
+         <parameter><inject fromContext="context"/></parameter>
+      </install>
+      <uninstall bean="ServiceLifecycle" method="uninstall">
+         <parameter><inject fromContext="context"/></parameter>
+      </uninstall>
+   </bean>
+
+</deployment>

Modified: trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/AbstractJMXAnnotationTest.java
===================================================================
--- trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/AbstractJMXAnnotationTest.java	2008-06-24 22:06:11 UTC (rev 75015)
+++ trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/AbstractJMXAnnotationTest.java	2008-06-24 22:59:27 UTC (rev 75016)
@@ -21,6 +21,7 @@
 */
 package org.jboss.test.system.controller.integration.test;
 
+import java.net.URL;
 import javax.management.MBeanServer;
 import javax.management.MBeanServerFactory;
 
@@ -39,6 +40,27 @@
       super(name);
    }
 
+   protected URL getBeansURL() throws Exception
+   {
+      Class clazz = getClass();
+      String testName = clazz.getName();
+      testName = testName.replace('.', '/') + "-beans.xml";
+      return clazz.getClassLoader().getResource(testName);
+   }
+
+   protected void assertNullControllerContext(Object name) throws Exception
+   {
+      try
+      {
+         getControllerContext(name);
+         fail("Should not be here");
+      }
+      catch (Exception e)
+      {
+         assertInstanceOf(e, IllegalStateException.class);
+      }
+   }
+
    public static AbstractTestDelegate getDelegate(Class clazz) throws Exception
    {
       return new JMXAwareTestDelegate(clazz);

Modified: trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase.java
===================================================================
--- trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase.java	2008-06-24 22:06:11 UTC (rev 75015)
+++ trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationPluginTestCase.java	2008-06-24 22:59:27 UTC (rev 75016)
@@ -25,6 +25,7 @@
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.test.system.controller.integration.support.MockTransactionManagerMBean;
 import org.jboss.test.system.controller.integration.support.MockUnifiedInvokerMBean;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
 
 /**
  * JMXAnnotationPluginTestCase.
@@ -45,6 +46,8 @@
 
    public void testJMXAnnotationPlugin() throws Throwable
    {
+      KernelDeployment deployment = deployMC(getBeansURL());
+
       // getter
       ControllerContext mbeanContext = getControllerContext("jboss:service=invoker,type=getter");
       assertNotNull(mbeanContext);
@@ -65,5 +68,13 @@
 
       validate();
       validateMC();
+
+      undeployMC(deployment);
+
+      assertNullControllerContext("ExposeJMXAttribute");
+      assertNullControllerContext("jboss:service=invoker,type=getter");
+      assertNullControllerContext("jboss:service=invoker,type=field");
+      assertNullControllerContext("jboss.pojo:name='ExposeJMXAttribute',attribute=tm");
+      assertNullControllerContext("jboss.pojo:name='ExposeJMXAttribute',attribute=tmField");
    }
 }
\ No newline at end of file

Modified: trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase.java
===================================================================
--- trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase.java	2008-06-24 22:06:11 UTC (rev 75015)
+++ trunk/system-jmx/src/tests/org/jboss/test/system/controller/integration/test/JMXAnnotationTestCase.java	2008-06-24 22:59:27 UTC (rev 75016)
@@ -23,6 +23,8 @@
 
 import junit.framework.Test;
 import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
 import org.jboss.test.system.controller.integration.support.MockTransactionManagerMBean;
 import org.jboss.test.system.controller.integration.support.MockUnifiedInvokerMBean;
 
@@ -45,21 +47,34 @@
 
    public void testJMXAnnotationDependency() throws Throwable
    {
-      ControllerContext mbeanContext = getControllerContext("jboss:service=invoker,type=unified");
-      assertNotNull(mbeanContext);
-      Object mbean = mbeanContext.getTarget();
-      assertNotNull(mbean);
-      assertInstanceOf(MockUnifiedInvokerMBean.class, mbean);
+      KernelDeployment deployment = deployMC(getBeansURL());
 
-      ControllerContext tmMCContext = getControllerContext("TransactionManager");
-      ControllerContext tmJMXContext = getControllerContext("jboss:service=TransactionManager");
+      // mc
+      ControllerContext tmMCContext = getControllerContext("TransactionManager2");
       assertNotNull(tmMCContext);
+      assertEquals(ControllerState.INSTALLED, tmMCContext.getState());
+      // jmx
+      ControllerContext tmJMXContext = getControllerContext("jboss:service=TransactionManager2");
       assertNotNull(tmJMXContext);
+      assertEquals(ControllerState.INSTALLED, tmJMXContext.getState());
       Object bean = tmMCContext.getTarget();
+
       assertNotNull(bean);
       assertInstanceOf(MockTransactionManagerMBean.class, bean);
 
+      ControllerContext mbeanContext = getControllerContext("jboss:service=invoker,type=unified");
+      assertNotNull(mbeanContext);
+      assertEquals(ControllerState.INSTALLED, mbeanContext.getState());
+      Object mbean = mbeanContext.getTarget();
+      assertNotNull(mbean);
+      assertInstanceOf(MockUnifiedInvokerMBean.class, mbean);
+      
       validate();
       validateMC();
+
+      undeployMC(deployment);
+
+      assertNullControllerContext("TransactionManager2");
+      assertNullControllerContext("jboss:service=TransactionManager2");
    }
 }




More information about the jboss-cvs-commits mailing list