01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.test.jbossmx.compliance.standard;
23:
24: import javax.management.Attribute;
25: import javax.management.MBeanServer;
26: import javax.management.MBeanServerFactory;
27: import javax.management.ObjectName;
28:
29: import org.jboss.test.jbossmx.compliance.TestCase;
30: import org.jboss.test.jbossmx.compliance.standard.support.PackageProtectedMBean;
31: import org.jboss.test.jbossmx.compliance.standard.support.PackageProtectedMBeanFactory;
32:
33: /**
34: * Test a standard mbean with a package protected class implementation.
35: *
36: * @author <a href="mailto:dimitris@jboss.org">Dimitris Andreadis</a>
37: * @version $Revision: 57211 $
38: */
39: public class PackageProtectedTestCase extends TestCase {
40: public PackageProtectedTestCase(String s) {
41: super (s);
42: }
43:
44: /**
45: * JBAS-1704
46: */
47: public void testRegisterPackageProtectedClassImpl() {
48: try {
49: MBeanServer server = MBeanServerFactory.newMBeanServer();
50: ObjectName objectName = new ObjectName("test:key=value");
51: PackageProtectedMBean mbean = PackageProtectedMBeanFactory
52: .createMBean("TestMBean");
53:
54: server.registerMBean(mbean, objectName);
55:
56: String name = (String) server.getAttribute(objectName,
57: "Name");
58: assertEquals("TestMBean", name);
59:
60: server.setAttribute(objectName, new Attribute("Name",
61: "TestMBeanX"));
62: name = (String) server.getAttribute(objectName, "Name");
63: assertEquals("TestMBeanX", name);
64:
65: String message = "hello";
66: String reply = (String) server.invoke(objectName, "echo",
67: new Object[] { message },
68: new String[] { "java.lang.String" });
69:
70: assertEquals(message, reply);
71:
72: server.unregisterMBean(objectName);
73: } catch (Exception e) {
74: log.debug("Unexpected Exception", e);
75: fail("Caught unexpected exception");
76: }
77: }
78: }
|