aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuli Shlosberg <ys9693@att.com>2017-09-24 17:43:28 +0300
committerYuli Shlosberg <ys9693@att.com>2017-09-24 17:43:28 +0300
commite1209709281f0aba0fb4bb2e3ef529bb9c8b0114 (patch)
treefc9bfe0d3f12352cc5eb03307e513b8a0d4d46ab
parent939bee0976930048c97b5e3f6e3d07597a8937ae (diff)
Add csit healthcheck test
Change-Id: Ib8389176e5e8480ce17d3c7dfb2a9b1be12c462c Issue-Id: VID-67 Signed-off-by: Yuli Shlosberg <ys9693@att.com>
-rw-r--r--test/csit/plans/vid/healthCheck/setup.sh33
-rw-r--r--test/csit/plans/vid/healthCheck/teardown.sh22
-rw-r--r--test/csit/plans/vid/healthCheck/testplan.txt3
-rw-r--r--test/csit/scripts/vid/clone_and_setup_vid_data.sh37
-rw-r--r--test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh31
-rw-r--r--test/csit/scripts/vid/start_vid_containers.sh61
-rw-r--r--test/csit/tests/vid/healthCheck/__init__.robot2
-rw-r--r--test/csit/tests/vid/healthCheck/test1.robot15
8 files changed, 204 insertions, 0 deletions
diff --git a/test/csit/plans/vid/healthCheck/setup.sh b/test/csit/plans/vid/healthCheck/setup.sh
new file mode 100644
index 000000000..afe9ea7ba
--- /dev/null
+++ b/test/csit/plans/vid/healthCheck/setup.sh
@@ -0,0 +1,33 @@
+#!/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:
+
+
+source ${WORKSPACE}/test/csit/scripts/vid/clone_and_setup_vid_data.sh
+
+source ${WORKSPACE}/test/csit/scripts/vid/start_vid_containers.sh
+
+
+BE_IP=`get-instance-ip.sh vid-server`
+echo BE_IP=${BE_IP}
+
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v BE_IP:${BE_IP}"
+
diff --git a/test/csit/plans/vid/healthCheck/teardown.sh b/test/csit/plans/vid/healthCheck/teardown.sh
new file mode 100644
index 000000000..e82ef3068
--- /dev/null
+++ b/test/csit/plans/vid/healthCheck/teardown.sh
@@ -0,0 +1,22 @@
+#!/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
+#
+
+source ${WORKSPACE}/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
+
+# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging
diff --git a/test/csit/plans/vid/healthCheck/testplan.txt b/test/csit/plans/vid/healthCheck/testplan.txt
new file mode 100644
index 000000000..ffbb593ca
--- /dev/null
+++ b/test/csit/plans/vid/healthCheck/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vid/healthCheck
diff --git a/test/csit/scripts/vid/clone_and_setup_vid_data.sh b/test/csit/scripts/vid/clone_and_setup_vid_data.sh
new file mode 100644
index 000000000..917016c7a
--- /dev/null
+++ b/test/csit/scripts/vid/clone_and_setup_vid_data.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_vid_data.sh"
+
+# Clone sdc enviroment template
+
+mkdir -p ${WORKSPACE}/data/clone/
+
+cd ${WORKSPACE}/data/clone
+git clone --depth 1 http://gerrit.onap.org/r/vid -b master
+
+
+
+
+
diff --git a/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh b/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
new file mode 100644
index 000000000..33a799d50
--- /dev/null
+++ b/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
@@ -0,0 +1,31 @@
+#!/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
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vid/kill_and_remove_dataFolder.sh"
+
+#kill and remove all vid dockers
+docker stop $(docker ps -a -q --filter="name=vid")
+docker rm $(docker ps -a -q --filter="name=vid")
+
+
+#delete data folder
+
+rm -rf ${WORKSPACE}/data/*
+
+
diff --git a/test/csit/scripts/vid/start_vid_containers.sh b/test/csit/scripts/vid/start_vid_containers.sh
new file mode 100644
index 000000000..d7f6e38ca
--- /dev/null
+++ b/test/csit/scripts/vid/start_vid_containers.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vid/start_vid_containers.sh"
+
+
+RELEASE=vid:1.1-STAGING-latest
+CONFIG_PATH=${WORKSPACE}/data/clone/vid/lf_config
+
+export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'`
+export PREFIX='nexus3.onap.org:10001/openecomp'
+
+#start Maria-DB
+docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp_epsdk -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v ${CONFIG_PATH}/vid-my.cnf:/etc/mysql/my.cnf -v ${CONFIG_PATH}/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10
+
+#start VID server
+
+docker run -e VID_MYSQL_DBNAME=vid_openecomp_epsdk -e VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d nexus3.onap.org:10001/openecomp/${RELEASE}
+
+# WAIT 5 minutes maximum and test every 5 seconds if VID up using HealthCheck API
+
+TIME_OUT=1200
+INTERVAL=5
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+ response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/vid/healthCheck); echo $response
+
+ if [ "$response" == "200" ]; then
+ echo VID and its database well started in $TIME seconds
+ break;
+ fi
+
+ echo Sleep: $INTERVAL seconds before testing if VID 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 tests...
+fi
diff --git a/test/csit/tests/vid/healthCheck/__init__.robot b/test/csit/tests/vid/healthCheck/__init__.robot
new file mode 100644
index 000000000..b71d350bb
--- /dev/null
+++ b/test/csit/tests/vid/healthCheck/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation VID - HealthCheck
diff --git a/test/csit/tests/vid/healthCheck/test1.robot b/test/csit/tests/vid/healthCheck/test1.robot
new file mode 100644
index 000000000..8f9448d8f
--- /dev/null
+++ b/test/csit/tests/vid/healthCheck/test1.robot
@@ -0,0 +1,15 @@
+*** Settings ***
+Library Collections
+Library OperatingSystem
+Library RequestsLibrary
+Library json
+
+*** Test Cases ***
+Get Requests health check ok
+ [Tags] get
+ CreateSession vid http://localhost:8080
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Get Request vid /vid/healthCheck headers=&{headers}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Log to console statusCode: ${resp.json()['statusCode']}
+ Should Be Equal As Strings ${resp.json()['statusCode']} 200