1
2
3
4
5
6
7
8
9
10 package org.mule.management.support;
11
12 import org.mule.api.context.MuleContextBuilder;
13 import org.mule.config.DefaultMuleConfiguration;
14 import org.mule.management.AbstractMuleJmxTestCase;
15 import org.mule.module.management.mbean.StatisticsService;
16 import org.mule.module.management.support.JmxModernSupport;
17
18 import java.util.Arrays;
19 import java.util.List;
20
21 import javax.management.ObjectName;
22
23 import org.junit.Test;
24
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertTrue;
27
28 public class JmxSupportTestCase extends AbstractMuleJmxTestCase
29 {
30 private final String MANAGER_ID = "Test_Instance";
31 private final String TEST_DOMAIN = JmxModernSupport.DEFAULT_JMX_DOMAIN_PREFIX + "." + MANAGER_ID;
32
33 @Override
34 protected void configureMuleContext(MuleContextBuilder contextBuilder)
35 {
36 super.configureMuleContext(contextBuilder);
37
38 DefaultMuleConfiguration config = new DefaultMuleConfiguration();
39 config.setId(MANAGER_ID);
40 contextBuilder.setMuleConfiguration(config);
41 }
42
43 @Test
44 public void testClashingDomains() throws Exception
45 {
46
47 ObjectName name = ObjectName.getInstance(TEST_DOMAIN + ":name=TestDuplicates");
48 mBeanServer.registerMBean(new StatisticsService(), name);
49
50 muleContext.start();
51
52 List<String> domains = Arrays.asList(mBeanServer.getDomains());
53 assertTrue("Should have contained an original domain.", domains.contains(TEST_DOMAIN));
54 assertTrue("Should have contained a new domain.", domains.contains(TEST_DOMAIN + ".1"));
55 }
56
57 @Test
58 public void testClashingSuffixedDomains() throws Exception
59 {
60
61
62 int numOriginalDomains = mBeanServer.getDomains().length;
63
64
65 ObjectName name = ObjectName.getInstance(TEST_DOMAIN + ":name=TestDuplicates");
66 mBeanServer.registerMBean(new StatisticsService(), name);
67
68
69 name = ObjectName.getInstance(TEST_DOMAIN + ".1" + ":name=TestDuplicates");
70 mBeanServer.registerMBean(new StatisticsService(), name);
71
72 assertEquals("Wrong number of domains created.",
73 numOriginalDomains + 2, mBeanServer.getDomains().length);
74
75 muleContext.start();
76
77 List<String> domains = Arrays.asList(mBeanServer.getDomains());
78
79 assertEquals("Wrong number of domains created.",
80 numOriginalDomains + 3, domains.size());
81
82 assertTrue("Should have contained an original domain.", domains.contains(TEST_DOMAIN));
83 assertTrue("Should have contained an original suffixed domain.", domains.contains(TEST_DOMAIN + ".1"));
84 assertTrue("Should have contained a new domain.", domains.contains(TEST_DOMAIN + ".2"));
85 }
86
87 }