test/tc_dynamic_mbean.rb in jmx4r-0.0.8 vs test/tc_dynamic_mbean.rb in jmx4r-0.1.0
- old
+ new
@@ -74,6 +74,55 @@
mbeanServer.register_mbean mbean, ObjectName.new("jmx4r:name=OperationInvocationMBean")
mbean = JMX::MBean.find_by_name "jmx4r:name=OperationInvocationMBean", :connection => mbeanServer
assert_equal("oof", mbean.reverse("foo"))
end
+
+ class Foo < JMX::DynamicMBean
+ rw_attribute :foo_attr, :string
+
+ operation
+ parameter :string
+ returns :string
+ def foo(arg)
+ "foo #{arg}"
+ end
+ end
+
+ class Bar < JMX::DynamicMBean
+ rw_attribute :bar_attr, :string
+
+ operation
+ parameter :string
+ returns :string
+ def bar(arg)
+ "bar #{arg}"
+ end
+ end
+
+ def test_separate_dynamic_beans_have_separate_operations_and_attributes
+ mbean_server = ManagementFactory.platform_mbean_server
+ mbean_server.register_mbean Foo.new, ObjectName.new("jmx4r:name=foo")
+ mbean_server.register_mbean Bar.new, ObjectName.new("jmx4r:name=bar")
+
+ foo_mbean = JMX::MBean.find_by_name "jmx4r:name=foo", :connection => mbean_server
+ assert_equal "foo test", foo_mbean.foo("test")
+ assert_raise(NoMethodError){
+ foo_mbean.bar("test")
+ }
+ foo_mbean.foo_attr = "test"
+ assert_equal "test", foo_mbean.foo_attr
+ assert_raise(NoMethodError){
+ foo_mbean.bar_attr = "test"
+ }
+ bar_mbean = JMX::MBean.find_by_name "jmx4r:name=bar", :connection => mbean_server
+ assert_equal "bar test", bar_mbean.bar("test")
+ assert_raise(NoMethodError) {
+ bar_mbean.foo("test")
+ }
+ bar_mbean.bar_attr = "test"
+ assert_equal "test", bar_mbean.bar_attr
+ assert_raise(NoMethodError){
+ bar_mbean.foo_attr = "test"
+ }
+ end
end