Merge "Add pserver suite and fix host ip in pserver suite"
diff --git a/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh
index 3453f9e..78cc5e0 100755
--- a/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh
+++ b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh
@@ -17,28 +17,62 @@
 # Place the scripts in run order:
 # Start all process required for executing test case
 
-#login to the onap nexus docker repo
-docker login -u docker -p docker nexus3.onap.org:10001
+source ${SCRIPTS}/common_functions.sh
 
-# Start MSB
-docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base
-CONSUL_IP=`get-instance-ip.sh msb_consul`
-echo CONSUL_IP=${CONSUL_IP}
-docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
-DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
-echo DISCOVERY_IP=${DISCOVERY_IP}
-docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
-MSB_IP==`get-instance-ip.sh msb_internal_apigateway`
-echo MSB_IP=${MSB_IP}
 
-# start vfc-vnfres
-docker run -d --name vfc-vnfres -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfres
-VNFRES_IP=`get-instance-ip.sh vfc-vnfres`
+#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 MSB_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 ${VNFRES_IP}:8803 && break
+    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
 
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-vnfres
+docker run -d --name vfc-vnfres -v /var/lib/mysql -e MSB_ADDR=${MSB_DISCOVERY_IP}:10081 nexus3.onap.org:10001/onap/vfc/vnfres
+VNFRES_IP=`get-instance-ip.sh vfc-vnfres`
+
+docker logs -f vfc-vnfres > vfc-vnfres.log &
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${VNFRES_IP}:8802 && break
+    echo sleep $i
+    sleep $i
+done
+cat vfc-vnfres.log
+
+echo "================================================"
+docker cp vfc-vnfres:/service/vfc/gvnfm/vnfres/res/docker/docker-entrypoint.sh ./
+cat docker-entrypoint.sh
+
+echo "================================================"
+docker cp vfc-vnfres:/service/vfc/gvnfm/vnfres/res/docker/instance_config.sh ./
+cat instance_config.sh
+
+echo "================================================"
+docker cp vfc-vnfres:/service/vfc/gvnfm/vnfres/res/docker/instance_init.sh ./
+cat instance_init.sh
+
+echo "================================================"
+docker cp vfc-vnfres:/service/vfc/gvnfm/vnfres/res/docker/instance_run.sh ./
+cat instance_run.sh
+
+#echo "================================================"
+#docker cp vfc-vnfres:/service/vfc/gvnfm/vnfres/res/logs/runtime_res.log ./
+#cat instance_init.sh
+
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v VNFRES_IP:${VNFRES_IP}"
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v VNFRES_IP:${VNFRES_IP}"
diff --git a/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh
index 524a4d8..6374b88 100644
--- a/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh
+++ b/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh
@@ -20,19 +20,32 @@
 #login to the onap nexus docker repo
 docker login -u docker -p docker nexus3.onap.org:10001
 
-# Start MSB
-docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base
+# start msb
+docker run -d -p 8500:8500 --name msb_consul consul
 CONSUL_IP=`get-instance-ip.sh msb_consul`
 echo CONSUL_IP=${CONSUL_IP}
+
 docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
 DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
 echo DISCOVERY_IP=${DISCOVERY_IP}
-docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+
+docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
 MSB_IP==`get-instance-ip.sh msb_internal_apigateway`
 echo MSB_IP=${MSB_IP}
 
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${CONSUL_IP}:8500 && curl -sS -m 1 ${DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Need some time so service info can be synced from discovery to api gateway
+echo sleep 60
+sleep 60
+
 # start vfc-catalog
-docker run -d --name vfc-catalog -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/catalog
+docker run -d --name vfc-catalog -v /var/lib/mysql -e MSB_ADDR=${DISCOVERY_IP}:10081 nexus3.onap.org:10001/onap/vfc/catalog
 CATALOG_IP=`get-instance-ip.sh vfc-catalog`
 for i in {1..10}; do
     curl -sS ${CATALOG_IP}:8806 && break
@@ -41,4 +54,4 @@
 done
 
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v CATALOG_IP:${CATALOG_IP}"
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v CATALOG_IP:${CATALOG_IP} -v MSB_DISCOVERY_IP:${DISCOVERY_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh
new file mode 100644
index 0000000..c5c9f12
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# Licensed 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#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 MSB_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
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-gvnfmdriver
+docker run -d --name vfc-gvnfmdriver -e MSB_ADDR=${MSB_DISCOVERY_IP}:10081 nexus3.onap.org:10001/onap/vfc/gvnfmdriver
+GVNFMDRIVER_IP=`get-instance-ip.sh vfc-gvnfmdriver`
+
+docker logs -f vfc-gvnfmdriver > vfc-gvnfmdriver &
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${GVNFMDRIVER_IP}:8484 && break
+    echo sleep $i
+    sleep $i
+done
+cat vfc-gvnfmdriver.log
+
+echo "================================================"
+docker cp vfc-gvnfmdriver:/service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker/docker-entrypoint.sh ./
+cat docker-entrypoint.sh
+
+echo "================================================"
+docker cp vfc-gvnfmdriver:/service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker/instance_config.sh ./
+cat instance_config.sh
+
+echo "================================================"
+docker cp vfc-gvnfmdriver:/service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker/instance_init.sh ./
+cat instance_init.sh
+
+echo "================================================"
+docker cp vfc-gvnfmdriver:/service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker/instance_run.sh ./
+cat instance_run.sh
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v GVNFMDRIVER_IP:${GVNFMDRIVER_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh
new file mode 100644
index 0000000..a550502
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# Licensed 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh  vfc-gvnfmdriver
+
+# kill-instance.sh vfc-jujudriver
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt
new file mode 100644
index 0000000..7cca2fb
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt
@@ -0,0 +1,6 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+
+vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
+
+# vfc/nfvo-driver-gvnfm/jujudriver.robot
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh
new file mode 100644
index 0000000..de4fbd2
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# Licensed 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#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 MSB_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
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-ztevmanagerdriver
+docker run -d --name vfc-ztevmanagerdriver -e MSB_ADDR=${MSB_DISCOVERY_IP}:10081 nexus3.onap.org:10001/onap/vfc/ztevmanagerdriver
+ZTEVMANAGERDRIVER_IP=`get-instance-ip.sh vfc-ztevmanagerdriver`
+
+docker logs -f vfc-ztevmanagerdriver > vfc-ztevmanagerdriver &
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${ZTEVMANAGERDRIVER_IP}:8410 && break
+    echo sleep $i
+    sleep $i
+done
+cat vfc-ztevmanagerdriver.log
+
+echo "================================================"
+docker cp vfc-ztevmanagerdriver:/service/vfc/nfvo/driver/vnfm/svnfm/zte/vmanager/docker/docker-entrypoint.sh ./
+cat docker-entrypoint.sh
+
+echo "================================================"
+docker cp vfc-ztevmanagerdriver:/service/vfc/nfvo/driver/vnfm/svnfm/zte/vmanager/docker/instance_config.sh ./
+cat instance_config.sh
+
+echo "================================================"
+docker cp vfc-ztevmanagerdriver:/service/vfc/nfvo/driver/vnfm/svnfm/zte/vmanager/docker/instance_init.sh ./
+cat instance_init.sh
+
+echo "================================================"
+docker cp vfc-ztevmanagerdriver:/service/vfc/nfvo/driver/vnfm/svnfm/zte/vmanager/docker/instance_run.sh ./
+cat instance_run.sh
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v ZTEVMANAGERDRIVER_IP:${ZTEVMANAGERDRIVER_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh
new file mode 100644
index 0000000..1020cf1
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# Licensed 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh  vfc-ztevmanagerdriver
+
+# kill-instance.sh vfc-svnfm-huawei
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt
new file mode 100644
index 0000000..e5691f4
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt
@@ -0,0 +1,6 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+
+vfc/nfvo-driver-svnfm/ztevmanager.robot
+
+# vfc/nfvo-driver-svnfm/huawei.robot
diff --git a/test/csit/tests/appc/testsuite/APPC_Netstat.robot b/test/csit/tests/appc/testsuite/APPC_Netstat.robot
new file mode 100644
index 0000000..5544fb5
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/APPC_Netstat.robot
@@ -0,0 +1,19 @@
+*** Settings ***
+Library    SSHLibrary
+Library    OperatingSystem
+*** Variables ***
+${HOST}    104.130.138.49
+${USERNAME}    test            
+${private_key}    H:\\TestSuite\\testsuite\\robot\\testsuites               
+*** Test Cases ***
+APPC Netstat 
+   Open Connection    ${HOST}
+   ${password}=    Get File    ${private_key}
+   Login    ${USERNAME}    ${password}
+   log to console      \nConnected Successfully
+   ${cmd} =    set variable    netstat -a | grep -E '8443 | grep LISTEN
+   execute command     ${cmd}
+       
+Tear Down
+    [Documentation]   Close all connections
+    Close All connections
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
new file mode 100644
index 0000000..c3594ef
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
@@ -0,0 +1,33 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\Healthchk.json
+
+
+*** Test Cases ***
+    
+APPC LCM Health check
+	[Documentation]	APPC HealthCheck 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome
+	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+	
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	
+	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
+	Click Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
+	
+	${HealthChk}=    Get File    ${RequestJSON}
+	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table
+	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea    ${HealthChk}
+	
+	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
+	Click Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
new file mode 100644
index 0000000..997ba17
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
@@ -0,0 +1,31 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    /LearningSamples/Resources/VMRestart.json
+
+
+*** Test Cases ***
+    
+APPC API VM RESTART
+	[Documentation]	APPC VM LCM Restart 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
+	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23"]/div[1]/h3/span[2]/a
+	${VM_LCM_RESTART}     Get File    ${RequestJSON}
+	Input Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/table/tbody/tr/td[2]/textarea     ${VM_LCM_RESTART}
+	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/div[2]/input
+	# Get Text locator
+	${ResponseCode}    Get Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
+	${var}    Get Value    xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
+	Log     Value-->    ${ResponseCode}
+	Log     var-->    ${var}
+	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre     400     expected
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
new file mode 100644
index 0000000..1bb2c13
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
@@ -0,0 +1,45 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\VNFRestart.json
+
+
+*** Test Cases ***
+    
+APPC API VM RESTART
+	[Documentation]	APPC VM LCM Restart 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
+	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+	
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	
+	
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]
+	
+	
+	${VNF_LCM_RESTART}=     Get File    ${RequestJSON}
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table
+	
+	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table//tbody/tr/td[2]/textarea     ${VNF_LCM_RESTART}
+	
+	# Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]/form/div[2]/input    
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
+	
+	# Get Text locator
+	${ResponseCode}    Get Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
+	
+	# //*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')]//following-sibling::div//pre
+	${var}    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
+	Log     Value-->    ${ResponseCode}
+	Log     var-->    ${var}
+	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1]     200     expected
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/cli/startup/startup_check.robot b/test/csit/tests/cli/startup/startup_check.robot
index a104670..053a6d1 100644
--- a/test/csit/tests/cli/startup/startup_check.robot
+++ b/test/csit/tests/cli/startup/startup_check.robot
@@ -20,7 +20,7 @@
     ${cli_cmd_output}=    Run Process   ${cli_exec} --help    shell=yes
     Log    ${cli_cmd_output.stdout}
     Should Be Equal As Strings    ${cli_cmd_output.rc}    0
-    Should Contain    ${cli_cmd_output.stdout}    ONAP Command-line interface
+    Should Contain    ${cli_cmd_output.stdout}    CLI version
 
 Check Cli Version Default
     [Documentation]    check cli default version
diff --git a/test/csit/tests/vfc/gvnfm-vnfres/test.robot b/test/csit/tests/vfc/gvnfm-vnfres/test.robot
index 21ae459..fb87435 100644
--- a/test/csit/tests/vfc/gvnfm-vnfres/test.robot
+++ b/test/csit/tests/vfc/gvnfm-vnfres/test.robot
@@ -9,6 +9,13 @@
 ${queryswagger_url}    /api/vnfres/v1/swagger.json
 
 *** Test Cases ***
-NslcmSwaggerTest
+VnfresSwaggerTest
     [Documentation]    query vnfres swagger info rest test
-    Should Be Equal    2.0    2.0
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VNFRES_IP}:8802    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0
diff --git a/test/csit/tests/vfc/nfvo-catalog/test.robot b/test/csit/tests/vfc/nfvo-catalog/test.robot
index a23128c..99dff9b 100644
--- a/test/csit/tests/vfc/nfvo-catalog/test.robot
+++ b/test/csit/tests/vfc/nfvo-catalog/test.robot
@@ -13,7 +13,7 @@
 *** Test Cases ***
 GetVNFPackages
     ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
-    Create Session        web_session          http://${CATALOG_IP}             headers=${headers}
+    Create Session        web_session          http://${CATALOG_IP}:8806             headers=${headers}
     ${resp}=              Get Request          web_session                      ${queryVNFPackage_url}
     ${responese_code}=    Convert To String    ${resp.status_code}
     List Should Contain Value    ${return_ok_list}   ${responese_code}
diff --git a/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot b/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
new file mode 100644
index 0000000..e7dd612
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/gvnfmdriver/v1/swagger.json
+
+*** Test Cases ***
+VnfresSwaggerTest
+    [Documentation]    query gvnfmdriver swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${GVNFMDRIVER_IP}:8484    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0
diff --git a/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot b/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot
@@ -0,0 +1 @@
+
diff --git a/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
new file mode 100644
index 0000000..3277e77
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
@@ -0,0 +1,16 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     simplejson
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/hwvnfm/v1/swagger.json
+
+*** Test Cases ***
+SwaggerFuncTest
+    [Documentation]    query swagger info rest test
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot b/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot
new file mode 100644
index 0000000..7d7d305
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/ztevmanagerdriver/v1/swagger.json
+
+*** Test Cases ***
+VnfresSwaggerTest
+    [Documentation]    query ztevmanagerdriver swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${ZTEVMANAGERDRIVER_IP}:8410    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0