package com.arondor.common.management.mbean;
import static org.junit.Assert.assertEquals;
import javax.management.MBeanInfo;
import org.junit.Before;
import org.junit.Test;
public class TestMBeanObjectHelper
{
private MBeanObjectHelper mbeanObjectHelper;
@Before
public void init()
{
mbeanObjectHelper = new MBeanObjectHelper();
}
public static class Test1
{
private int field1;
public int getField1()
{
return field1;
}
public void setField1(int field1)
{
this.field1 = field1;
}
}
@Test
public void testField1()
{
Test1 test1 = new Test1();
MBeanInfo info = mbeanObjectHelper.getMBeanInfo(test1, "Description");
assertEquals(1, info.getAttributes().length);
assertEquals("field1", info.getAttributes()[0].getName());
assertEquals("int", info.getAttributes()[0].getType());
assertEquals(true, info.getAttributes()[0].isReadable());
assertEquals(true, info.getAttributes()[0].isWritable());
}
public static final class TestFieldReadOnly
{
private float fieldReadOnly = 437.7f;
public float getFieldReadOnly()
{
return fieldReadOnly;
}
}
@Test
public void testFieldReadOnly()
{
TestFieldReadOnly testFieldReadOnly = new TestFieldReadOnly();
MBeanInfo info = mbeanObjectHelper.getMBeanInfo(testFieldReadOnly, "");
assertEquals(1, info.getAttributes().length);
assertEquals("fieldReadOnly", info.getAttributes()[0].getName());
assertEquals("float", info.getAttributes()[0].getType());
assertEquals(true, info.getAttributes()[0].isReadable());
assertEquals(false, info.getAttributes()[0].isWritable());
}
}