diff options
author | Aaron Hay <ah415j@att.com> | 2017-09-12 14:03:37 -0400 |
---|---|---|
committer | Aaron Hay <ah415j@att.com> | 2017-09-12 14:17:32 -0400 |
commit | 0f33e96f0a4186263a4ef1acb9292878e9636ca7 (patch) | |
tree | e06994e31c5f8381889f36da8bbf56badb52a97f /test | |
parent | 0b08c9e236dfad21f3550e534608e0c640b728ba (diff) |
db_query health check
Created db_query.sh which is executed by the test1.robot script to make sure the sdnctl and appcctl databases are in a healthy state.
Change-Id: I90240db9f897e4fc86caf9975e18e208fe7e67ac
Issue-ID: APPC-118
Signed-off-by: Aaron Hay <ah415j@att.com>
Diffstat (limited to 'test')
-rwxr-xr-x | test/csit/plans/appc/healthcheck/db_query.sh | 66 | ||||
-rwxr-xr-x | test/csit/plans/appc/healthcheck/setup.sh | 6 | ||||
-rw-r--r-- | test/csit/tests/appc/healthcheck/test1.robot | 5 |
3 files changed, 76 insertions, 1 deletions
diff --git a/test/csit/plans/appc/healthcheck/db_query.sh b/test/csit/plans/appc/healthcheck/db_query.sh new file mode 100755 index 000000000..87e0ac397 --- /dev/null +++ b/test/csit/plans/appc/healthcheck/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/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh index b91baa3a9..3c57cefac 100755 --- a/test/csit/plans/appc/healthcheck/setup.sh +++ b/test/csit/plans/appc/healthcheck/setup.sh @@ -22,6 +22,10 @@ source ${WORKSPACE}/test/csit/scripts/appc/script1.sh 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 @@ -42,7 +46,7 @@ docker pull nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-lat docker tag nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-latest openecomp/dgbuilder-sdnc-image:latest # start APPC containers with docker compose and configuration from docker-compose.yml -/opt/docker/docker-compose up -d +docker-compose up -d # WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API TIME_OUT=500 diff --git a/test/csit/tests/appc/healthcheck/test1.robot b/test/csit/tests/appc/healthcheck/test1.robot index 05eee5b84..8bd49860b 100644 --- a/test/csit/tests/appc/healthcheck/test1.robot +++ b/test/csit/tests/appc/healthcheck/test1.robot @@ -6,6 +6,7 @@ Library Process ${bundle_query} ${SCRIPTS}/bundle_query.sh ${health_check} ${SCRIPTS}/health_check.sh +${db_query} ${SCRIPTS}/db_query.sh *** Test Cases *** @@ -19,4 +20,8 @@ Query bundle test case for APPC ${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 |