Merge "CSIT test cases for MSB command integration"
diff --git a/test/csit/plans/cli/sanity-check/setup.sh b/test/csit/plans/cli/sanity-check/setup.sh
index ca18f51..d1d0ab6 100644
--- a/test/csit/plans/cli/sanity-check/setup.sh
+++ b/test/csit/plans/cli/sanity-check/setup.sh
@@ -17,7 +17,30 @@
 # Place the scripts in run order:
 source ${SCRIPTS}/common_functions.sh
 
-# Start auth
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+#Need some time for the initialization of MSB services
+sleep 60
+
+# Start cli
 docker run -d --name cli -e CLI_MODE=daemon nexus3.onap.org:10001/onap/cli:1.1-STAGING-latest
 
 # Wait for cli initialization
@@ -29,4 +52,4 @@
 CLI_IP=`get-instance-ip.sh cli`
 
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CLI_IP:${CLI_IP}"
+ROBOT_VARIABLES="-v CLI_IP:${CLI_IP} -v MSB_IAG_IP:${MSB_IAG_IP}"
diff --git a/test/csit/plans/cli/sanity-check/teardown.sh b/test/csit/plans/cli/sanity-check/teardown.sh
index 70fb6ff..2135d00 100644
--- a/test/csit/plans/cli/sanity-check/teardown.sh
+++ b/test/csit/plans/cli/sanity-check/teardown.sh
@@ -14,4 +14,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-kill-instance.sh cli
\ No newline at end of file
+kill-instance.sh cli msb_consul msb_discovery msb_internal_apigateway
diff --git a/test/csit/tests/cli/startup/startup_check.robot b/test/csit/tests/cli/startup/startup_check.robot
index 053a6d1..5c0bf8b 100644
--- a/test/csit/tests/cli/startup/startup_check.robot
+++ b/test/csit/tests/cli/startup/startup_check.robot
@@ -5,9 +5,18 @@
 *** Variables ***
 
 ${cli_exec}    docker exec cli onap
-${cli_exec_onap_11}    docker exec -e CLI_PRODUCT_VERSION=onap-1.1 onap
-${cli_exec_onap_10}    docker exec -e CLI_PRODUCT_VERSION=onap-1.0 onap
-${cli_exec_cli_10}    docker exec -e CLI_PRODUCT_VERSION=cli-1.0 onap
+${cli_exec_cli_10_help}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap --help"
+${cli_exec_cli_10_version}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap --version"
+${cli_exec_cli_10_schema_refresh}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap schema-refresh"
+${cli_exec_cli_10_schema_validate}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap schema-validate -i -l schema-refresh.yaml"
+${cli_exec_cli_10_schema_validate_invalid}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap schema-validate -i -l invalid-yaml-path.yaml"
+${cli_exec_cli_10_schema_validate_empty}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=cli-1.0 && onap schema-validate"
+
+${cli_exec_onap_11}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=onap-1.1 && onap"
+${cli_exec_onap_11_microservice_create}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=onap-1.1 && onap microservice-create --service-name test-service --service-version v1 --service-url /api/test/v1 --host-url http://${MSB_IAG_IP}:80 23.14.15.156 80"
+${cli_exec_onap_11_microservice_list}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=onap-1.1 && onap microservice-list --host-url http://${MSB_IAG_IP}:80 --long"
+${cli_exec_onap_11_microservice_show}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=onap-1.1 && onap microservice-show --service-name test-service --service-version v1 --host-url http://${MSB_IAG_IP}:80"
+${cli_exec_onap_11_microservice_delete}    docker exec cli bash -c "export CLI_PRODUCT_VERSION=onap-1.1 && onap microservice-delete --service-name test-service --service-version v1 --host-url http://${MSB_IAG_IP}:80 --node-ip 23.14.15.156 --node-port 80"
 
 *** Test Cases ***
 Liveness Test
@@ -17,21 +26,21 @@
 
 Check Cli help
     [Documentation]    check cli help command
-    ${cli_cmd_output}=    Run Process   ${cli_exec} --help    shell=yes
+    ${cli_cmd_output}=    Run Process    ${cli_exec_cli_10_help}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    0
     Should Contain    ${cli_cmd_output.stdout}    CLI version
 
 Check Cli Version Default
     [Documentation]    check cli default version
-    ${cli_cmd_output}=    Run Process   ${cli_exec} --version    shell=yes
+    ${cli_cmd_output}=    Run Process   ${cli_exec_cli_10_version}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    0
     Should Contain    ${cli_cmd_output.stdout}    : cli-1.0
 
 Check Cli Scheam Refresh
     [Documentation]    check cli schema-refresh command
-    ${cli_cmd_output}=    Run Process   ${cli_exec} schema-refresh    shell=yes
+    ${cli_cmd_output}=    Run Process   ${cli_exec_cli_10_schema_refresh}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    0
     Should Contain    ${cli_cmd_output.stdout}    sl-no
@@ -42,7 +51,7 @@
 
 Check Cli Schema Validate With Valid Path
     [Documentation]    check cli schema-validate command with valid path
-    ${cli_cmd_output}=    Run Process   ${cli_exec} schema-validate -i -l schema-refresh.yaml    shell=yes
+    ${cli_cmd_output}=    Run Process   ${cli_exec_cli_10_schema_validate}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    0
     Should Contain    ${cli_cmd_output.stdout}    sl-no
@@ -50,18 +59,43 @@
 
 Check Cli Scheam Validate With Invalid Path
     [Documentation]    check cli version
-    ${cli_cmd_output}=    Run Process    ${cli_exec} schema-validate -i -l invalid-yaml-path.yaml    shell=yes
+    ${cli_cmd_output}=    Run Process    ${cli_exec_cli_10_schema_validate_invalid}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    1
     Should Contain    ${cli_cmd_output.stdout}    0x0007
 
 Check Cli Scheam Validate Empty Argument
     [Documentation]    check cli schema validate with empty argument
-    ${cli_cmd_output}=    Run Process    ${cli_exec} schema-validate    shell=yes
+    ${cli_cmd_output}=    Run Process    ${cli_exec_cli_10_schema_validate_empty}    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    1
     Should Contain    ${cli_cmd_output.stdout}    0x0015
 
+Check Cli create microservice
+    [Documentation]    check create microservice
+    ${cli_cmd_output}=    Run Process    ${cli_exec_onap_11_microservice_create}    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+
+Check Cli list microservice
+    [Documentation]    check list microservice
+    ${cli_cmd_output}=    Run Process    ${cli_exec_onap_11_microservice_list}    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+
+Check Cli show microservice
+    [Documentation]    check show microservice
+    ${cli_cmd_output}=    Run Process    ${cli_exec_onap_11_microservice_show}    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+
+Check Cli delete microservice
+    [Documentation]    check delete microservice
+    ${cli_cmd_output}=    Run Process    ${cli_exec_onap_11_microservice_delete}    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+
+
 
 *** Keywords ***
 CheckUrl