airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [07/11] airavata git commit: file for future reference
Date Fri, 27 Jan 2017 20:41:23 GMT
file for future reference


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c0724796
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c0724796
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c0724796

Branch: refs/heads/develop
Commit: c072479683dc11bb5ac28a278a4e5a2d175eeaee
Parents: 6c4ac5a
Author: Ajinkya Dhamnaskar <adhamnas@umail.iu.edu>
Authored: Sun Dec 18 13:50:02 2016 -0500
Committer: Ajinkya Dhamnaskar <adhamnas@umail.iu.edu>
Committed: Sun Dec 18 13:50:02 2016 -0500

----------------------------------------------------------------------
 .../FrameworkBootstrapping.java                 | 636 ++++++++++++++-----
 1 file changed, 490 insertions(+), 146 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c0724796/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
index d3068d8..c11fada 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
@@ -1,146 +1,490 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-package org.apache.airavata.testsuite.multitenantedairavata;
-
-import org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants;
-import org.apache.commons.cli.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.Map;
-
-public class FrameworkBootstrapping {
-    private final static Logger logger = LoggerFactory.getLogger(FrameworkBootstrapping.class);
-    private static boolean runAll = false;
-    private static boolean regApps = false;
-    private static boolean expExec = false;
-    private static TestFrameworkProps properties;
-    private static Map<String, String> tokens;
-    private static ExperimentExecution experimentExecution;
-
-    public static void main(String[] args) {
-        parseArguments(args);
-        try {
-            FrameworkSetup setup = FrameworkSetup.getInstance();
-            properties = setup.getTestFrameworkProps();
-
-            if (runAll){
-                setup.getGatewayRegister().createGateways();
-                logger.info("Gateways created...");
-                setup.getGatewayRegister().registerSSHKeys();
-                logger.info("Registered SSH keys to each gateway...");
-                tokens = readTokens();
-                setup.getComputeResourceRegister().addComputeResources();
-                setup.getComputeResourceRegister().registerGatewayResourceProfile();
-                setup.getApplicationRegister().addApplications();
-                logger.info("Applications registered for each each gateway...");
-                experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens,
properties);
-                experimentExecution.createEchoExperiment();
-//                experimentExecution.createAmberExperiment();
-                experimentExecution.launchExperiments();
-                experimentExecution.monitorExperiments();
-            }else if (regApps){
-                setup.getGatewayRegister().createGateways();
-                logger.info("Gateways created...");
-                System.out.println("Gateways created...");
-                setup.getGatewayRegister().registerSSHKeys();
-                logger.info("Registered SSH keys to each gateway...");
-                System.out.println("Registered SSH keys to each gateway...");
-//                tokens = readTokens();
-                setup.getComputeResourceRegister().addComputeResources();
-                logger.info("Compute resources saved...");
-                System.out.println("Compute resources saved...");
-                setup.getComputeResourceRegister().registerGatewayResourceProfile();
-                logger.info("Gateway Profiles saved...");
-                System.out.println("Gateway Profiles saved...");
-                setup.getApplicationRegister().addApplications();
-                logger.info("Applications registered for each each gateway...");
-            }else if (expExec){
-                tokens = readTokens();
-                experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens,
setup.getTestFrameworkProps());
-//                experimentExecution.createUltrascanExperiment();
-                experimentExecution.createEchoExperiment();
-                experimentExecution.createAmberExperiment();
-                experimentExecution.launchExperiments();
-                experimentExecution.monitorExperiments();
-            }
-        } catch (Exception e) {
-            logger.error("Error occured while set up", e);
-        }
-    }
-
-    public static Map<String, String> readTokens () throws Exception{
-        Map<String, String> tokens = new HashMap<String, String>();
-        String fileLocation = properties.getTokenFileLoc();
-        String fileName = TestFrameworkConstants.CredentialStoreConstants.TOKEN_FILE_NAME;
-        String path = fileLocation + File.separator + fileName;
-        File tokenFile = new File(path);
-        if (tokenFile.exists()){
-            FileInputStream fis = new FileInputStream(tokenFile);
-            //Construct BufferedReader from InputStreamReader
-            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
-
-            String line;
-            while ((line = br.readLine()) != null) {
-                String[] strings = line.split(":");
-                tokens.put(strings[0], strings[1]);
-            }
-            br.close();
-        }else {
-            throw new Exception("Could not find token file.. Please run application registration
step if you haven't run it");
-        }
-        return tokens;
-    }
-
-    public static void parseArguments(String[] args) {
-        try{
-            Options options = new Options();
-
-            options.addOption("regApps", false , "Gateway ID");
-            options.addOption("expExec", false, "Experiment ID");
-            options.addOption("runAll", false, "Do application registration and experiment
execution together");
-
-            CommandLineParser parser = new PosixParser();
-            CommandLine cmd = parser.parse( options, args);
-            if (cmd.getOptions() == null || cmd.getOptions().length == 0){
-                logger.info("You have not specified any options. We assume you need to start
from the scratch...");
-                runAll= true;
-            }
-            if (cmd.hasOption("regApps")){
-                logger.info("Register Applications only...");
-                regApps = true;
-            }else if (cmd.hasOption("expExec")){
-                logger.info("Execute Experiments only...");
-                expExec = true;
-            }else {
-                runAll = true;
-            }
-        } catch (ParseException e) {
-            logger.error("Error while reading command line parameters" , e);
-        }
-    }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements.  See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership.  The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License.  You may obtain a copy of the License at
+// *
+// *   http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied.  See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+//*/
+//
+//package org.apache.airavata.testsuite.multitenantedairavata;
+//
+//import org.apache.airavata.common.exception.AiravataException;
+//import org.apache.airavata.common.exception.ApplicationSettingsException;
+//import org.apache.airavata.common.utils.ApplicationSettings;
+//import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
+//import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
+//import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
+//import org.apache.airavata.model.appcatalog.computeresource.*;
+//import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
+//import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
+//import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference;
+//import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
+//import org.apache.airavata.model.application.io.DataType;
+//import org.apache.airavata.model.application.io.InputDataObjectType;
+//import org.apache.airavata.model.application.io.OutputDataObjectType;
+//import org.apache.airavata.model.data.movement.DataMovementProtocol;
+//import org.apache.airavata.model.data.movement.SecurityProtocol;
+//import org.apache.airavata.model.experiment.ExperimentModel;
+//import org.apache.airavata.model.experiment.UserConfigurationDataModel;
+//import org.apache.airavata.model.parallelism.ApplicationParallelismType;
+//import org.apache.airavata.model.status.ExperimentState;
+//import org.apache.airavata.model.status.ExperimentStatus;
+//import org.apache.airavata.model.workspace.Gateway;
+//import org.apache.airavata.model.workspace.GatewayApprovalStatus;
+//import org.apache.airavata.registry.core.experiment.catalog.model.UserConfigurationData;
+//import org.apache.airavata.testsuite.multitenantedairavata.utils.ApplicationProperties;
+//import org.apache.airavata.testsuite.multitenantedairavata.utils.ComputeResourceProperties;
+//import org.apache.airavata.testsuite.multitenantedairavata.utils.Initialize;
+//import org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants;
+//import org.apache.commons.cli.*;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import java.io.*;
+//import java.lang.reflect.Field;
+//import java.nio.file.Files;
+//import java.nio.file.Paths;
+//import java.util.*;
+//
+//import org.apache.airavata.server.ServerMain;
+//import java.lang.Thread;
+//import org.apache.airavata.gfac.server.GfacServer;
+//import org.apache.airavata.orchestrator.server.OrchestratorServer;
+//import org.testng.Assert;
+//import org.testng.annotations.*;
+//import static org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants.LocalEchoProperties.LocalEchoComputeResource.*;
+//import static org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants.LocalEchoProperties.*;
+//import static org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants.LocalEchoProperties.LocalApplication.*;
+//
+//public class Test {
+//    private final static Logger logger = LoggerFactory.getLogger(Test.class);
+//    private static TestFrameworkProps properties;
+//    private static Map<String, String> tokens;
+//    private static ExperimentExecution experimentExecution;
+//    private FrameworkSetup setup;
+//    private Object lock = new Object();
+//    private String storageResource;
+//    private ComputeResourceProperties computeResourceProperties;
+//    private ApplicationProperties applicationProperties;
+//    private String experimentId;
+////    @BeforeMethod
+////    public void airavataSetup(){
+////        try {
+////                Map<String, String> env = System.getenv();
+////                Class[] classes = Collections.class.getDeclaredClasses();
+////                for(Class cl : classes) {
+////                    if("java.util.Collections$UnmodifiableMap".equals(cl.getName()))
{
+////                        Field field = cl.getDeclaredField("m");
+////                        field.setAccessible(true);
+////                        Object obj = field.get(env);
+////                        Map<String, String> map = (Map<String, String>) obj;
+////                        Map<String, String> home = new HashMap<>();
+////                        home.put("AIRAVATA_HOME", System.getProperty("user.dir") + "/local-exp-resources/");
+////                        map.clear();
+////                        map.putAll(home);
+////                    }
+////
+////            }
+////
+////        }catch (Exception e){}
+////
+////        System.out.print("Starting airavata..........");
+////
+////        String options[] = {"all"};
+//////        try {
+//////            ApplicationSettings.getProperties();
+//////        } catch (ApplicationSettingsException e) {
+//////            e.printStackTrace();
+//////        }
+////
+//////        initialize = new Initialize("appcatalog-derby.sql");
+//////
+//////        initialize.initializeDB();
+////        airavataThread = new Thread(new Runnable() {
+////
+////            @Override
+////            public void run() {
+////                try {
+////                    ServerMain.test(options, lock);
+////
+////                } catch (ParseException e) {
+////                    e.printStackTrace();
+////                } catch (IOException e) {
+////                    e.printStackTrace();
+////                } catch (AiravataException e) {
+////                    e.printStackTrace();
+////                }
+////            }
+////        });
+////        airavataThread.start();
+////
+////        try {
+////            synchronized (lock){
+////                lock.wait();
+////            }
+////        } catch (InterruptedException e) {
+////            e.printStackTrace();
+////        }
+////        //return true;
+////    }
+//
+//    @BeforeTest
+//    public void setupAiravata(){
+//        Process p;
+//        try {
+//            String result = null;
+//            p = Runtime.getRuntime().exec("./startup-airavata.sh");
+//            BufferedReader br = new BufferedReader(
+//                    new InputStreamReader(p.getInputStream()));
+//            while ((result = br.readLine()) != null)
+//                System.out.println(result);
+//            System.out.println ("exit: " + p.exitValue());
+//            Thread.sleep(15000);
+//            setup = FrameworkSetup.getInstance();
+//            properties = setup.getTestFrameworkProps();
+//        } catch (Exception e) {
+//            logger.error("Error occured while set up", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//
+//    @org.testng.annotations.Test(priority=1)
+//    public void testCreateGateways(){
+//        try {
+//            setup.getGatewayRegister().createGateway();
+//            GatewayResourceProfile gatewayResourceProfile = setup.getGatewayRegister().getGatewayResourceProfile();
+//            Assert.assertNotNull(gatewayResourceProfile);
+//            Gateway testGateway = setup.getGatewayRegister().getGateway(properties.getGname());
+//            Assert.assertNotNull(testGateway);
+//            Assert.assertEquals(testGateway.getGatewayName(), properties.getGname());
+//            Assert.assertEquals(testGateway.getDomain(), properties.getGname() + properties.getGdomain());
+//            Assert.assertEquals(testGateway.getGatewayApprovalStatus(), GatewayApprovalStatus.APPROVED);
+//            setup.getGatewayRegister().registerSSHKeys();
+//        } catch (Exception e) {
+//            logger.error("Error occured while testCreateGateways", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//    @org.testng.annotations.Test(priority=2)
+//    public void testComputeResource(){
+//        try {
+//
+//            computeResourceProperties = setup.getComputeResourceRegister().addComputeResources();
+//            Assert.assertNotNull(computeResourceProperties);
+//
+//            ComputeResourceDescription computeResourceDescription = setup.getComputeResourceRegister().getComputeResource(computeResourceProperties.getComputeResourceId());
+//            Assert.assertNotNull(computeResourceDescription.getHostName(), HOST_NAME);
+//            Assert.assertNotNull(computeResourceDescription.getResourceDescription(), HOST_DESC);
+//
+//            LOCALSubmission localSubmission = setup.getComputeResourceRegister().getLocalSubmission(computeResourceProperties.getJobSubmissionId());
+//
+//            Assert.assertEquals(localSubmission.getResourceJobManager().getResourceJobManagerType(),
ResourceJobManagerType.FORK);
+//            Assert.assertEquals(localSubmission.getSecurityProtocol(), SecurityProtocol.LOCAL);
+//            Assert.assertEquals(localSubmission.getResourceJobManager().getPushMonitoringEndpoint(),
null);
+//            Assert.assertEquals(localSubmission.getResourceJobManager().getJobManagerBinPath(),
"");
+//            Assert.assertEquals(localSubmission.getResourceJobManager().getJobManagerCommands().get(JobManagerCommand.SUBMISSION),
JOB_MANAGER_COMMAND);
+//
+//            setup.getComputeResourceRegister().registerGatewayResourceProfile(computeResourceProperties.getComputeResourceId());
+//
+//            ComputeResourcePreference computeResourcePreference = setup.getComputeResourceRegister().getGatewayComputeResourcePreference(properties.getGname(),
computeResourceProperties.getComputeResourceId());
+//
+//            Assert.assertEquals(computeResourcePreference.getAllocationProjectNumber(),
ALLOCATION_PROJECT_NUMBER);
+//            Assert.assertEquals(computeResourcePreference.getPreferredBatchQueue(), BATCH_QUEUE);
+//            Assert.assertEquals(computeResourcePreference.getPreferredDataMovementProtocol(),
DataMovementProtocol.LOCAL);
+//            Assert.assertEquals(computeResourcePreference.getPreferredJobSubmissionProtocol(),
JobSubmissionProtocol.LOCAL);
+//            Assert.assertEquals(computeResourcePreference.getScratchLocation(), TestFrameworkConstants.SCRATCH_LOCATION);
+//            Assert.assertEquals(computeResourcePreference.getLoginUserName(), LOGIN_USER);
+//
+//
+//        } catch (Exception e) {
+//            logger.error("Error occured while testComputeResource", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//
+//    @org.testng.annotations.Test(priority=3)
+//    public void testStorageResource(){
+//        try {
+//
+//            storageResource = setup.getStorageResourceRegister().addStorageResourceResource();;
+//            Assert.assertNotNull(storageResource);
+//
+//            StorageResourceDescription storageResourceDescription = setup.getStorageResourceRegister().getStorageResourceDescription(storageResource);
+//            Assert.assertNotNull(storageResourceDescription.getHostName(), HOST_NAME);
+//            Assert.assertNotNull(storageResourceDescription.getStorageResourceDescription(),
HOST_DESC);
+//
+//            setup.getStorageResourceRegister().registerGatewayStorageProfile(storageResource);
+//
+//            StoragePreference storagePreference = setup.getStorageResourceRegister().getStoragePreference(properties.getGname(),
storageResource);
+//
+//            Assert.assertEquals(storagePreference.getLoginUserName(), LOGIN_USER);
+//            Assert.assertEquals(storagePreference.getFileSystemRootLocation(), TestFrameworkConstants.STORAGE_LOCATION);
+//
+//        } catch (Exception e) {
+//            logger.error("Error occured while testStorageResource", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//
+//
+//    @org.testng.annotations.Test(priority=4)
+//    public void testAddApplication(){
+//        try {
+//
+//            applicationProperties = setup.getApplicationRegister().addApplications();;
+//            Assert.assertNotNull(applicationProperties);
+//
+//            ApplicationModule applicationModule = setup.getApplicationRegister().getApplicationModule(applicationProperties.getApplicationModuleId());
+//            Assert.assertNotNull(applicationModule);
+//            Assert.assertEquals(applicationModule.getAppModuleName(), TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_NAME);
+//            Assert.assertEquals(applicationModule.getAppModuleVersion(), "1.0");
+//            Assert.assertEquals(applicationModule.getAppModuleDescription(), TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_DESCRIPTION);
+//            Assert.assertEquals(applicationModule.getAppModuleName(), TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_NAME);
+//
+//
+//            ApplicationInterfaceDescription applicationInterfaceDescription = setup.getApplicationRegister().getApplicationInterfaceDescription(applicationProperties.getApplicationInterfaceId());
+//            Assert.assertNotNull(applicationInterfaceDescription);
+//            Assert.assertEquals(applicationInterfaceDescription.getApplicationName(), TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_NAME);
+//            Assert.assertEquals(applicationInterfaceDescription.getApplicationDescription(),
TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_DESCRIPTION);
+//
+//            InputDataObjectType input = applicationInterfaceDescription.getApplicationInputs().get(0);
+//            Assert.assertNotNull(input);
+//            Assert.assertEquals(input.getName(), INPUT_NAME);
+//            Assert.assertEquals(input.getValue(), INPUT_VALUE);
+//            Assert.assertEquals(input.getType(), DataType.STRING);
+//            Assert.assertEquals(input.getApplicationArgument(), null);
+//            Assert.assertEquals(input.getInputOrder(), 0);
+//            Assert.assertEquals(input.isIsRequired(), true);
+//            Assert.assertEquals(input.isRequiredToAddedToCommandLine(), true);
+//            Assert.assertEquals(input.isStandardInput(), false);
+//            Assert.assertEquals(input.getUserFriendlyDescription(), INPUT_DESC);
+//            Assert.assertEquals(input.getMetaData(), null);
+//
+//            List<OutputDataObjectType> outputDataObjectTypes = applicationInterfaceDescription.getApplicationOutputs();
+//            Assert.assertNotNull(outputDataObjectTypes.get(0));
+//            Assert.assertEquals(outputDataObjectTypes.get(0).getName(), STDERR_NAME);
+//            Assert.assertEquals(outputDataObjectTypes.get(0).getValue(), STDERR_VALUE);
+//            Assert.assertEquals(outputDataObjectTypes.get(0).getType(), DataType.URI);
+//            Assert.assertEquals(outputDataObjectTypes.get(0).isIsRequired(), true);
+//            Assert.assertEquals(outputDataObjectTypes.get(0).isRequiredToAddedToCommandLine(),
true);
+//            Assert.assertEquals(outputDataObjectTypes.get(0).getApplicationArgument(),
null);
+//
+//
+//            Assert.assertNotNull(outputDataObjectTypes.get(1));
+//            Assert.assertEquals(outputDataObjectTypes.get(1).getName(), STDOUT_NAME);
+//            Assert.assertEquals(outputDataObjectTypes.get(1).getValue(), STDOUT_VALUE);
+//            Assert.assertEquals(outputDataObjectTypes.get(1).getType(), DataType.URI);
+//            Assert.assertEquals(outputDataObjectTypes.get(1).isIsRequired(), true);
+//            Assert.assertEquals(outputDataObjectTypes.get(1).isRequiredToAddedToCommandLine(),
true);
+//            Assert.assertEquals(outputDataObjectTypes.get(1).getApplicationArgument(),
null);
+//
+//
+//
+//            ApplicationDeploymentDescription applicationDeploymentDescription = setup.getApplicationRegister().getApplicationDeploymentDescription(applicationProperties.getApplicationDeployId());
+//            Assert.assertNotNull(applicationDeploymentDescription);
+//
+//            Assert.assertEquals(applicationDeploymentDescription.getExecutablePath(), TestFrameworkConstants.LOCAL_ECHO_JOB_FILE_PATH);
+//            Assert.assertEquals(applicationDeploymentDescription.getParallelism(), ApplicationParallelismType.SERIAL);
+//            Assert.assertEquals(applicationDeploymentDescription.getAppDeploymentDescription(),
TestFrameworkConstants.AppcatalogConstants.LOCAL_ECHO_DESCRIPTION);
+//            Assert.assertEquals(applicationDeploymentDescription.getModuleLoadCmds(), null);
+//            Assert.assertEquals(applicationDeploymentDescription.getPostJobCommands(),
null);
+//            Assert.assertEquals(applicationDeploymentDescription.getPreJobCommands(), null);
+//
+//        } catch (Exception e) {
+//            logger.error("Error occured while testAddApplication", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//    @org.testng.annotations.Test(priority=5)
+//    public void testCreateApplication(){
+//        try {
+//            tokens = readTokens();
+//            experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens,
properties);
+//            experimentId = experimentExecution.createLocalEchoExperiment(properties.getGname(),
applicationProperties.getApplicationInterfaceId(), storageResource, computeResourceProperties.getComputeResourceId());
+//            Assert.assertNotNull(experimentId);
+//
+//            ExperimentModel simpleExperiment = experimentExecution.getExperimentModel(experimentId);
+//            Assert.assertNotNull(simpleExperiment);
+//            UserConfigurationDataModel userConfigurationData= simpleExperiment.getUserConfigurationData();
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
computeResourceProperties.getComputeResourceId());
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getTotalCPUCount(),
4);
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getNodeCount(),
1);
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getNumberOfThreads(),
1);
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getQueueName(),
"cpu");
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getWallTimeLimit(),
20);
+//            Assert.assertEquals(userConfigurationData.getComputationalResourceScheduling().getTotalPhysicalMemory(),
0);
+//
+//            Assert.assertEquals(userConfigurationData.isAiravataAutoSchedule(), false);
+//            Assert.assertEquals(userConfigurationData.isOverrideManualScheduledParams(),
false);
+//            Assert.assertEquals(userConfigurationData.getStorageId(), storageResource);
+//            Assert.assertEquals(userConfigurationData.getExperimentDataDir(), TestFrameworkConstants.STORAGE_LOCATION);
+//
+//
+//        } catch (Exception e) {
+//            logger.error("Error occured while testCreateApplication", e);
+//            Assert.fail();
+//        }
+//    }
+//
+//    @org.testng.annotations.Test(priority=6)
+//    public void testLaunchExperiment(){
+//        try {
+//            experimentExecution.launchExperiments(properties.getGname(), experimentId);
+//            experimentExecution.monitorExperiments(lock);
+//            ExperimentStatus experimentStatus = experimentExecution.getExperimentStatus(experimentId);
+//            while(!experimentStatus.getState().equals(ExperimentState.COMPLETED) &&
!experimentStatus.getState().equals(ExperimentState.FAILED)){
+//                experimentStatus = experimentExecution.getExperimentStatus(experimentId);
+//                System.out.print(experimentStatus);
+//            }
+//            if(experimentStatus.getState().equals(ExperimentState.COMPLETED)){
+//                Assert.assertEquals(new String(Files.readAllBytes(Paths.get(TestFrameworkConstants.STORAGE_LOCATION
+"stdout.txt"))), LOCAL_ECHO_EXPERIMENT_INPUT);
+//
+//            }
+//        } catch (Exception e) {
+//            logger.error("Error occured while testLaunchExperiment", e);
+//            Assert.fail();
+//        }
+//    }
+//
+////    @org.testng.annotations.Test
+////    public void executeExperiment(){
+////        System.out.print("Executing local test suit..........");
+////        String options[] = {"all"};
+////        try {
+//////            FrameworkSetup setup = FrameworkSetup.getInstance();
+//////            properties = setup.getTestFrameworkProps();
+////
+////            setup.getGatewayRegister().createGateway();
+////            logger.info("Gateways created...");
+////            setup.getGatewayRegister().registerSSHKeys();
+////            logger.info("Registered SSH keys to each gateway...");
+////            tokens = readTokens();
+////            setup.getComputeResourceRegister().addComputeResources();
+////            setup.getComputeResourceRegister().registerGatewayResourceProfile();
+////
+////            setup.getStorageResourceRegister().addStorageResourceResource();
+////            setup.getStorageResourceRegister().registerGatewayStorageProfile();
+////
+////            setup.getApplicationRegister().addApplications();
+////            logger.info("Applications registered for each each gateway...");
+////            experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens,
properties);
+////            experimentExecution.createLocalEchoExperiment();
+////            experimentExecution.launchExperiments();
+////            experimentExecution.monitorExperiments(lock);
+////            synchronized (lock){
+////                lock.wait();
+////            }
+////            //cleanUp();
+////
+////        } catch (Exception e) {
+////            logger.error("Error occured while set up", e);
+////        }
+////    }
+//
+//    @AfterTest
+//    private void cleanUp(){
+//        System.out.print("Stopping airavata..........");
+//        String options[] = {"stop"};
+//        Process p;
+//        try {
+//
+//            String result = null;
+//            p = Runtime.getRuntime().exec("base-airavata/apache-airavata-server-0.17-SNAPSHOT/bin/airavata-server-stop.sh
-f");
+//            BufferedReader br = new BufferedReader(
+//                    new InputStreamReader(p.getInputStream()));
+//            while ((result = br.readLine()) != null)
+//                System.out.println("line: " + result);
+//            p.waitFor();
+//            System.out.println ("exit: " + p.exitValue());
+//            p.destroy();
+//        } catch (Exception e) {
+//            logger.error("Error occured while cleanup", e);
+//            Assert.fail();
+//        }
+//
+//    }
+//
+////    @AfterTest
+////    private void cleanUp(){
+////        System.out.print("Stopping airavata..........");
+////        String options[] = {"stop"};
+////        try {
+////            ServerMain.test(options, null);
+////            Process p;
+////            try {
+////                List<String> s = new ArrayList<String>();
+////                String result = null;
+////                p = Runtime.getRuntime().exec("find . -name server_start_*");
+////                BufferedReader br = new BufferedReader(
+////                        new InputStreamReader(p.getInputStream()));
+////                while ((result = br.readLine()) != null)
+////                    s.add(result);
+////                for(String st : s){
+////                    p = Runtime.getRuntime().exec("rm -rf " + st);
+////                    br = new BufferedReader(
+////                            new InputStreamReader(p.getInputStream()));
+////                    while ((result = br.readLine()) != null)
+////                        System.out.println("line: " + result);
+////                    String proc= st.substring(st.lastIndexOf("_") + 1);
+////                    p = Runtime.getRuntime().exec("kill -9 " + proc);
+////                    br = new BufferedReader(
+////                            new InputStreamReader(p.getInputStream()));
+////                    while ((result = br.readLine()) != null)
+////                        System.out.println("line: " + result);
+////                }
+////                p.waitFor();
+////                System.out.println ("exit: " + p.exitValue());
+////                p.destroy();
+////                initialize.stopDerbyServer();
+////            } catch (Exception e) {}
+////
+////        } catch (ParseException e) {
+////            e.printStackTrace();
+////        } catch (IOException e) {
+////            e.printStackTrace();
+////        } catch (AiravataException e) {
+////            e.printStackTrace();
+////        }
+////    }
+//
+//    public Map<String, String> readTokens () throws Exception{
+//        Map<String, String> tokens = new HashMap<String, String>();
+//        String fileLocation = properties.getTokenFileLoc();
+//        String fileName = TestFrameworkConstants.CredentialStoreConstants.TOKEN_FILE_NAME;
+//        String path = fileLocation + File.separator + fileName;
+//        File tokenFile = new File(path);
+//        if (tokenFile.exists()){
+//            FileInputStream fis = new FileInputStream(tokenFile);
+//            //Construct BufferedReader from InputStreamReader
+//            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
+//
+//            String line;
+//            while ((line = br.readLine()) != null) {
+//                String[] strings = line.split(":");
+//                tokens.put(strings[0], strings[1]);
+//            }
+//            br.close();
+//        }else {
+//            throw new Exception("Could not find token file.. Please run application registration
step if you haven't run it");
+//        }
+//        return tokens;
+//    }
+//}


Mime
View raw message