summaryrefslogtreecommitdiffstats
path: root/test/csit/scripts/common_functions.sh
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2018-09-27 10:29:30 -0700
committerGary Wu <gary.i.wu@huawei.com>2018-09-27 12:50:28 -0700
commit2d3d8dcf6ef1bd2a161c69d561c629c5ec3f59c4 (patch)
tree652fd47a183c291e96c6721f550a5f63464f6e66 /test/csit/scripts/common_functions.sh
parente161173e279a73134dda4c2f429605d6c9ee1fe7 (diff)
Move CSIT to integration/csit repo
To facilite branching of CSIT tests, all CSIT test code and scripts are relocated to the integration/csit repo. Change-Id: I6777cd414e43dbf2bfa6215f7e50849e1a6a2e59 Issue-ID: INT-671 Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'test/csit/scripts/common_functions.sh')
-rwxr-xr-xtest/csit/scripts/common_functions.sh263
1 files changed, 0 insertions, 263 deletions
diff --git a/test/csit/scripts/common_functions.sh b/test/csit/scripts/common_functions.sh
deleted file mode 100755
index 684c41841..000000000
--- a/test/csit/scripts/common_functions.sh
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/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.
-
-function memory_details(){
- #General memory details
- echo "> top -bn1 | head -3"
- top -bn1 | head -3
- echo
-
- echo "> free -h"
- free -h
- echo
-
- #Memory details per Docker
- echo "> docker ps"
- docker ps
- echo
-
- echo "> docker stats --no-stream"
- docker stats --no-stream
- echo
-}
-function fibonacci_number(){
- set +x
- if [ $1 -le 1 ]
- then
- echo "1"
- elif [ $1 -le 10 ]
- then
- Num=$1
- f1=0
- f2=1
- fn=-1
- for i in `eval echo {1..$Num}`;do
- fn=$((f1+f2))
- f1=$f2
- f2=$fn
- done
- echo $fn
- else
- echo "30"
- fi
-}
-function wait_curl_driver(){
- #Parameters:
- #CURL_COMMAND - the URL on which the curl command will be executed
- #GREP_STRING - Desired string to be found inside the body response of the
- # previous curl command
- #EXCLUDE_STRING - If the filtered string (GREP_STRING) must not exist in
- # the body response of the curl
- #WAIT_MESSAGE - the message to be displayed for logging purpose. (optional)
- #REPEAT_NUMBER - the maximum number of tries before abandoning the curl
- # command (optional, by default = 15)
- #MAX_TIME - Maximum time allowed for the transfer (in seconds)
- #STATUS_CODE - A HTTP status code desired to be found by getting the link
- # /!\ IMPORTANT NOTICE: the usage of STATUS_CODE option turn GREP_STRING/
- # /!\ EXCLUDE_STRING/and the MAX_TIME options becomes obsolete with no
- # /!\ execution impact
- #MEMORY_USAGE - If Parameters exists shows the memory usage after curl
- # execution(s)
-
- repeat_max=15
- parameters="$@"
-
- #WAIT_MESSAGE
- if [[ $parameters == *"WAIT_MESSAGE"* ]]
- then
- wait_message=`echo $parameters | sed -e "s/.*WAIT_MESSAGE=//g"`
- wait_message=`echo $wait_message | sed -e "s/ .*//g"`
- else
- wait_message="wait ..."
- fi
-
- #REPEAT_NUMBER
- if [[ $parameters == *"REPEAT_NUMBER"* ]]
- then
- repeat_max=`echo $parameters | sed -e "s/.*REPEAT_NUMBER=//g"`
- repeat_max=`echo $repeat_max | sed -e "s/ .*//g"`
- fi
-
- #CURL_COMMAND
- if [[ $parameters == *"CURL_COMMAND"* ]]
- then
- curl_command=`echo $parameters | sed -e 's/.*CURL_COMMAND=//g'`
- curl_command=`echo $curl_command | sed -e 's/ .*//g'`
- else
- echo "-Curl is empty-" # Or no parameterseter passed.
- return 0
- fi
-
- #MAX_TIME
- if [[ $parameters == *"MAX_TIME"* ]]
- then
- max_time=`echo $parameters | sed -e 's/.*MAX_TIME=//g'`
- max_time=`echo $max_time | sed -e 's/ .*//g'`
- else
- max_time="5"
- fi
-
- exclude_string=""
- #EXCLUDE_STRING
- if [[ $parameters == *"EXCLUDE_STRING"* ]]
- then
- exclude_string="-v"
- fi
-
- status_code=""
- #STATUS_CODE
- if [[ $parameters == *"STATUS_CODE"* ]]
- then
- status_code=`echo $parameters | sed -e 's/.*STATUS_CODE=//g'`
- status_code=`echo $status_code | sed -e 's/ .*//g'`
- fi
-
- for i in `eval echo {1..$repeat_max}`; do
- response_code=`curl -o /dev/null --silent --head --write-out '%{http_code}' $curl_command`
- echo "..."
- if [[ ! -z $status_code ]] ; then
- if [ "$status_code" -eq "$response_code" ]
- then
- echo "SUCCESS:Actual Status code <$response_code> match the expected code <$status_code>"
- return 0
- else
- echo "WARNING:Expected <$status_code> but Actual <$response_code>"
- fi
- else
- #GREP_STRING
- if [[ $parameters == *"GREP_STRING"* ]]
- then
- grep_command=`echo $parameters | sed -e 's/.*GREP_STRING=//g'`
- grep_command=`echo $grep_command | sed -e 's/ REPEAT_NUMBER=.*//g' | sed -e 's/ CURL_COMMAND=.*//g' | sed -e 's/ WAIT_MESSAGE=.*//g' | sed -e 's/ MAX_TIME=.*//g' | sed -e 's/ EXCLUDE_STRING.*//g'`
- else
- echo "-Grep_command is empty-" # Or no parameters passed.
- return 0
- fi
-
- str=`curl -sS -m$max_time $curl_command | grep "$grep_command"`
- echo "BODY::$str"
- if [[ ! -z $exclude_string ]]
- then
- if [[ -z $str ]]
- then
- echo "SUCCESS: body response does not contains '$grep_command'";
- break;
- else
- echo "Fall_Short: Body response still contains '$grep_command'"
- fi
- else
- if [[ ! -z $str ]]
- then
- echo "SUCCESS: body response contains '$grep_command'";
- break;
- else
- echo "Fall_Short: Element '$grep_command' not found yet # "$i""
- fi
- fi
-
- if [ "$?" = "7" ]; then
- echo 'Connection refused or can not connect to server/proxy';
- str=''
- fi
- fi
- seconds2sleep=`fibonacci_number $i`
- echo $wait_message
- echo "Iteration::$i out of $repeat_max "
- echo "Quiet time for $seconds2sleep seconds ..."
- sleep $seconds2sleep
-
- # if waiting for a long time, log system load
- if [ $i -gt 45 ]
- then
- memory_details
- fi
- done
- #MEMORY_USAGE
- if [[ $parameters == *"MEMORY_USAGE"* ]]
- then
- echo "==========================MEMORY USAGE=================================="
- memory_details
- echo "========================================================================"
- fi
- return 0
-}
-
-function run_simulator ()
-{
- run_robottestlib
- run_simulator_docker $1
-}
-
-function run_robottestlib ()
-{
- #Start the robottest REST library if not started
- if ! pgrep -f robottest > /dev/null
- then
- #Download the latest robottest jar
- wget -q -O ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar "https://nexus.open-o.org/service/local/artifact/maven/redirect?r=snapshots&g=org.openo.integration&a=org.openo.robottest&e=jar&v=LATEST"
- chmod +x ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar
- eval `java -cp ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar org.openo.robot.test.robottest.MyRemoteLibrary` &
- fi
-}
-
-function run_simulator_docker ()
-{
- #Start the simulator docker if not started
- SIMULATOR_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' simulator`
- if [[ -z $SIMULATOR_IP ]]
- then
- echo "Starting simulator docker..."
- SIMULATOR_JSON=$1
- if [[ -z $SIMULATOR_JSON ]]
- then
- SIMULATOR_JSON=main.json
- fi
- docker run -d -i -t --name simulator -e SIMULATOR_JSON=$SIMULATOR_JSON -p 18009:18009 -p 18008:18008 openoint/simulate-test-docker
- SIMULATOR_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' simulator`
- fi
-
- #Set the simulator IP in robot variables
- ROBOT_VARIABLES=${ROBOT_VARIABLES}" -v SIMULATOR_IP:${SIMULATOR_IP} -v SCRIPTS:${SCRIPTS}"
- echo ${ROBOT_VARIABLES}
-}
-
-function get_docker_compose_service ()
-{
- local service=$1
- local compose_file=${2:-docker-compose.yml}
-
- echo $(docker-compose --file ./${compose_file} ps | grep $service | cut -d " " -f1 )
-}
-
-function bypass_ip_adress ()
-{
- local ip_address=$1
-
- if [[ $no_proxy && $no_proxy != *$ip_address* ]]; then
- export no_proxy=$no_proxy,$ip_address
- fi
-}
-
-function wait_for_service_init ()
-{
- local service_url=$1
-
- for delay in {1..50}; do
- curl -sS ${service_url} && break
- echo "$delay - Waiting for $service_url..."
- sleep $delay
- done
-}