1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.mbeanhelloworld.mbean;
18
19 import java.lang.management.ManagementFactory;
20
21 import javax.management.Attribute;
22 import javax.management.MBeanInfo;
23 import javax.management.MBeanServer;
24 import javax.management.ObjectName;
25
26 import org.jboss.arquillian.container.test.api.Deployment;
27 import org.jboss.arquillian.junit.Arquillian;
28 import org.jboss.as.quickstarts.mbeanhelloworld.service.HelloService;
29 import org.jboss.shrinkwrap.api.Archive;
30 import org.jboss.shrinkwrap.api.ShrinkWrap;
31 import org.jboss.shrinkwrap.api.asset.EmptyAsset;
32 import org.jboss.shrinkwrap.api.spec.JavaArchive;
33 import org.junit.Assert;
34 import org.junit.Test;
35 import org.junit.runner.RunWith;
36
37
38
39
40
41
42
43 @RunWith(Arquillian.class)
44 public class MXComponentHelloWorldTest {
45
46
47
48
49
50
51 @Deployment
52 public static Archive<?> createTestArchive() {
53 return ShrinkWrap.create(JavaArchive.class, "helloworld.jar")
54 .addClasses(MXComponentHelloWorld.class).addClasses(AbstractComponentMBean.class)
55 .addClass(IHelloWorldMXBean.class)
56 .addClass(HelloService.class)
57 .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
58 }
59
60 @Test
61 public void testHello() throws Exception {
62 MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
63 ObjectName objectName = new ObjectName("quickstarts", "type", MXComponentHelloWorld.class.getSimpleName());
64 MBeanInfo mbeanInfo = mbeanServer.getMBeanInfo(objectName);
65 Assert.assertNotNull(mbeanInfo);
66 Assert.assertEquals(0L, mbeanServer.getAttribute(objectName, "Count"));
67 Assert.assertEquals("Hello", mbeanServer.getAttribute(objectName, "WelcomeMessage"));
68 Assert.assertEquals("Hello jer!",
69 mbeanServer.invoke(objectName, "sayHello", new Object[] { "jer" }, new String[] { "java.lang.String" }));
70 Assert.assertEquals(1L, mbeanServer.getAttribute(objectName, "Count"));
71 mbeanServer.setAttribute(objectName, new Attribute("WelcomeMessage", "Hi"));
72 Assert.assertEquals("Hi jer!",
73 mbeanServer.invoke(objectName, "sayHello", new Object[] { "jer" }, new String[] { "java.lang.String" }));
74 Assert.assertEquals(2L, mbeanServer.getAttribute(objectName, "Count"));
75 }
76 }