aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlmog Laktivi <al942u@att.com>2017-11-16 12:58:43 +0200
committerAlmog Laktivi <al942u@att.com>2017-11-16 12:58:57 +0200
commitf0f635fcdcee897be32ba4962683cb884b21ccba (patch)
treec7ada2edf7b53784369e031bb2eb299e2a876b17
parent3cad6f37aff90f01f161563741be7897b50a1188 (diff)
Add VVP tests scripts
Add the tests robots to create docker and validate health check Change-Id: I005cc095f54f9924c4e23ea4c9818a3774ffae90 Issue-ID: VVP-31 Signed-off-by: Almog Laktivi <al942u@att.com>
-rw-r--r--test/csit/plans/vvp/sanity/setup.sh36
-rw-r--r--test/csit/plans/vvp/sanity/teardown.sh20
-rw-r--r--test/csit/plans/vvp/sanity/testplan.txt3
-rw-r--r--test/csit/scripts/vvp/clone_and_setup_vvp_data.sh68
-rw-r--r--test/csit/scripts/vvp/docker_health.sh34
-rw-r--r--test/csit/scripts/vvp/kill_containers_and_remove_dataFolders.sh29
-rw-r--r--test/csit/scripts/vvp/start_vvp_containers.sh65
-rw-r--r--test/csit/scripts/vvp/start_vvp_sanity.sh26
-rw-r--r--test/csit/tests/vvp/sanity/__init__.robot2
-rw-r--r--test/csit/tests/vvp/sanity/test1.robot19
10 files changed, 302 insertions, 0 deletions
diff --git a/test/csit/plans/vvp/sanity/setup.sh b/test/csit/plans/vvp/sanity/setup.sh
new file mode 100644
index 000000000..e7758462c
--- /dev/null
+++ b/test/csit/plans/vvp/sanity/setup.sh
@@ -0,0 +1,36 @@
+#!/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/vvp/clone_and_setup_vvp_data.sh
+
+source ${WORKSPACE}/test/csit/scripts/vvp/start_vvp_containers.sh
+
+source ${WORKSPACE}/test/csit/scripts/vvp/docker_health.sh
+
+source ${WORKSPACE}/test/csit/scripts/vvp/start_vvp_sanity.sh
+
+
+VVP_IP=`get-instance-ip.sh vvp-engagementmgr`
+echo VVP_IP=${VVP_IP}
+
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v VVP_IP:${VVP_IP}"
diff --git a/test/csit/plans/vvp/sanity/teardown.sh b/test/csit/plans/vvp/sanity/teardown.sh
new file mode 100644
index 000000000..b0f33a646
--- /dev/null
+++ b/test/csit/plans/vvp/sanity/teardown.sh
@@ -0,0 +1,20 @@
+#!/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/vvp/kill_containers_and_remove_dataFolders.sh
diff --git a/test/csit/plans/vvp/sanity/testplan.txt b/test/csit/plans/vvp/sanity/testplan.txt
new file mode 100644
index 000000000..0acb50833
--- /dev/null
+++ b/test/csit/plans/vvp/sanity/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vvp/sanity
diff --git a/test/csit/scripts/vvp/clone_and_setup_vvp_data.sh b/test/csit/scripts/vvp/clone_and_setup_vvp_data.sh
new file mode 100644
index 000000000..aae8d94fe
--- /dev/null
+++ b/test/csit/scripts/vvp/clone_and_setup_vvp_data.sh
@@ -0,0 +1,68 @@
+#!/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/vvp/clone_and_setup_vvp_data.sh"
+
+# Clone vvp enviroment template
+mkdir -p ${WORKSPACE}/data/environments/
+mkdir -p ${WORKSPACE}/data/clone/
+
+cd ${WORKSPACE}/data/clone
+git clone --depth 1 http://gerrit.onap.org/r/vvp/engagementmgr -b master
+
+chmod -R 775 ${WORKSPACE}/data/
+
+# copy settings file from tox environment infrastructure:
+cp -rf ${WORKSPACE}/data/clone/engagementmgr/django/vvp/settings/tox_settings.py ${WORKSPACE}/data/clone/engagementmgr/django/vvp/settings/__init__.py
+echo "# set enviroment variables
+DJANGO_SETTINGS_MODULE='vvp.settings.tox_settings'
+# export PYTHONPATH={pwd}
+SECRET_KEY='6mo22&_gtjf#wktqf1#ve^7=w6kx)uq0u*4ksk^aq8lte&)yul'
+ENVIRONMENT='development'
+PROGRAM_NAME_URL_PREFIX='vvp'
+EMAIL_HOST='localhost'
+EMAIL_HOST_PASSWORD=''
+EMAIL_HOST_USER=''
+EMAIL_PORT='25'
+PGDATABASE='icedb'
+PGUSER='iceuser'
+PGPASSWORD='Aa123456'
+PGHOST='localhost'
+PGPORT='5433'
+SECRET_WEBHOOK_TOKEN='Aiwi8se4ien0foW6eimahch2zahshaGi'
+SECRET_GITLAB_AUTH_TOKEN='ieNgathapoo4zohvee9a'
+SECRET_JENKINS_PASSWORD='xaiyie0wuoqueuBu'
+SECRET_CMS_APP_CLIENT_ID='MHmJo0ccDheVVsIiQHZnY6LXPAC6H6HAMzhCCM16'
+SECRET_CMS_APP_CLIENT_SECRET='nI8QCFrKMpnw5nTs'
+SLACK_API_TOKEN=''
+S3_HOST='dev-s3.d2ice.att.io'
+S3_PORT='443'
+AWS_ACCESS_KEY_ID='FD21HBU2KRN3UVD1MWRN'
+AWS_SECRET_ACCESS_KEY='TKoiwxziUWG9cTYUknUkFGmmyuQ27nP2lCiutEsD'
+STATIC_ROOT='/app/htdocs'" > ${WORKSPACE}/data/environments/vvp_env
+
+ifconfig
+
+IP_ADDRESS=`ip route get 8.8.8.8 | awk '/src/{ print $7 }'`
+export HOST_IP=$IP_ADDRESS
diff --git a/test/csit/scripts/vvp/docker_health.sh b/test/csit/scripts/vvp/docker_health.sh
new file mode 100644
index 000000000..d511a378f
--- /dev/null
+++ b/test/csit/scripts/vvp/docker_health.sh
@@ -0,0 +1,34 @@
+#!/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 "VVP-Engagement-Manager health-Check:"
+echo ""
+echo ""
+res=`curl -s -X GET -H "Accept: application/json" -H "Content-Type: application/json" -H "http://localhost:8000/vvp/v1/engmgr/vendors" | wc -l`
+if [[ ${res} == 0 ]]
+then
+ echo "Error [${res}] while performing vvp engagement manager vendor existance check"
+ exit 1
+fi
+echo "check vvp engagement manager vendor existance: OK [${res}]"
diff --git a/test/csit/scripts/vvp/kill_containers_and_remove_dataFolders.sh b/test/csit/scripts/vvp/kill_containers_and_remove_dataFolders.sh
new file mode 100644
index 000000000..5b91c67ec
--- /dev/null
+++ b/test/csit/scripts/vvp/kill_containers_and_remove_dataFolders.sh
@@ -0,0 +1,29 @@
+#!/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/vvp/kill_and_remove_dataFolder.sh"
+
+#kill and remove all vvp dockers
+docker stop $(docker ps -a -q --filter="name=vvp")
+docker rm $(docker ps -a -q --filter="name=vvp")
+
+
+#delete data folder
+#TODO: Remove the comment:
+#rm -rf ${WORKSPACE}/data/*
diff --git a/test/csit/scripts/vvp/start_vvp_containers.sh b/test/csit/scripts/vvp/start_vvp_containers.sh
new file mode 100644
index 000000000..d6cb88ebf
--- /dev/null
+++ b/test/csit/scripts/vvp/start_vvp_containers.sh
@@ -0,0 +1,65 @@
+#!/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/vvp/start_vvp_containers.sh"
+
+export IP=$HOST_IP
+export PREFIX='nexus3.onap.org:10001/openecomp/vvp'
+export RELEASE='latest'
+
+#start Engagement Manager pod:
+docker run --detach --name vvp-engagementmgr --env HOST_IP=${IP} --env ENVNAME="${ENVIRONMENT}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --env-file ${WORKSPACE}/data/environments/vvp_env --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 4g --memory-swap=4g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/engagementmgr/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/clone/engagementmgr/django/vvp/settings:/opt/configmaps/settings/ --publish 8443:8443 --publish 8000:8000 ${PREFIX}/engagementmgr:${RELEASE}
+
+
+echo "please wait while Engagement Manager is starting..."
+echo ""
+c=60 # seconds to wait
+REWRITE="\e[25D\e[1A\e[K"
+while [ $c -gt 0 ]; do
+ c=$((c-1))
+ sleep 1
+ echo -e "${REWRITE}$c"
+done
+echo -e ""
+
+TIME_OUT=600
+INTERVAL=5
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+ response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8000/vvp/v1/engmgr/vendors); echo $response
+
+ if [ "$response" == "200" ]; then
+ echo VVP-Engagement-Manager well started in $TIME seconds
+ break;
+ fi
+
+ echo Sleep: $INTERVAL seconds before testing if VVP-Engagement-Manager 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...
+
+
diff --git a/test/csit/scripts/vvp/start_vvp_sanity.sh b/test/csit/scripts/vvp/start_vvp_sanity.sh
new file mode 100644
index 000000000..1de1aaa34
--- /dev/null
+++ b/test/csit/scripts/vvp/start_vvp_sanity.sh
@@ -0,0 +1,26 @@
+#!/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.
+#
+
+
+# will run CI for sanity checks
diff --git a/test/csit/tests/vvp/sanity/__init__.robot b/test/csit/tests/vvp/sanity/__init__.robot
new file mode 100644
index 000000000..6bc0362e8
--- /dev/null
+++ b/test/csit/tests/vvp/sanity/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation VVP - HealthCheck
diff --git a/test/csit/tests/vvp/sanity/test1.robot b/test/csit/tests/vvp/sanity/test1.robot
new file mode 100644
index 000000000..21e1b5e7a
--- /dev/null
+++ b/test/csit/tests/vvp/sanity/test1.robot
@@ -0,0 +1,19 @@
+*** Settings ***
+Library Collections
+Library OperatingSystem
+Library RequestsLibrary
+Library json
+
+# http://localhost:8000/vvp/v1/engmgr/vendors
+# vvp-engagementmgr
+
+*** Test Cases ***
+Get Requests health check ok
+ [Tags] get
+ CreateSession vvp-engagementmgr http://localhost:8000
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Get Request vvp-engagementmgr /vvp/v1/engmgr/vendors headers=&{headers}
+ Should Be Equal As Strings ${resp.status_code} 200
+ @{ITEMS}= Copy List ${resp.json()}
+ : FOR ${ELEMENT} IN @{ITEMS}
+ \ Log ${ELEMENT['uuid']} ${ELEMENT['name']}