X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2Fagent_api_functions.sh;h=8ec8fdbca01e696779e9571a3c23b74a6b24f30d;hb=bf3700b1064ec3526af205cab454bd1964ce8650;hp=b2d6a24028664661d38b73be63e4c7724bedb65e;hpb=b0c87504d1cd5cd68f9efcb2fdb8decb83855ef0;p=nonrtric.git diff --git a/test/common/agent_api_functions.sh b/test/common/agent_api_functions.sh index b2d6a240..8ec8fdbc 100644 --- a/test/common/agent_api_functions.sh +++ b/test/common/agent_api_functions.sh @@ -21,196 +21,7 @@ ### API functiond towards the Policy Agent -# Generic function to query the agent via the REST or DMAAP interface. -# Used by all other agent api test functions -# If operation prefix is '_BATCH' the the send and get response is split in two sequences, -# one for sending the requests and one for receiving the response -# but only when using the DMAAP interface -# REST or DMAAP is controlled of the base url of $ADAPTER -# arg: (GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH []) | (RESPONSE ) -# (Not for test scripts) -__do_curl_to_agent() { - echo "(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - paramError=0 - - if [ $# -lt 2 ] || [ $# -gt 3 ]; then - paramError=1 - else - timeout="" - oper="" - file='' - httpcode=" -sw %{http_code}" - accept='' - content='' - batch=0 - if [[ $1 == *"_BATCH" ]]; then - batch=1 - fi - if [ $# -gt 2 ]; then - content=" -H Content-Type:application/json" - fi - if [ $1 == "GET" ] || [ $1 == "GET_BATCH" ]; then - oper="GET" - if [ $# -ne 2 ]; then - paramError=1 - fi - elif [ $1 == "PUT" ] || [ $1 == "PUT_BATCH" ]; then - oper="PUT" - if [ $# -eq 3 ]; then - file=" --data-binary @$3" - fi - accept=" -H accept:application/json" - elif [ $1 == "POST" ] || [ $1 == "POST_BATCH" ]; then - oper="POST" - accept=" -H accept:*/*" - if [ $# -ne 2 ]; then - paramError=1 - fi - elif [ $1 == "DELETE" ] || [ $1 == "DELETE_BATCH" ]; then - oper="DELETE" - if [ $# -ne 2 ]; then - paramError=1 - fi - elif [ $1 == "RESPONSE" ]; then - oper="RESPONSE" - if [ $# -ne 2 ]; then - paramError=1 - fi - if ! [ $ADAPTER == $DMAAPBASE ]; then - paramError=1 - fi - else - paramError=1 - fi - fi - - if [ $paramError -eq 1 ]; then - ((RES_CONF_FAIL++)) - echo "-Incorrect number of parameters to __do_curl_agent " $@ >> $HTTPLOG - echo "-Expected: (GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH []) | (RESPONSE ) []" >> $HTTPLOG - echo "-Returning response 000" >> $HTTPLOG - echo "-000" - return 1 - fi - - if [ $ADAPTER == $RESTBASE ] || [ $ADAPTER == $RESTBASE_SECURE ]; then - url=" "${ADAPTER}${2} - oper=" -X "$oper - curlString="curl -k "${oper}${timeout}${httpcode}${accept}${content}${url}${file} - echo " CMD: "$curlString >> $HTTPLOG - if [ $# -eq 3 ]; then - echo " FILE: $(<$3)" >> $HTTPLOG - fi - - # Do retry for configured response codes, otherwise only one attempt - maxretries=5 - while [ $maxretries -ge 0 ]; do - - let maxretries=maxretries-1 - res=$($curlString) - retcode=$? - if [ $retcode -ne 0 ]; then - echo " RETCODE: "$retcode >> $HTTPLOG - echo "000" - return 1 - fi - retry=0 - echo " RESP: "$res >> $HTTPLOG - status=${res:${#res}-3} - if [ ! -z "${AGENT_RETRY_CODES}" ]; then - for retrycode in $AGENT_RETRY_CODES; do - if [ $retrycode -eq $status ]; then - echo -e $RED" Retrying (according to set codes for retry), got status $status....."$ERED >> $HTTPLOG - sleep 1 - retry=1 - fi - done - fi - if [ $retry -eq 0 ]; then - maxretries=-1 - fi - done - echo $res - return 0 - else - if [ $oper != "RESPONSE" ]; then - requestUrl=$2 - if [ $1 == "PUT" ] && [ $# -eq 3 ]; then - payload="$(cat $3 | tr -d '\n' | tr -d ' ' )" - echo "payload: "$payload >> $HTTPLOG - file=" --data-binary "$payload - fi - #urlencode the request url since it will be carried by send-request url - requestUrl=$(python3 -c "from __future__ import print_function; import urllib.parse, sys; print(urllib.parse.quote(sys.argv[1]))" "$2") - url=" "${ADAPTER}"/send-request?url="${requestUrl}"&operation="${oper} - curlString="curl -X POST${timeout}${httpcode}${content}${url}${file}" - echo " CMD: "$curlString >> $HTTPLOG - res=$($curlString) - retcode=$? - if [ $retcode -ne 0 ]; then - echo " RETCODE: "$retcode >> $HTTPLOG - echo "000" - return 1 - fi - echo " RESP: "$res >> $HTTPLOG - status=${res:${#res}-3} - if [ $status -ne 200 ]; then - echo "000" - return 1 - fi - cid=${res:0:${#res}-3} - if [[ $batch -eq 1 ]]; then - echo $cid"200" - return 0 - fi - fi - if [ $oper == "RESPONSE" ] || [ $batch -eq 0 ]; then - if [ $oper == "RESPONSE" ]; then - cid=$2 - fi - url=" "${ADAPTER}"/receive-response?correlationid="${cid} - curlString="curl -X GET"${timeout}${httpcode}${url} - echo " CMD: "$curlString >> $HTTPLOG - res=$($curlString) - retcode=$? - if [ $retcode -ne 0 ]; then - echo " RETCODE: "$retcode >> $HTTPLOG - echo "000" - return 1 - fi - echo " RESP: "$res >> $HTTPLOG - status=${res:${#res}-3} - TS=$SECONDS - # wait of the reply from the agent... - while [ $status -eq 204 ]; do - if [ $(($SECONDS - $TS)) -gt 90 ]; then - echo " RETCODE: (timeout after 90s)" >> $HTTPLOG - echo "000" - return 1 - fi - sleep 0.01 - echo " CMD: "$curlString >> $HTTPLOG - res=$($curlString) - if [ $retcode -ne 0 ]; then - echo " RETCODE: "$retcode >> $HTTPLOG - echo "000" - return 1 - fi - echo " RESP: "$res >> $HTTPLOG - status=${res:${#res}-3} - done - if [ $status -eq 200 ]; then - body=${res:0:${#res}-3} - echo $body - return 0 - fi - echo "Status not 200, returning response 000" >> $HTTPLOG - echo "0000" - return 1 - fi - fi -} - +. ../common/api_curl.sh ######################################################### #### Test case functions A1 Policy management service @@ -251,7 +62,7 @@ api_get_policies() { fi if [ $paramError -ne 0 ]; then - __print_err " |NORIC |NOSERVICE |NOTYPE [ NOID | [ EMPTY| ]*]" $@ + __print_err " |NORIC |NOSERVICE |NOTYPE [ NOID | [ EMPTY| ]*]" $@ return 1 fi queryparams="" @@ -274,7 +85,7 @@ api_get_policies() { fi query="/policies"$queryparams - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -297,7 +108,7 @@ api_get_policies() { if [ "$targetJson" != "[" ]; then targetJson=$targetJson"," fi - targetJson=$targetJson"{\"id\":\"${arr[$i]}\",\"lastModified\":\"????\",\"ric\":\"${arr[$i+1]}\",\"service\":\"${arr[$i+2]}\",\"type\":" + targetJson=$targetJson"{\"id\":\"$UUID${arr[$i]}\",\"lastModified\":\"????\",\"ric\":\"${arr[$i+1]}\",\"service\":\"${arr[$i+2]}\",\"type\":" if [ "${arr[$i+3]}" == "EMPTY" ]; then targetJson=$targetJson"\"\"," else @@ -341,8 +152,8 @@ api_get_policy() { return 1 fi - query="/policy?id=$2" - res="$(__do_curl_to_agent GET $query)" + query="/policy?id=$UUID$2" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -382,7 +193,7 @@ api_put_policy() { ((RES_TEST++)) if [ $# -lt 7 ] || [ $# -gt 8 ]; then - __print_err " []" $@ + __print_err " |NOTRANSIENT []" $@ return 1 fi @@ -398,7 +209,7 @@ api_put_policy() { file=$7 while [ $count -lt $max ]; do - query="/policy?id=$pid&ric=$ric&service=$2" + query="/policy?id=$UUID$pid&ric=$ric&service=$2" if [ $4 != "NOTYPE" ]; then query=$query"&type=$4" @@ -410,12 +221,11 @@ api_put_policy() { file=".p.json" sed 's/XXX/'${pid}'/g' $7 > $file - res="$(__do_curl_to_agent PUT $query $file)" + res="$(__do_curl_to_api PA PUT $query $file)" status=${res:${#res}-3} - echo -ne " Creating "$count"("$max")${SAMELINE}" + echo -ne " Executing "$count"("$max")${SAMELINE}" if [ $status -ne $1 ]; then - let pid=$pid+1 - echo " Created "$count"?("$max")" + echo " Executed "$count"?("$max")" echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED ((RES_FAIL++)) __check_stop_at_error @@ -424,7 +234,7 @@ api_put_policy() { let pid=$pid+1 let count=$count+1 - echo -ne " Created "$count"("$max")${SAMELINE}" + echo -ne " Executed "$count"("$max")${SAMELINE}" done echo "" @@ -458,7 +268,7 @@ api_put_policy_batch() { file=$7 ARR="" while [ $count -lt $max ]; do - query="/policy?id=$pid&ric=$ric&service=$2" + query="/policy?id=$UUID$pid&ric=$ric&service=$2" if [ $4 != "NOTYPE" ]; then query=$query"&type=$4" @@ -470,12 +280,11 @@ api_put_policy_batch() { file=".p.json" sed 's/XXX/'${pid}'/g' $7 > $file - res="$(__do_curl_to_agent PUT_BATCH $query $file)" + res="$(__do_curl_to_api PA PUT_BATCH $query $file)" status=${res:${#res}-3} - echo -ne " Requested(batch) "$count"("$max")${SAMELINE}" + echo -ne " Requesting(batch) "$count"("$max")${SAMELINE}" if [ $status -ne 200 ]; then - let pid=$pid+1 echo " Requested(batch) "$count"?("$max")" echo -e $RED" FAIL. Exepected status 200 (in request), got "$status $ERED ((RES_FAIL++)) @@ -493,13 +302,12 @@ api_put_policy_batch() { count=0 for cid in $ARR; do - res="$(__do_curl_to_agent RESPONSE $cid)" + res="$(__do_curl_to_api PA RESPONSE $cid)" status=${res:${#res}-3} - echo -ne " Created(batch) "$count"("$max")${SAMELINE}" + echo -ne " Requesting(batch) "$count"("$max")${SAMELINE}" if [ $status -ne $1 ]; then - let pid=$pid+1 - echo " Created(batch) "$count"?("$max")" + echo " Requested(batch) "$count"?("$max")" echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED ((RES_FAIL++)) __check_stop_at_error @@ -507,7 +315,7 @@ api_put_policy_batch() { fi let count=$count+1 - echo -ne " Created(batch) "$count"("$max")${SAMELINE}" + echo -ne " Requested(batch) "$count"("$max")${SAMELINE}" done echo "" @@ -562,8 +370,12 @@ api_put_policy_parallel() { for ((i=1; i<=$pids; i++)) do + uuid=$UUID + if [ -z "$uuid" ]; then + uuid="NOUUID" + fi echo "" > ".pid${i}.res.txt" - echo $resp_code $urlbase $ric_base $num_rics $start_id $template $count $pids $i > ".pid${i}.txt" + echo $resp_code $urlbase $ric_base $num_rics $uuid $start_id $template $count $pids $i > ".pid${i}.txt" echo $i done | xargs -n 1 -I{} -P $pids bash -c '{ arg=$(echo {}) @@ -590,7 +402,7 @@ api_put_policy_parallel() { fi done if [ -z $msg ]; then - echo " $(($count*$num_rics)) policies created/updated" + echo " $(($count*$num_rics)) policy request(s) executed" ((RES_PASS++)) echo -e $GREEN" PASS"$EGREEN return 0 @@ -625,13 +437,13 @@ api_delete_policy() { pid=$2 while [ $count -lt $max ]; do - query="/policy?id="$pid - res="$(__do_curl_to_agent DELETE $query)" + query="/policy?id="$UUID$pid + res="$(__do_curl_to_api PA DELETE $query)" status=${res:${#res}-3} - echo -ne " Deleting "$count"("$max")${SAMELINE}" + echo -ne " Executing "$count"("$max")${SAMELINE}" if [ $status -ne $1 ]; then - echo " Deleted "$count"?("$max")" + echo " Executed "$count"?("$max")" echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED ((RES_FAIL++)) __check_stop_at_error @@ -639,7 +451,7 @@ api_delete_policy() { fi let pid=$pid+1 let count=$count+1 - echo -ne " Deleted "$count"("$max")${SAMELINE}" + echo -ne " Executed "$count"("$max")${SAMELINE}" done echo "" @@ -671,13 +483,12 @@ api_delete_policy_batch() { pid=$2 ARR="" while [ $count -lt $max ]; do - query="/policy?id="$pid - res="$(__do_curl_to_agent DELETE_BATCH $query)" + query="/policy?id="$UUID$pid + res="$(__do_curl_to_api PA DELETE_BATCH $query)" status=${res:${#res}-3} - echo -ne " Requested(batch) "$count"("$max")${SAMELINE}" + echo -ne " Requesting(batch) "$count"("$max")${SAMELINE}" if [ $status -ne 200 ]; then - let pid=$pid+1 echo " Requested(batch) "$count"?("$max")" echo -e $RED" FAIL. Exepected status 200 (in request), got "$status $ERED ((RES_FAIL++)) @@ -696,12 +507,11 @@ api_delete_policy_batch() { count=0 for cid in $ARR; do - res="$(__do_curl_to_agent RESPONSE $cid)" + res="$(__do_curl_to_api PA RESPONSE $cid)" status=${res:${#res}-3} echo -ne " Deleted(batch) "$count"("$max")${SAMELINE}" if [ $status -ne $1 ]; then - let pid=$pid+1 echo " Deleted(batch) "$count"?("$max")" echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED ((RES_FAIL++)) @@ -747,8 +557,12 @@ api_delete_policy_parallel() { for ((i=1; i<=$pids; i++)) do + uuid=$UUID + if [ -z "$uuid" ]; then + uuid="NOUUID" + fi echo "" > ".pid${i}.del.res.txt" - echo $resp_code $urlbase $num_rics $start_id $count $pids $i > ".pid${i}.del.txt" + echo $resp_code $urlbase $num_rics $uuid $start_id $count $pids $i > ".pid${i}.del.txt" echo $i done | xargs -n 1 -I{} -P $pids bash -c '{ arg=$(echo {}) @@ -775,7 +589,7 @@ api_delete_policy_parallel() { fi done if [ -z $msg ]; then - echo " $(($count*$num_rics)) deleted" + echo " $(($count*$num_rics)) policy request(s) executed" ((RES_PASS++)) echo -e $GREEN" PASS"$EGREEN return 0 @@ -822,7 +636,7 @@ api_get_policy_ids() { fi query="/policy_ids"$queryparams - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -841,7 +655,7 @@ api_get_policy_ids() { targetJson=$targetJson"," fi if [ $pid != "NOID" ]; then - targetJson=$targetJson"\"$pid\"" + targetJson=$targetJson"\"$UUID$pid\"" fi done @@ -876,7 +690,7 @@ api_get_policy_schema() { fi query="/policy_schema?id=$2" - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -925,7 +739,7 @@ api_get_policy_schemas() { query=$query"?ric="$2 fi - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -998,9 +812,9 @@ api_get_policy_status() { return 1 fi - query="/policy_status?id="$2 + query="/policy_status?id="$UUID$2 - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1047,7 +861,7 @@ api_get_policy_types() { query="/policy_types?ric=$2" fi - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1104,7 +918,7 @@ api_get_status() { return 1 fi query="/status" - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1137,7 +951,7 @@ api_get_ric() { query="/ric?managedElementId="$2 - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1182,7 +996,7 @@ api_get_rics() { query="/rics?policyType="$2 fi - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1239,7 +1053,7 @@ api_put_service() { file=".tmp.json" echo "$json" > $file - res="$(__do_curl_to_agent PUT $query $file)" + res="$(__do_curl_to_api PA PUT $query $file)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1287,7 +1101,7 @@ api_get_services() { query="/services?name="$2 fi - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1344,7 +1158,7 @@ api_get_service_ids() { fi query="/services" - res="$(__do_curl_to_agent GET $query)" + res="$(__do_curl_to_api PA GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1393,7 +1207,7 @@ api_delete_services() { fi query="/services?name="$2 - res="$(__do_curl_to_agent DELETE $query)" + res="$(__do_curl_to_api PA DELETE $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then @@ -1422,7 +1236,7 @@ api_put_services_keepalive() { fi query="/services/keepalive?name="$2 - res="$(__do_curl_to_agent PUT $query)" + res="$(__do_curl_to_api PA PUT $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then