Restructure test cases and upgraded test environment
[nonrtric.git] / test / common / agent_api_functions.sh
index 2091d65..8ec8fdb 100644 (file)
 
 ### 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 <url> [<file>]) | (RESPONSE <correlation-id>)
-# (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 == $RESTBASE ] || [ $ADAPTER == $RESTBASE_SECURE ]; 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 <url> [<file>]) | (RESPONSE <correlation-id>) [<file>]" >> $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 -k -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 -k -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
@@ -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
@@ -342,7 +153,7 @@ api_get_policy() {
     fi
 
        query="/policy?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
@@ -410,11 +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
-                       echo " Created "$count"?("$max")"
+                       echo " Executed "$count"?("$max")"
                        echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED
                        ((RES_FAIL++))
                        __check_stop_at_error
@@ -423,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 ""
 
@@ -469,9 +280,9 @@ 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
                        echo " Requested(batch) "$count"?("$max")"
@@ -491,12 +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
-                       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
@@ -504,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 ""
@@ -591,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
@@ -627,12 +438,12 @@ api_delete_policy() {
 
        while [ $count -lt $max ]; do
                query="/policy?id="$UUID$pid
-               res="$(__do_curl_to_agent DELETE $query)"
+               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
@@ -640,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 ""
 
@@ -673,9 +484,9 @@ api_delete_policy_batch() {
        ARR=""
        while [ $count -lt $max ]; do
                query="/policy?id="$UUID$pid
-               res="$(__do_curl_to_agent DELETE_BATCH $query)"
+               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
                        echo " Requested(batch) "$count"?("$max")"
@@ -696,7 +507,7 @@ 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}"
 
@@ -778,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
@@ -825,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
@@ -879,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
@@ -928,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
@@ -1003,7 +814,7 @@ api_get_policy_status() {
 
        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
@@ -1050,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
@@ -1107,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
@@ -1140,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
@@ -1185,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
@@ -1242,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
@@ -1290,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
@@ -1347,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
@@ -1396,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
@@ -1425,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