X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2Fapi_curl.sh;h=17f80a580d5c21d4cb0921fe4056c4a96e208462;hb=663566c28930429775ea9921f0e32ddf5253da28;hp=2aff131f9c48f9eb462c33d23783c8ed5caf2bbd;hpb=5d97a401dc1e26f64ad57daab90f924da9c12c64;p=nonrtric.git diff --git a/test/common/api_curl.sh b/test/common/api_curl.sh index 2aff131f..17f80a58 100644 --- a/test/common/api_curl.sh +++ b/test/common/api_curl.sh @@ -19,30 +19,71 @@ # Generic function to query the agent/ECS via the REST or DMAAP interface. # Used by all other agent/ECS api test functions -# If operation prefix is '_BATCH' the the send and get response is split in two sequences, +# If operation sufffix 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: (PA|ECS GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH []) | (PA|ECS RESPONSE ) +# REST or DMAAP is controlled of the base url of $XX_ADAPTER +# arg: (PA|ECS|CR|RC GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH | []) | (PA|ECS RESPONSE ) # (Not for test scripts) __do_curl_to_api() { - echo "(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - paramError=0 + TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S") + echo " (${BASH_LINENO[0]}) - ${TIMESTAMP}: ${FUNCNAME[0]}" $@ >> $HTTPLOG + proxyflag="" + if [ ! -z "$KUBE_PROXY_PATH" ]; then + if [ $KUBE_PROXY_HTTPX == "http" ]; then + proxyflag=" --proxy $KUBE_PROXY_PATH" + else + proxyflag=" --proxy-insecure --proxy $KUBE_PROXY_PATH" + fi + fi + paramError=0 + input_url=$3 if [ $# -gt 0 ]; then if [ $1 == "PA" ]; then - __ADAPTER=$ADAPTER - __RESTBASE=$RESTBASE - __RESTBASE_SECURE=$RESTBASE_SECURE + __ADAPTER=$PA_ADAPTER + __ADAPTER_TYPE=$PA_ADAPTER_TYPE __RETRY_CODES=$AGENT_RETRY_CODES + if [ $PMS_VERSION != "V1" ]; then + input_url=$PMS_API_PREFIX$3 + fi elif [ $1 == "ECS" ]; then - __ADAPTER=$ECS_ADAPTER - __RESTBASE=$ECS_RESTBASE - __RESTBASE_SECURE=$ECS_RESTBASE_SECURE + __ADAPTER=$ECS_ADAPTER + __ADAPTER_TYPE=$ECS_ADAPTER_TYPE __RETRY_CODES=$ECS_RETRY_CODES + elif [ $1 == "CR" ]; then + __ADAPTER=$CR_ADAPTER + __ADAPTER_TYPE=$CR_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "RC" ]; then + __ADAPTER=$RC_ADAPTER + __ADAPTER_TYPE=$RC_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "NGW" ]; then + __ADAPTER=$NGW_ADAPTER + __ADAPTER_TYPE=$NGW_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "DMAAPADP" ]; then + __ADAPTER=$DMAAP_ADP_ADAPTER + __ADAPTER_TYPE=$DMAAP_ADP_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "DMAAPMED" ]; then + __ADAPTER=$DMAAP_MED_ADAPTER + __ADAPTER_TYPE=$DMAAP_MED_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "MRSTUB" ]; then + __ADAPTER=$MR_STUB_ADAPTER + __ADAPTER_TYPE=$MR_STUB_ADAPTER_TYPE + __RETRY_CODES="" else paramError=1 fi + if [ $__ADAPTER_TYPE == "MR-HTTP" ]; then + __ADAPTER=$MR_ADAPTER_HTTP + fi + if [ $__ADAPTER_TYPE == "MR-HTTPS" ]; then + __ADAPTER=$MR_ADAPTER_HTTPS + fi fi if [ $# -lt 3 ] || [ $# -gt 4 ]; then paramError=1 @@ -74,8 +115,9 @@ __do_curl_to_api() { elif [ $2 == "POST" ] || [ $2 == "POST_BATCH" ]; then oper="POST" accept=" -H accept:*/*" - if [ $# -ne 3 ]; then - paramError=1 + if [ $# -eq 4 ]; then + file=" --data-binary @$4" + accept=" -H accept:application/json" fi elif [ $2 == "DELETE" ] || [ $2 == "DELETE_BATCH" ]; then oper="DELETE" @@ -87,7 +129,8 @@ __do_curl_to_api() { if [ $# -ne 3 ]; then paramError=1 fi - if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then + #if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then + if [ $__ADAPTER_TYPE == "REST" ]; then paramError=1 fi else @@ -97,17 +140,18 @@ __do_curl_to_api() { if [ $paramError -eq 1 ]; then ((RES_CONF_FAIL++)) - echo "-Incorrect number of parameters to __do_curl_agent " $@ >> $HTTPLOG + echo "-Incorrect number of parameters to __do_curl_to_api " $@ >> $HTTPLOG echo "-Expected: (PA|ECS GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH []) | (PA|ECS RESPONSE )" >> $HTTPLOG echo "-Returning response 000" >> $HTTPLOG echo "-000" return 1 fi - if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then - url=" "${__ADAPTER}${3} + #if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then + if [ $__ADAPTER_TYPE == "REST" ]; then + url=" "${__ADAPTER}${input_url} oper=" -X "$oper - curlString="curl -k "${oper}${timeout}${httpcode}${accept}${content}${url}${file} + curlString="curl -k $proxyflag "${oper}${timeout}${httpcode}${accept}${content}${url}${file} echo " CMD: "$curlString >> $HTTPLOG if [ $# -eq 4 ]; then echo " FILE: $(<$4)" >> $HTTPLOG @@ -145,16 +189,18 @@ __do_curl_to_api() { return 0 else if [ $oper != "RESPONSE" ]; then - requestUrl=$3 + requestUrl=$input_url if [ $2 == "PUT" ] && [ $# -eq 4 ]; then payload="$(cat $4 | tr -d '\n' | tr -d ' ' )" echo "payload: "$payload >> $HTTPLOG file=" --data-binary "$payload + elif [ $# -eq 4 ]; then + echo " FILE: $(cat $4)" >> $HTTPLOG 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]))" "$3") + requestUrl=$(python3 -c "from __future__ import print_function; import urllib.parse, sys; print(urllib.parse.quote(sys.argv[1]))" "$input_url") url=" "${__ADAPTER}"/send-request?url="${requestUrl}"&operation="${oper} - curlString="curl -k -X POST${timeout}${httpcode}${content}${url}${file}" + curlString="curl -k $proxyflag -X POST${timeout}${httpcode}${content}${url}${file}" echo " CMD: "$curlString >> $HTTPLOG res=$($curlString) retcode=$? @@ -180,7 +226,7 @@ __do_curl_to_api() { cid=$3 fi url=" "${__ADAPTER}"/receive-response?correlationid="${cid} - curlString="curl -k -X GET"${timeout}${httpcode}${url} + curlString="curl -k $proxyflag -X GET"${timeout}${httpcode}${url} echo " CMD: "$curlString >> $HTTPLOG res=$($curlString) retcode=$?