< prev index next >

application/tests/org.openjdk.jmc.rjmx.test/src/test/java/org/openjdk/jmc/rjmx/test/DefaultServicesTest.java

Print this page




  34 
  35 import static org.junit.Assert.assertNotNull;
  36 import static org.junit.Assert.assertTrue;
  37 import static org.junit.Assert.fail;
  38 
  39 import javax.management.MBeanServerConnection;
  40 import javax.management.ObjectName;
  41 
  42 import org.junit.Test;
  43 import org.openjdk.jmc.rjmx.IConnectionHandle;
  44 import org.openjdk.jmc.rjmx.subscription.IMBeanHelperService;
  45 
  46 /**
  47  * Sanity test for the default services available from the default implementation of
  48  * {@link IConnectionHandle} for Mission Control.
  49  */
  50 public class DefaultServicesTest extends ServerHandleTestCase {
  51 
  52         @Test
  53         public void testMBeanServerConnection() throws Exception {
  54                 IConnectionHandle handle = getDefaultServer().connect("Test"); //$NON-NLS-1$
  55                 MBeanServerConnection connection = handle.getServiceOrThrow(MBeanServerConnection.class);
  56 
  57                 String[] domains = connection.getDomains();
  58                 assertNotNull(connection.getDomains());
  59                 // At least java.lang, no matter what, or we're breaking J2SE compliance...
  60                 for (String domain : domains) {
  61                         if (domain.equals("java.lang")) { //$NON-NLS-1$
  62                                 return;
  63                         }
  64                 }
  65                 fail("Could not find java.lang.management among the domains!"); //$NON-NLS-1$
  66         }
  67 
  68         @Test
  69         public void xtestMBeanHelperService() throws Exception {
  70                 IConnectionHandle handle = getDefaultServer().connect("Test"); //$NON-NLS-1$
  71                 IMBeanHelperService helper = handle.getServiceOrThrow(IMBeanHelperService.class);
  72 
  73                 // FIXME: JMC-4270 - Server time approximation is not reliable. Disabling until a solution is found.
  74 //              long time = System.currentTimeMillis();
  75 //
  76 //              // The server time calculations should not be this much off.
  77 //              long diff = time - helper.getApproximateServerTime(time);
  78 //              assertLessThan("Server time approximation off by more than five seconds", 5000L, Math.abs(diff)); //$NON-NLS-1$
  79 //              System.out.println("DefaultServicesTest.testMBeanHelperService(): Server time approximation difference = " //$NON-NLS-1$
  80 //                              + Math.abs(diff) + " ms"); //$NON-NLS-1$
  81 
  82                 // Should at least contain the java.lang mbeans. Just testing for the Threading one.
  83                 assertTrue("Could not find the Threading MBean!", helper.getMBeanNames().contains( //$NON-NLS-1$
  84                                 new ObjectName("java.lang:type=Threading"))); //$NON-NLS-1$
  85         }
  86 }


  34 
  35 import static org.junit.Assert.assertNotNull;
  36 import static org.junit.Assert.assertTrue;
  37 import static org.junit.Assert.fail;
  38 
  39 import javax.management.MBeanServerConnection;
  40 import javax.management.ObjectName;
  41 
  42 import org.junit.Test;
  43 import org.openjdk.jmc.rjmx.IConnectionHandle;
  44 import org.openjdk.jmc.rjmx.subscription.IMBeanHelperService;
  45 
  46 /**
  47  * Sanity test for the default services available from the default implementation of
  48  * {@link IConnectionHandle} for Mission Control.
  49  */
  50 public class DefaultServicesTest extends ServerHandleTestCase {
  51 
  52         @Test
  53         public void testMBeanServerConnection() throws Exception {
  54                 IConnectionHandle handle = getDefaultServer().connect("Test");
  55                 MBeanServerConnection connection = handle.getServiceOrThrow(MBeanServerConnection.class);
  56 
  57                 String[] domains = connection.getDomains();
  58                 assertNotNull(connection.getDomains());
  59                 // At least java.lang, no matter what, or we're breaking J2SE compliance...
  60                 for (String domain : domains) {
  61                         if (domain.equals("java.lang")) {
  62                                 return;
  63                         }
  64                 }
  65                 fail("Could not find java.lang.management among the domains!");
  66         }
  67 
  68         @Test
  69         public void xtestMBeanHelperService() throws Exception {
  70                 IConnectionHandle handle = getDefaultServer().connect("Test");
  71                 IMBeanHelperService helper = handle.getServiceOrThrow(IMBeanHelperService.class);
  72 
  73                 // FIXME: JMC-4270 - Server time approximation is not reliable. Disabling until a solution is found.
  74 //              long time = System.currentTimeMillis();
  75 //
  76 //              // The server time calculations should not be this much off.
  77 //              long diff = time - helper.getApproximateServerTime(time);
  78 //              assertLessThan("Server time approximation off by more than five seconds", 5000L, Math.abs(diff));
  79 //              System.out.println("DefaultServicesTest.testMBeanHelperService(): Server time approximation difference = "
  80 //                              + Math.abs(diff) + " ms");
  81 
  82                 // Should at least contain the java.lang mbeans. Just testing for the Threading one.
  83                 assertTrue("Could not find the Threading MBean!", helper.getMBeanNames().contains(
  84                                 new ObjectName("java.lang:type=Threading")));
  85         }
  86 }
< prev index next >