From aad224026765d4b39ac9dde3c30f138dd426f897 Mon Sep 17 00:00:00 2001 From: Ruslan Kashapov Date: Tue, 23 Feb 2021 10:08:00 +0200 Subject: Introduce CPS integration testing (CSIT) Issue-ID: CPS-188 Change-Id: I4a225da73587d5276f302b05a0729d1127caddd9 Signed-off-by: Ruslan Kashapov --- csit/plans/default/setup.sh | 67 +++++++++++++++++++++++++++++++++++++++++ csit/plans/default/teardown.sh | 23 ++++++++++++++ csit/plans/default/testplan.txt | 4 +++ 3 files changed, 94 insertions(+) create mode 100755 csit/plans/default/setup.sh create mode 100755 csit/plans/default/teardown.sh create mode 100644 csit/plans/default/testplan.txt (limited to 'csit/plans/default') diff --git a/csit/plans/default/setup.sh b/csit/plans/default/setup.sh new file mode 100755 index 000000000..e7e8f4bfc --- /dev/null +++ b/csit/plans/default/setup.sh @@ -0,0 +1,67 @@ +#!/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 +# Modifications copyright (c) 2020-2021 Samsung Electronics Co., Ltd. +# Modifications Copyright (C) 2021 Pantheon.tech +# + +# Copy docker-compose.yml and application.yml to archives +mkdir -p $WORKSPACE/archives/docker-compose +cp $WORKSPACE/../docker-compose/*.yml $WORKSPACE/archives/docker-compose +cd $WORKSPACE/archives/docker-compose + +# Set env variables for docker compose +export DB_HOST=dbpostgresql +export DB_USERNAME=cps +export DB_PASSWORD=cps +# Use latest image version +export VERSION=latest + +# start CPS and PostgreSQL containers with docker compose +docker-compose up -d + +# Validate CPS service initialization completed via periodic log checking for line like below: +# org.onap.cps.Application ... Started Application in X.XXX seconds + +TIME_OUT=300 +INTERVAL=10 +TIME=0 + +while [ "$TIME" -le "$TIME_OUT" ]; do + LOG_FOUND=$( docker-compose logs --tail="all" | grep "org.onap.cps.Application" | egrep -c "Started Application in" ) + + if [ "$LOG_FOUND" -gt 0 ]; then + echo "CPS Service started" + break; + fi + + echo "Sleep $INTERVAL seconds before next check for CPS initialization (waiting $TIME seconds; timeout is $TIME_OUT seconds)" + sleep $INTERVAL + TIME=$((TIME + INTERVAL)) +done + +if [ "$TIME" -gt "$TIME_OUT" ]; then + echo "TIME OUT: CPS Service wasn't able to start in $TIME_OUT seconds, setup failed." + exit 1; +fi + +# TODO localhost works on a local environment, check if it's ok on jenkins +CPS_HOST="http://localhost:8883" + +# Pass variables required for Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v SCRIPTS:$SCRIPTS -v CPS_HOST:$CPS_HOST" + diff --git a/csit/plans/default/teardown.sh b/csit/plans/default/teardown.sh new file mode 100755 index 000000000..90280259c --- /dev/null +++ b/csit/plans/default/teardown.sh @@ -0,0 +1,23 @@ +#!/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 +# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd. +# Modifications Copyright (C) 2021 Pantheon.tech +# + +cd $WORKSPACE/archives/docker-compose +docker-compose down -v diff --git a/csit/plans/default/testplan.txt b/csit/plans/default/testplan.txt new file mode 100644 index 000000000..edcad0dfd --- /dev/null +++ b/csit/plans/default/testplan.txt @@ -0,0 +1,4 @@ +# Test suites are relative paths under csit/tests/. +# Place the suites in run order. +actuator + -- cgit 1.2.3-korg