diff options
author | Gary Wu <gary.i.wu@huawei.com> | 2018-09-27 10:29:30 -0700 |
---|---|---|
committer | Gary Wu <gary.i.wu@huawei.com> | 2018-09-27 12:50:28 -0700 |
commit | 2d3d8dcf6ef1bd2a161c69d561c629c5ec3f59c4 (patch) | |
tree | 652fd47a183c291e96c6721f550a5f63464f6e66 /test/csit/scripts/common_functions.sh | |
parent | e161173e279a73134dda4c2f429605d6c9ee1fe7 (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-x | test/csit/scripts/common_functions.sh | 263 |
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 -} |