summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Hay <ah415j@att.com>2017-09-12 14:03:37 -0400
committerAaron Hay <ah415j@att.com>2017-09-12 14:17:32 -0400
commit0f33e96f0a4186263a4ef1acb9292878e9636ca7 (patch)
treee06994e31c5f8381889f36da8bbf56badb52a97f
parent0b08c9e236dfad21f3550e534608e0c640b728ba (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>
-rwxr-xr-xtest/csit/plans/appc/healthcheck/db_query.sh66
-rwxr-xr-xtest/csit/plans/appc/healthcheck/setup.sh6
-rw-r--r--test/csit/tests/appc/healthcheck/test1.robot5
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