diff --git a/test/csit/plans/appc/healthcheck/bundle_query.sh b/test/csit/plans/appc/healthcheck/bundle_query.sh
index 45a92ea..5b1a99d 100755
--- a/test/csit/plans/appc/healthcheck/bundle_query.sh
+++ b/test/csit/plans/appc/healthcheck/bundle_query.sh
@@ -19,7 +19,8 @@
 
 
 num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
-num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+#num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Nothing | wc -l)
 failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure)
 
 echo "There are $num_failed_bundles failed bundles out of $num_bundles installed bundles."
diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index 8288a18..d47bbc5 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -24,7 +24,7 @@
 export NEXUS_PASSWD=docker
 export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
 export DMAAP_TOPIC=AUTO
-export APPC_DOCKER_IMAGE_VERSION=1.2-STAGING-latest
+export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest
 export CCSDK_DOCKER_IMAGE_VERSION=0.1-STAGING-latest
 
 export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
@@ -43,8 +43,8 @@
 cd $WORKSPACE/archives/appc/docker-compose
 sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="$DMAAP_TOPIC"/g" docker-compose.yml
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
-docker pull $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION
-docker tag $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION openecomp/appc-image:latest
+docker pull $NEXUS_DOCKER_REPO/onap/appc-image:$APPC_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/appc-image:$APPC_DOCKER_IMAGE_VERSION onap/appc-image:latest
 docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION
 docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
 # start APPC containers with docker compose and configuration from docker-compose.yml
diff --git a/test/csit/plans/appc/healthcheck/testplan.txt b/test/csit/plans/appc/healthcheck/testplan.txt
index fbf2319..2a8c1ea 100644
--- a/test/csit/plans/appc/healthcheck/testplan.txt
+++ b/test/csit/plans/appc/healthcheck/testplan.txt
@@ -1,5 +1,4 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
 appc/healthcheck
-#appc/testsuite
 
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh b/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh
new file mode 100755
index 0000000..45a92ea
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env 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.
+###############################################################################
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo $SCRIPTS
+
+
+num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure)
+
+echo "There are $num_failed_bundles failed bundles out of $num_bundles installed bundles."
+
+if [ "$num_failed_bundles" -ge 1 ] || [ "$num_bundles" == "" ]; then
+  echo "There are $num_bundles bundles with $num_failed_bundles in a failed state. "
+  echo "The following bundle(s) are in a failed state: "
+  echo "  $failed_bundles"
+  exit 1;
+fi
+
+exit 0
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/db_query.sh b/test/csit/plans/appc/healthcheck_amsterdam/db_query.sh
new file mode 100755
index 0000000..70829a1
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/db_query.sh
@@ -0,0 +1,66 @@
+#!/usr/bin/env 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.
+###############################################################################
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo $SCRIPTS
+
+sdnctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l)
+
+appcctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D appcctl -u appcctl -pappcctl <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l)
+
+
+
+docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"show tables" 2>/dev/null | ( while read table_name; do 
+export $table_name="$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"select count(*) from $table_name" 2>/dev/null)"
+done 
+
+if [ "$sdnctl_num_tables" -ge "1" ]; then
+  echo "There are $sdnctl_num_tables tables in the sdnctl database. "
+else
+  echo "Database sdnctl is not available."
+  exit 1;
+fi
+
+if [ "$appcctl_num_tables" -ge "1" ]; then
+  echo "There is $appcctl_num_tables table in the appcctl database. "
+else
+  echo "Database appcctl is not available."
+  exit 1;
+fi
+
+#if [ "$NODE_TYPES" -eq "0" ]; then
+#  echo "There is no data in table NODE_TYPES. "
+#  exit 1;
+#fi
+
+#if [ "$SVC_LOGIC" -eq "0" ] ; then
+#  echo "There is no data in table SVC_LOGIC. "
+#  exit 1;
+#fi
+
+#if [ "$VNF_DG_MAPPING" -eq "0" ]; then
+#  echo "There is no data in table VNF_DG_MAPPING. "
+#  exit 1;
+#fi 
+
+echo "Expected table data is present."
+exit 0 )
+
+if [ "$?" -eq "1" ]; then
+  exit 1;
+fi
+
+exit 0
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/health_check.sh b/test/csit/plans/appc/healthcheck_amsterdam/health_check.sh
new file mode 100755
index 0000000..63e0b17
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/health_check.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env 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.
+###############################################################################
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo $SCRIPTS
+
+response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-appc" -H "X-TransactionId: csit-appc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck )
+
+if [ "$response" == "200" ]; then
+    echo "APPC health check passed."
+    exit 0;
+fi
+
+echo "APPC health check failed with response code ${response}."
+exit 1
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/setup.sh b/test/csit/plans/appc/healthcheck_amsterdam/setup.sh
new file mode 100755
index 0000000..f5a579e
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/setup.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# Copyright 2016-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.
+#
+# Modifications copyright (c) 2017 AT&T Intellectual Property
+#
+# Place the scripts in run order:
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source ${WORKSPACE}/test/csit/scripts/appc/script1.sh
+
+export NEXUS_USERNAME=docker
+export NEXUS_PASSWD=docker
+export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
+export DMAAP_TOPIC=AUTO
+export APPC_DOCKER_IMAGE_VERSION=v1.2.0
+export CCSDK_DOCKER_IMAGE_VERSION=v0.1.0
+
+export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
+
+if [ "$MTU" == "" ]; then
+	  export MTU="1450"
+fi
+
+
+# Clone APPC repo to get docker-compose for APPC
+mkdir -p $WORKSPACE/archives/appc
+cd $WORKSPACE/archives
+git clone -b amsterdam --single-branch http://gerrit.onap.org/r/appc/deployment.git appc
+cd $WORKSPACE/archives/appc
+git pull
+cd $WORKSPACE/archives/appc/docker-compose
+sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="$DMAAP_TOPIC"/g" docker-compose.yml
+docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+docker pull $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION openecomp/appc-image:latest
+docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
+# start APPC containers with docker compose and configuration from docker-compose.yml
+docker-compose up -d
+# WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API
+TIME_OUT=2000
+INTERVAL=30
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+
+startODL_status=$(docker exec appc_controller_container ps -e | grep startODL | wc -l)
+waiting_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Waiting | wc -l)
+run_level=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+
+  if [ "$run_level" == "Level 100" ] && [ "$startODL_status" -lt "1" ] && [ "$waiting_bundles" -lt "1" ] ; then
+    echo APPC started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if APPC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+  sleep $INTERVAL
+  TIME=$(($TIME+$INTERVAL))
+done
+
+if [ "$TIME" -ge "$TIME_OUT" ]; then
+  echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for testing activities...
+fi
+
+sleep 300
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh b/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh
new file mode 100755
index 0000000..357ead8
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright 2016-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.
+#
+# Modifications copyright (c) 2017 AT&T Intellectual Property
+#
+
+kill-instance.sh appc_controller_container
+kill-instance.sh sdnc_dgbuilder_container
+kill-instance.sh sdnc_db_container
+
+# $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt b/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt
new file mode 100644
index 0000000..0f78b17
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+appc/healthcheck_amsterdam
+
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot b/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot
new file mode 100644
index 0000000..b869434
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot
@@ -0,0 +1,10 @@
+*** Settings ***
+Documentation        store all properties that can change or are used in multiple places here
+...                    format is all caps with underscores between words and prepended with GLOBAL
+...                   make sure you prepend them with GLOBAL so that other files can easily see it is from this file.
+
+
+*** Variables ***
+${GLOBAL_VNF_RESTART_REQUESTFILE}    ${CURDIR}/LCM_VNF_RESTART_REQUEST.txt
+${GLOBAL_VM_RESTART_REQUESTFILE}     ${CURDIR}/LCM_VM_RESTART_REQUEST.txt
+${GLOBAL_HEALTHCHECK_REQUESTFILE}    ${CURDIR}/LCM_VM_HEALTHCHECK_REQUEST.txt
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot b/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot
new file mode 100644
index 0000000..285fc37
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot
@@ -0,0 +1,8 @@
+*** Settings ***
+Library    OperatingSystem
+
+*** Test Cases ***
+APPC Netstat
+    [Documentation]    Checking the active ports
+    ${output}=     Run	netstat -a | grep -E 8282 | grep LISTEN
+    Log To Console    ${output}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot
new file mode 100644
index 0000000..2259f3f
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot
@@ -0,0 +1,52 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library    XvfbRobot
+Resource    APPC_GLOBAL_VARIABLES.robot
+Resource    gettime.robot
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+    
+APPC LCM API HEALTHCHECK
+	[Documentation]	APPC LCM API HEALTHCHECK 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html	chrome
+	Maximize Browser Window 
+#	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
+
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]   
+
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+	
+#	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')]
+#	Set Selenium Speed	60
+#	Click link    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]/following::li[5]/ul/li/div[1]/h3/span[2]/a
+#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0"]/div[1]/h3/span[2]/a
+	
+#	Get Server time    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
+#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
+    
+#	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
+#	Set Selenium Speed	90
+#	Input Text     xpath=(.//*[contains(text(),'(health-check)input-TOP')])[1]/following::textarea[1]	${file_content} 
+#	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    ${file_content}
+	
+#	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]
+#	Set Selenium Speed	90
+#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/form/div[2]/input
+	
+##	${var}=    Get Value    xpath= //*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre
+##	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre[1][text()='200']     200     expected
+	
+Tear Down
+
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt
new file mode 100644
index 0000000..d258b49
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt
@@ -0,0 +1,25 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-10-07T01:28:39.615000Z",
+"api-ver" : "2.00",
+"originator-id" : "SDNGP",
+"request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
+"sub-request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
+"flags" : 
+{
+"mode" : "NORMAL",
+"force" : "TRUE",
+"ttl" : 3600
+}
+},
+"action" : "HealthCheck",
+"action-identifiers" : 
+{
+"vnf-id" : "dbax001v"
+},
+"payload" : "{\"request-parameters\":{\"vnf-name\":\"dbax001v\",\"vnf-host-ip-address\":\"https://135.205.240.68:8080/Dispatch/\"},\"configuration-parameters\":{\"vnf_instance\":\"dbax001v\"}}"
+}
+}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt
new file mode 100644
index 0000000..5e199c9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt
@@ -0,0 +1,24 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-09-29T16:30:05.44Z",
+"api-ver" : "2.01",
+"originator-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
+"request-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
+"sub-request-id" : "150",
+"flags" : 
+{
+"force" : "TRUE",
+"ttl" : 60000
+}
+},
+"action" : "Restart",
+"action-identifiers" : 
+{
+"vnf-id" : "trial-vnf-004"
+},
+"payload" : "{\"vm-id\":\"http://135.25.246.131:8774/v2/81fc2bc61f974de1b5a49e8c2ec090bb/servers/7c95ba81-4aad-4b13-9e94-d6af4f2b06be\",\"identity-url\":\"http://135.25.246.131:5000/v2.0\",\"tenant-id\":\"81fc2bc61f974de1b5a49e8c2ec090bb\"}"
+}
+}
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot
new file mode 100644
index 0000000..768865f
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot
@@ -0,0 +1,47 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library     XvfbRobot
+Resource    APPC_GLOBAL_VARIABLES.robot
+Resource    gettime.robot
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+APPC LCM API VM RESTART
+	[Documentation]	APPC LCM API VM RESTART 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
+	Maximize Browser Window
+#	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
+	
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+#	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')]        
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
+	
+#   Get Server time    ${GLOBAL_VM_RESTART_REQUESTFILE}   
+   
+#   ${file_content}=    OperatingSystem.Get File    ${GLOBAL_VM_RESTART_REQUESTFILE}
+    
+#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
+#	Set Selenium Speed	90
+#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
+#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
+
+#	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]
+	
+#	${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
+#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
+	
+	 
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt
new file mode 100644
index 0000000..ee9b8d9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt
@@ -0,0 +1,24 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-10-07T01:39:54.227000Z",
+"api-ver" : "2.00",
+"originator-id" : "c09ac7d1-de62-0016-2000-e63702155555",
+"request-id" : "c09ac7d1-de62-0016-2000-e63701125555",
+"sub-request-id" : "150",
+"flags" : 
+{
+"force" : "TRUE",
+"ttl" : 60000
+}
+},
+"action" : "Restart",
+"action-identifiers" : 
+{
+"vnf-id" : "ibcx8888v"
+},
+"payload" : "{\"AICIdentity\" : \"http://135.25.246.162:5000/v2.0\", \"vnf-host-ip-address\" : \"135.21.166.46\"}"
+}
+}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot
new file mode 100644
index 0000000..15690f0
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot
@@ -0,0 +1,50 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library     XvfbRobot
+Resource   ${CURDIR}/APPC_GLOBAL_VARIABLES.robot
+Resource   ${CURDIR}/gettime.robot
+
+
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+    
+APPC LCM API VNF RESTART
+	[Documentation]	APPC LCM API VNF RESTART 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
+	Maximize Browser Window
+#	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
+	
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+
+#	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')]        
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
+	
+#	Get Server time    ${GLOBAL_VNF_RESTART_REQUESTFILE}
+#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_VNF_RESTART_REQUESTFILE}
+    
+#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
+#	Set Selenium Speed	90
+#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
+#	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]
+
+#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
+	
+#	${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	
+#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
+	
+	 
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot b/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot
new file mode 100644
index 0000000..3b8528d
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    APPC - healthcheck
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot b/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot
new file mode 100644
index 0000000..9f376f9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot
@@ -0,0 +1,40 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library    DateTime
+Library    String
+##Library    HttpLibrary.HTTP
+Library    Collections
+
+
+*** Keywords ***
+
+Get Server time
+    [Documentation]    Getting server time to update the json request
+    [Arguments]     ${RequestFile}    
+    
+    ${date}=    Get Current Date    time_zone=local    result_format=%Y-%m-%dT%H:%M:%S.%fZ    exclude_millis=False 
+    
+    #updating the request file with the server time
+    ${file_content}=    OperatingSystem.Get File    ${RequestFile}
+  	@{list}=    Split to lines  ${file_content} 
+	${data}=    Get from list    ${list}    5
+	@{splitted_string}=    Split String    ${data}    :    1
+    ${time}=    Get From List    ${splitted_string}    1
+    Log    ${time}
+    @{splitted_string_time}=    Split String    ${time}    "    2
+    ${times1}=    Get From List    ${splitted_string_time}    1
+    Log    ${times1}
+    ${replaced_string}=    Replace String    ${data}    ${times1}    ${date}
+    @{list1}=    Split to lines  ${file_content} 
+	Remove from list    ${list1}    5
+	Insert into list    ${list1}    5     ${replaced_string}
+	Remove File     ${RequestFile}                                              
+	:FOR    ${line}    IN    @{list1}
+	\      Append to File    ${RequestFile}    ${line}    encoding=UTF-8
+	\      Append to File    ${RequestFile}    ${\n}    encoding=UTF-8
+	      
+   
+
+ 
+  
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/test1.robot b/test/csit/tests/appc/healthcheck_amsterdam/test1.robot
new file mode 100644
index 0000000..8bd4986
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck_amsterdam/test1.robot
@@ -0,0 +1,27 @@
+*** Settings ***
+Library           OperatingSystem
+Library           Process
+
+*** Variables ***
+
+${bundle_query}    ${SCRIPTS}/bundle_query.sh
+${health_check}    ${SCRIPTS}/health_check.sh
+${db_query}    ${SCRIPTS}/db_query.sh
+
+
+*** Test Cases ***
+Health check test case for APPC
+    [Documentation]   Health check
+    ${result_hc}=    Run Process   bash ${health_check} > log_hc.txt    shell=yes
+    Should Be Equal As Integers    ${result_hc.rc}    0
+
+Query bundle test case for APPC
+    [Documentation]   Query bundles 
+    ${result_bq}=    Run Process   bash ${bundle_query} > log_bq.txt    shell=yes
+    Should Be Equal As Integers    ${result_bq.rc}    0
+
+Query database test case for APPC
+    [Documentation]   Query database
+    ${result_db}=    Run Process   bash ${db_query} > log_db.txt    shell=yes
+    Should Be Equal As Integers    ${result_db.rc}    0
+
