package io.pcp.parfait.jmx;
import junit.framework.TestCase;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.IntrospectionException;
import javax.management.MBeanException;
import javax.management.ReflectionException;
import java.io.IOException;
import java.lang.management.ManagementFactory;
public class MonitoredMBeanAttributeFactoryTest extends TestCase {
public void testCanMonitorCompositeDataItem() throws InstanceNotFoundException,
IntrospectionException, ReflectionException, AttributeNotFoundException, MBeanException, IOException {
MonitoredMBeanAttributeFactory<Long> f = new MonitoredMBeanAttributeFactory<Long>("aconex.free.memory",
"", "java.lang:type=Memory", "HeapMemoryUsage", "max");
assertEquals(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax(), f
.getObject().get().longValue());
}
public void testCanMonitorStandardAttribute() throws InstanceNotFoundException,
IntrospectionException, ReflectionException, AttributeNotFoundException, MBeanException, IOException {
MonitoredMBeanAttributeFactory<Long> f = new MonitoredMBeanAttributeFactory<Long>(
"aconex.system.startTime", "", "java.lang:type=Runtime", "StartTime", "");
assertEquals(ManagementFactory.getRuntimeMXBean().getStartTime(), f.getObject().get().longValue());
}
}