db_query health check 09/12009/2
authorAaron Hay <ah415j@att.com>
Tue, 12 Sep 2017 18:03:37 +0000 (14:03 -0400)
committerAaron Hay <ah415j@att.com>
Tue, 12 Sep 2017 18:17:32 +0000 (14:17 -0400)
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>
test/csit/plans/appc/healthcheck/db_query.sh [new file with mode: 0755]
test/csit/plans/appc/healthcheck/setup.sh
test/csit/tests/appc/healthcheck/test1.robot

diff --git a/test/csit/plans/appc/healthcheck/db_query.sh b/test/csit/plans/appc/healthcheck/db_query.sh
new file mode 100755 (executable)
index 0000000..87e0ac3
--- /dev/null
@@ -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
index b91baa3..3c57cef 100755 (executable)
@@ -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
index 05eee5b..8bd4986 100644 (file)
@@ -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