X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2Fapi_curl.sh;h=e99f5791f94f0028e2c24a07ba4185ef21f32592;hb=d2aeca8843fe3ffca2e73dec5b64daeef0dda938;hp=daa2c294f3e12d5d8e5d5f14eb193ca092f6ecf0;hpb=be9a07faf8fbc1030404bbc71f409eb5e19736ba;p=nonrtric.git diff --git a/test/common/api_curl.sh b/test/common/api_curl.sh index daa2c294..e99f5791 100644 --- a/test/common/api_curl.sh +++ b/test/common/api_curl.sh @@ -17,37 +17,42 @@ # ============LICENSE_END================================================= # -# Generic function to query the agent/ECS via the REST or DMAAP interface. -# Used by all other agent/ECS api test functions +# Generic function to query the A1PMS/ICS via the REST or DMAAP interface. +# Used by all other A1PMS/ICS api test functions # 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 $XX_ADAPTER -# arg: (PA|ECS|CR|RC GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH | []) | (PA|ECS RESPONSE ) +# arg: (A1PMS|ICS|CR|RC GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH | [ [mime-type]]) | (A1PMS|ICS RESPONSE ) +# Default mime type for file is application/json unless specified in parameter mime-type # (Not for test scripts) __do_curl_to_api() { TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S") echo " (${BASH_LINENO[0]}) - ${TIMESTAMP}: ${FUNCNAME[0]}" $@ >> $HTTPLOG proxyflag="" - if [ $RUNMODE == "KUBE" ]; then - if [ ! -z "$CLUSTER_KUBE_PROXY_NODEPORT" ]; then - proxyflag=" --proxy http://localhost:$CLUSTER_KUBE_PROXY_NODEPORT" + 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 + fname=$4 if [ $# -gt 0 ]; then - if [ $1 == "PA" ]; then - __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 - __ADAPTER_TYPE=$ECS_ADAPTER_TYPE - __RETRY_CODES=$ECS_RETRY_CODES + if [ $1 == "A1PMS" ]; then + __ADAPTER=$A1PMS_ADAPTER + __ADAPTER_TYPE=$A1PMS_ADAPTER_TYPE + __RETRY_CODES=$A1PMS_RETRY_CODES + if [ $A1PMS_VERSION != "V1" ]; then + input_url=$A1PMS_API_PREFIX$3 + fi + elif [ $1 == "ICS" ]; then + __ADAPTER=$ICS_ADAPTER + __ADAPTER_TYPE=$ICS_ADAPTER_TYPE + __RETRY_CODES=$ICS_RETRY_CODES elif [ $1 == "CR" ]; then __ADAPTER=$CR_ADAPTER __ADAPTER_TYPE=$CR_ADAPTER_TYPE @@ -60,17 +65,37 @@ __do_curl_to_api() { __ADAPTER=$NGW_ADAPTER __ADAPTER_TYPE=$NGW_ADAPTER_TYPE __RETRY_CODES="" - else + 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="" + elif [ $1 == "DMAAPMR" ]; then + __ADAPTER=$MR_DMAAP_ADAPTER_HTTP + __ADAPTER_TYPE=$MR_DMAAP_ADAPTER_TYPE + __RETRY_CODES="" + elif [ $1 == "KAFKAPC" ]; then + __ADAPTER=$KAFKAPC_ADAPTER + __ADAPTER_TYPE=$KAFKAPC_ADAPTER_TYPE + __RETRY_CODES="" + else paramError=1 fi - if [ $__ADAPTER_TYPE == "MR-HTTP" ]; then + if [ "$__ADAPTER_TYPE" == "MR-HTTP" ]; then __ADAPTER=$MR_ADAPTER_HTTP fi - if [ $__ADAPTER_TYPE == "MR-HTTPS" ]; then + if [ "$__ADAPTER_TYPE" == "MR-HTTPS" ]; then __ADAPTER=$MR_ADAPTER_HTTPS fi fi - if [ $# -lt 3 ] || [ $# -gt 4 ]; then + if [ $# -lt 3 ] || [ $# -gt 5 ]; then paramError=1 else timeout="" @@ -85,6 +110,10 @@ __do_curl_to_api() { fi if [ $# -gt 3 ]; then content=" -H Content-Type:application/json" + fname=$4 + if [ $# -gt 4 ]; then + content=" -H Content-Type:"$5 + fi fi if [ $2 == "GET" ] || [ $2 == "GET_BATCH" ]; then oper="GET" @@ -93,15 +122,16 @@ __do_curl_to_api() { fi elif [ $2 == "PUT" ] || [ $2 == "PUT_BATCH" ]; then oper="PUT" - if [ $# -eq 4 ]; then - file=" --data-binary @$4" + if [ $# -gt 3 ]; then + file=" --data-binary @$fname" fi accept=" -H accept:application/json" elif [ $2 == "POST" ] || [ $2 == "POST_BATCH" ]; then oper="POST" accept=" -H accept:*/*" - if [ $# -ne 3 ]; then - paramError=1 + if [ $# -gt 3 ]; then + file=" --data-binary @$fname" + accept=" -H accept:application/json" fi elif [ $2 == "DELETE" ] || [ $2 == "DELETE_BATCH" ]; then oper="DELETE" @@ -113,7 +143,6 @@ __do_curl_to_api() { if [ $# -ne 3 ]; then paramError=1 fi - #if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then if [ $__ADAPTER_TYPE == "REST" ]; then paramError=1 fi @@ -125,20 +154,19 @@ __do_curl_to_api() { if [ $paramError -eq 1 ]; then ((RES_CONF_FAIL++)) 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 "-Expected: (A1PMS|ICS GET|PUT|POST|DELETE|GET_BATCH|PUT_BATCH|POST_BATCH|DELETE_BATCH [ [mime-type]]) | (A1PMS|ICS RESPONSE )" >> $HTTPLOG echo "-Returning response 000" >> $HTTPLOG echo "-000" return 1 fi - #if [ $__ADAPTER == $__RESTBASE ] || [ $__ADAPTER == $__RESTBASE_SECURE ]; then if [ $__ADAPTER_TYPE == "REST" ]; then url=" "${__ADAPTER}${input_url} oper=" -X "$oper curlString="curl -k $proxyflag "${oper}${timeout}${httpcode}${accept}${content}${url}${file} echo " CMD: "$curlString >> $HTTPLOG - if [ $# -eq 4 ]; then - echo " FILE: $(<$4)" >> $HTTPLOG + if [ $# -gt 3 ]; then + echo " FILE: $(<$fname)" >> $HTTPLOG fi # Do retry for configured response codes, otherwise only one attempt @@ -174,12 +202,12 @@ __do_curl_to_api() { else if [ $oper != "RESPONSE" ]; then requestUrl=$input_url - if [ $2 == "PUT" ] && [ $# -eq 4 ]; then - payload="$(cat $4 | tr -d '\n' | tr -d ' ' )" + if [ $2 == "PUT" ] && [ $# -gt 3 ]; then + payload="$(cat $fname | tr -d '\n' | tr -d ' ' )" echo "payload: "$payload >> $HTTPLOG file=" --data-binary "$payload - elif [ $# -eq 4 ]; then - echo " FILE: $(cat $4)" >> $HTTPLOG + elif [ $# -gt 3 ]; then + echo " FILE: $(cat $fname)" >> $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]))" "$input_url") @@ -222,7 +250,7 @@ __do_curl_to_api() { echo " RESP: "$res >> $HTTPLOG status=${res:${#res}-3} TS=$SECONDS - # wait of the reply from the agent/ECS... + # wait of the reply from the A1PMS/ICS... while [ $status -eq 204 ]; do if [ $(($SECONDS - $TS)) -gt 90 ]; then echo " RETCODE: (timeout after 90s)" >> $HTTPLOG