package org.infinispan.cli; import static org.testng.AssertJUnit.assertEquals; import org.infinispan.cli.connection.jmx.JMXUrl; import org.infinispan.cli.connection.jmx.rmi.JMXRMIUrl; import org.testng.annotations.Test; @Test(groups="functional", testName="cli.JMXRMIUrlTest") public class JMXRMIUrlTest { public void testValidJMXUrl() { JMXUrl jmxUrl = new JMXRMIUrl("jmx://localhost:12345"); assertEquals("service:jmx:rmi:///jndi/rmi://localhost:12345/jmxrmi", jmxUrl.getJMXServiceURL()); } public void testValidJMXUrlWithContainer() { JMXUrl jmxUrl = new JMXRMIUrl("jmx://localhost:12345/container"); assertEquals("service:jmx:rmi:///jndi/rmi://localhost:12345/jmxrmi", jmxUrl.getJMXServiceURL()); assertEquals("container", jmxUrl.getContainer()); } public void testValidJMXUrlWithContainerAndCache() { JMXUrl jmxUrl = new JMXRMIUrl("jmx://localhost:12345/container/cache"); assertEquals("service:jmx:rmi:///jndi/rmi://localhost:12345/jmxrmi", jmxUrl.getJMXServiceURL()); assertEquals("container", jmxUrl.getContainer()); assertEquals("cache", jmxUrl.getCache()); } public void testValidIPV6JMXUrl() { JMXUrl jmxUrl = new JMXRMIUrl("jmx://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:12345"); assertEquals("service:jmx:rmi:///jndi/rmi://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:12345/jmxrmi", jmxUrl.getJMXServiceURL()); } public void testValidIPV6JMXUrlWithContainerAndCache() { JMXUrl jmxUrl = new JMXRMIUrl("jmx://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:12345/container/cache"); assertEquals("service:jmx:rmi:///jndi/rmi://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:12345/jmxrmi", jmxUrl.getJMXServiceURL()); assertEquals("container", jmxUrl.getContainer()); assertEquals("cache", jmxUrl.getCache()); } @Test(expectedExceptions=IllegalArgumentException.class) public void testInvalidJMXUrl() { new JMXRMIUrl("hotrod://localhost:12345"); } }