1
2
3
4
5
6
7
8
9
10
11 package org.mule.management.mbeans;
12
13 import org.mule.api.transport.Connector;
14 import org.mule.management.AbstractMuleJmxTestCase;
15 import org.mule.module.management.agent.JmxAgent;
16 import org.mule.tck.testmodels.mule.TestConnector;
17
18 import java.util.Set;
19
20 import javax.management.ObjectInstance;
21 import javax.management.ObjectName;
22
23 import org.junit.Test;
24
25 import static org.junit.Assert.assertEquals;
26
27 public class ConnectorServiceTestCase extends AbstractMuleJmxTestCase
28 {
29
30 protected String domainName;
31 protected JmxAgent jmxAgent;
32
33 @Override
34 protected void doSetUp() throws Exception
35 {
36 super.doSetUp();
37 jmxAgent = muleContext.getRegistry().lookupObject(JmxAgent.class);
38
39 }
40
41 @Test
42 public void testUndeploy() throws Exception
43 {
44 final Connector connector = new TestConnector(muleContext);
45 connector.setName("TEST_CONNECTOR");
46 muleContext.getRegistry().registerConnector(connector);
47 muleContext.start();
48
49 domainName = jmxSupport.getDomainName(muleContext);
50 final String query = domainName + ":*";
51 final ObjectName objectName = jmxSupport.getObjectName(query);
52 Set<ObjectInstance> mbeans = mBeanServer.queryMBeans(objectName, null);
53
54
55
56
57
58
59
60
61
62 assertEquals("Unexpected number of components registered in the domain.", 7, mbeans.size());
63 muleContext.dispose();
64
65 mbeans = mBeanServer.queryMBeans(objectName, null);
66 assertEquals("There should be no MBeans left in the domain", 0, mbeans.size());
67 }
68
69 @Override
70 protected void doTearDown() throws Exception
71 {
72 unregisterMBeansByMask(domainName + ":*");
73 }
74 }