package org.jboss.loom.utils; import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.junit.Arquillian; import org.jboss.as.controller.client.ModelControllerClient; import org.jboss.loom.utils.as7.AS7CliUtils; import org.jboss.as.controller.client.helpers.ClientConstants; import org.jboss.dmr.ModelNode; import org.jboss.loom.TestAppConfig; import org.jboss.loom.conf.AS7Config; import org.junit.Assert; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.runner.RunWith; /** * * @author Ondrej Zizka, ozizka at redhat.com */ @RunWith( Arquillian.class ) public class AS7CliUtilsTest { @RunAsClient @Test public void testFormatCommand(){ ModelNode cmd = new ModelNode(); ModelNode addr = cmd.get(ClientConstants.OP_ADDR); addr.add("foo", "a"); addr.add("bar", "b"); cmd.get(ClientConstants.OP).set("do-something"); cmd.get("param1").set("val1"); cmd.get("param2").set("val2"); String str = AS7CliUtils.formatCommand( cmd ); Assert.assertEquals( "/foo=a/bar=b:do-something(param1=\"val1\",param2=\"val2\")", str); } /** * parse() -> format() gives the same as original CLI command. */ @RunAsClient @Test public void testParseAndFormatCommand(){ final String command = "/foo=a/bar=b:do-something(param1=\"val1\",param2=\"val2\")"; final ModelNode modalNode = AS7CliUtils.parseCommand( command ); final String command2 = AS7CliUtils.formatCommand( modalNode ); Assert.assertEquals( command, command2 ); } /** * Check that "com.h2database.h2" -> "h2". */ @Test public void testFindJdbcDriverUsingModule() throws Exception { System.out.println( "findJdbcDriverUsingModule" ); AS7Config conf = TestAppConfig.createTestConfig_EAP_520("production").getGlobal().getAS7Config(); ModelControllerClient as7Client = ModelControllerClient.Factory.create(conf.getHost(), conf.getManagementPort()); String expResult = "h2"; String result = AS7CliUtils.findJdbcDriverUsingModule( "com.h2database.h2", as7Client ); assertEquals( expResult, result ); } }// class