Search in sources :

Example 41 with ParameterMap

use of org.glassfish.api.admin.ParameterMap in project Payara by payara.

the class ListJdbcResourcesTest method testExecuteSuccessListNoBob.

/**
 * Test of execute method, of class ListJdbcResource.
 * delete-jdbc-resource bob
 * list-jdbc-resources
 */
@Test
public void testExecuteSuccessListNoBob() {
    // Create JDBC Resource bob
    assertTrue(resources != null);
    // Get an instance of the CreateJdbcResource command
    createCommand = habitat.getService(CreateJdbcResource.class);
    assertTrue(createCommand != null);
    parameters.add("connectionpoolid", "DerbyPool");
    parameters.add("DEFAULT", "bob2");
    context = new AdminCommandContextImpl(LogDomains.getLogger(ListJdbcResourcesTest.class, LogDomains.ADMIN_LOGGER), new PropsFileActionReporter());
    cr.getCommandInvocation("create-jdbc-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(createCommand);
    assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
    // Delete JDBC Resource bob
    // assertTrue(resources!=null);
    // Get an instance of the CreateJdbcResource command
    deleteCommand = habitat.getService(DeleteJdbcResource.class);
    assertTrue(deleteCommand != null);
    parameters = new ParameterMap();
    parameters.add("DEFAULT", "bob2");
    cr.getCommandInvocation("delete-jdbc-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
    assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
    // List JDBC Resources and check if bob is in the list
    // Get an instance of the ListJdbcResources command
    listCommand = habitat.getService(ListJdbcResources.class);
    parameters = new ParameterMap();
    context = new AdminCommandContextImpl(LogDomains.getLogger(ListJdbcResourcesTest.class, LogDomains.ADMIN_LOGGER), new PropsFileActionReporter());
    // Call CommandRunnerImpl.doCommand(..) to execute the command
    cr.getCommandInvocation("list-jdbc-resources", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
    List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
    int numResources = 0;
    for (Resource resource : resources.getResources()) {
        if (resource instanceof JdbcResource) {
            numResources = numResources + 1;
        }
    }
    assertEquals(numResources, list.size());
    List<String> listStr = new java.util.ArrayList();
    for (MessagePart mp : list) {
        listStr.add(mp.getMessage());
    }
    assertFalse(listStr.contains("bob2"));
    // Check the exit code is SUCCESS
    assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
}
Also used : JdbcResource(org.glassfish.jdbc.config.JdbcResource) MessagePart(org.glassfish.api.ActionReport.MessagePart) JdbcResource(org.glassfish.jdbc.config.JdbcResource) Resource(com.sun.enterprise.config.serverbeans.Resource) ParameterMap(org.glassfish.api.admin.ParameterMap) PropsFileActionReporter(com.sun.enterprise.v3.common.PropsFileActionReporter) AdminCommandContextImpl(org.glassfish.api.admin.AdminCommandContextImpl) Test(org.junit.Test) ConfigApiTest(org.glassfish.tests.utils.ConfigApiTest)

Example 42 with ParameterMap

use of org.glassfish.api.admin.ParameterMap in project Payara by payara.

the class BasicbookstoreDnsPaasTest method deleteSharedLbandDNSexternalSerivce.

/*Delete shared LB service*/
private void deleteSharedLbandDNSexternalSerivce() {
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    // Try stopping a shared service, referenced by the app. Should 'FAIL'
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("delete-shared-service", report);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", "hudson-shared-lb-service");
    invocation.parameters(parameterMap).execute();
    Assert.assertFalse(report.hasFailures());
    invocation = commandRunner.getCommandInvocation("delete-external-service", report);
    parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", "hudson-dns-external-services");
    invocation.parameters(parameterMap).execute();
    Assert.assertFalse(report.hasFailures());
}
Also used : ServiceLocator(org.glassfish.hk2.api.ServiceLocator) ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) CommandRunner(org.glassfish.embeddable.CommandRunner)

Example 43 with ParameterMap

use of org.glassfish.api.admin.ParameterMap in project Payara by payara.

the class BasicServiceDiscoveryPaaSTest method testGenerateGFDeploymentPlan.

// Test CLI '_generate-glassfish-services-deployment-plan'
private void testGenerateGFDeploymentPlan(File archive) {
    // Execute the '_get-service-metadata' command and obtain the SDs. Change the configuration of one of the SD.
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("_get-service-metadata", report);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", System.getProperty("basedir") + "/target/basic_sd_paas_sample.war");
    boolean testPassed = false;
    invocation.parameters(parameterMap).execute();
    String newDBname = "UserDB";
    String newSQLFilename = "User.sql";
    String DATABASE_NAME_PROP = "database.name";
    String SQL_FILE_PROP = "database.init.sql";
    List<Map<String, Object>> serviceDescList = (List<Map<String, Object>>) report.getExtraProperties().get("list");
    for (Map<String, Object> serviceDescMap : serviceDescList) {
        if ("db-service".equals(serviceDescMap.get("name"))) {
            int index = serviceDescList.indexOf(serviceDescMap);
            Map<String, String> configurations = (Map<String, String>) serviceDescMap.get("configurations");
            configurations.put(DATABASE_NAME_PROP, newDBname);
            configurations.put(SQL_FILE_PROP, newSQLFilename);
            serviceDescMap.put("configurations", configurations);
            break;
        }
    }
    String modifiedServiceDesc = JSONUtil.javaToJSON(serviceDescList, 10);
    // System.out.println("Modified service description:: "+modifiedServiceDesc);
    parameterMap = new ParameterMap();
    parameterMap.add("archive", System.getProperty("basedir") + "/target/basic_sd_paas_sample.war");
    parameterMap.add("modifiedServiceDesc", modifiedServiceDesc);
    report = habitat.getService(ActionReport.class);
    invocation = commandRunner.getCommandInvocation("_generate-glassfish-services-deployment-plan", report);
    invocation.parameters(parameterMap).execute();
    String jarFilePath = (String) report.getExtraProperties().get("deployment-plan-file-path");
    report = habitat.getService(ActionReport.class);
    invocation = commandRunner.getCommandInvocation("undeploy", report);
    parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", "basic_sd_paas_sample");
    invocation.parameters(parameterMap).execute();
    Assert.assertFalse(report.hasFailures());
    invocation = commandRunner.getCommandInvocation("deploy", report);
    parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", System.getProperty("basedir") + "/target/basic_sd_paas_sample.war");
    parameterMap.add("deploymentplan", jarFilePath);
    invocation.parameters(parameterMap).execute();
    System.out.println("App deployed with new plan ::" + !report.hasFailures());
    String appname = "basic_sd_paas_sample";
    String servicename = "db-service";
    parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", servicename);
    parameterMap.add("appname", appname);
    invocation = commandRunner.getCommandInvocation("_get-service-description", report);
    invocation.parameters(parameterMap).execute();
    Map<String, Object> SDMap = (Map<String, Object>) report.getExtraProperties().get("list");
    Map<String, String> serviceConfigurationsMap = (Map<String, String>) SDMap.get("configurations");
    String sql_filename = serviceConfigurationsMap.get(SQL_FILE_PROP);
    String db_name = serviceConfigurationsMap.get(DATABASE_NAME_PROP);
    if (newSQLFilename.equals(sql_filename) && newDBname.equals(db_name)) {
        testPassed = true;
    }
    System.out.println("CLI _generate-glassfish-services-deployment-plan passed " + testPassed);
    Assert.assertTrue(testPassed);
}
Also used : ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) ServiceLocator(org.glassfish.hk2.api.ServiceLocator) List(java.util.List) CommandRunner(org.glassfish.embeddable.CommandRunner) ParameterMap(org.glassfish.api.admin.ParameterMap) Map(java.util.Map)

Example 44 with ParameterMap

use of org.glassfish.api.admin.ParameterMap in project Payara by payara.

the class BasicServiceDiscoveryPaaSTest method testGetServiceMetadata.

// Test for CLI : '_get-service-metadata''
/*
        The war file contains the following service definition and service reference
          1.In glassfish-services.xml
        <glassfish-services>
            <service-description name="basic-db" init-type="lazy">
                <characteristics><characteristic name="service-type" value="JavaEE"/></characteristics>
                <configurations>
                    <configuration name="min.clustersize" value="1"/>
                    <configuration name="max.clustersize" value="2"/>
                </configurations>
            </service-description>
         </glassfish-services>
         <service-description name="db-service" init-type="lazy">
        <characteristics>
            <characteristic name="service-type" value="Database"/>
        </characteristics>
        <configurations>
            <configuration name="database.name" value=""/>
            <configuration name="database.init.sql" value=""/>
        </configurations>
    </service-description>

         2.In web.xml
         <resource-ref>
                <res-ref-name>jdbc/__basic_db_paas_sample</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
         </resource-ref>
     */
private void testGetServiceMetadata(File archive) {
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("_get-service-metadata", report);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", System.getProperty("basedir") + "/target/basic_sd_paas_sample.war");
    boolean testPassed = false;
    invocation.parameters(parameterMap).execute();
    testPassed = !report.hasFailures();
    String appName = "basic_sd_paas_sample";
    String serviceName = "basic-sd";
    testGetServiceDescription(appName, serviceName);
    List<Map<String, Object>> serviceDescList = (List<Map<String, Object>>) report.getExtraProperties().get("list");
    Map<String, Object> serviceDescMap = serviceDescList.get(1);
    serviceName = (String) serviceDescMap.get("name");
    String init_type = (String) serviceDescMap.get("init-type");
    Map<String, String> svcCharacteristicMap = (Map<String, String>) serviceDescMap.get("characteristics");
    String serviceType = (String) svcCharacteristicMap.get("service-type");
    Map<String, String> svcConfigurationMap = (Map<String, String>) serviceDescMap.get("configurations");
    if (serviceName.equalsIgnoreCase("db-service")) {
        if ("lazy".equalsIgnoreCase(init_type)) {
            if ("Database".equals(serviceType)) {
                Map<String, String> serviceConfigurationsMap = (Map<String, String>) serviceDescMap.get("configurations");
                if (serviceConfigurationsMap.containsKey("database.init.sql") && serviceConfigurationsMap.containsKey("database.name")) {
                    testPassed = true;
                }
            }
        }
    }
    System.out.println("CLI 'get-service-metadata' test passed? :: " + testPassed);
    Assert.assertTrue(testPassed);
}
Also used : ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) ServiceLocator(org.glassfish.hk2.api.ServiceLocator) List(java.util.List) CommandRunner(org.glassfish.embeddable.CommandRunner) ParameterMap(org.glassfish.api.admin.ParameterMap) Map(java.util.Map)

Example 45 with ParameterMap

use of org.glassfish.api.admin.ParameterMap in project Payara by payara.

the class BasicServiceDiscoveryPaaSTest method testGetServiceDescription.

// Test for CLI : '_get-service-description''
private void testGetServiceDescription(String appName, String serviceName) {
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("appname", appName);
    parameterMap.add("DEFAULT", serviceName);
    boolean testPassed = false;
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("_get-service-description", report);
    invocation.parameters(parameterMap).execute();
    Map<String, Object> SDMap = (Map<String, Object>) report.getExtraProperties().get("list");
    if (serviceName.equalsIgnoreCase((String) SDMap.get("name"))) {
        if ("lazy".equalsIgnoreCase((String) SDMap.get("init-type"))) {
            Map<String, String> serviceCharacteristicsMap = (Map<String, String>) SDMap.get("characteristics");
            if ("JavaEE".equals(serviceCharacteristicsMap.get("service-type"))) {
                Map<String, String> serviceConfigurationsMap = (Map<String, String>) SDMap.get("configurations");
                String minclustersize = serviceConfigurationsMap.get("min.clustersize");
                String maxclustersize = serviceConfigurationsMap.get("max.clustersize");
                if (Integer.parseInt(minclustersize) == 1 && Integer.parseInt(maxclustersize) == 2) {
                    testPassed = true;
                }
            }
        }
    }
    System.out.println("CLI 'get-service-description' test passed? :: " + testPassed);
    Assert.assertTrue(testPassed);
}
Also used : ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) ServiceLocator(org.glassfish.hk2.api.ServiceLocator) CommandRunner(org.glassfish.embeddable.CommandRunner) ParameterMap(org.glassfish.api.admin.ParameterMap) Map(java.util.Map)

Aggregations

ParameterMap (org.glassfish.api.admin.ParameterMap)149 ActionReport (org.glassfish.api.ActionReport)68 CommandRunner (org.glassfish.api.admin.CommandRunner)37 Test (org.junit.Test)25 ServiceLocator (org.glassfish.hk2.api.ServiceLocator)24 Map (java.util.Map)20 PropsFileActionReporter (com.sun.enterprise.v3.common.PropsFileActionReporter)19 AdminCommandContextImpl (org.glassfish.api.admin.AdminCommandContextImpl)18 List (java.util.List)16 ArrayList (java.util.ArrayList)15 CommandRunner (org.glassfish.embeddable.CommandRunner)15 IOException (java.io.IOException)14 ConfigApiTest (org.glassfish.tests.utils.ConfigApiTest)13 Before (org.junit.Before)13 TransactionFailure (org.jvnet.hk2.config.TransactionFailure)13 CommandException (org.glassfish.api.admin.CommandException)12 File (java.io.File)11 MessagePart (org.glassfish.api.ActionReport.MessagePart)11 Resource (com.sun.enterprise.config.serverbeans.Resource)10 Logger (java.util.logging.Logger)9