@@ -33,9 +33,9 @@ run() {
3333 ACCESS_TOKEN=$( jq -r ' .accessToken' $FILE )
3434 ID_TOKEN=$( jq -r ' .idToken' $FILE )
3535
36- case $ACTION in
36+ case $1 in
3737 all)
38- run
38+ api_factory " $( jq -r ' .testCases | keys[] ' $FILE ) "
3939 ;;
4040 * )
4141 api_factory $@
@@ -45,30 +45,39 @@ run() {
4545
4646api_factory () {
4747 for TEST_CASE in $@ ; do
48- echo_v " ${BOLD} Running Case:${RESET} $1 "
48+ echo " ${BOLD} Running Case:${RESET} $TEST_CASE "
4949 echo_v " ${BOLD} Description: ${RESET} $( jq -r " .testCases.$TEST_CASE .description" $FILE ) "
5050 echo_v
5151 ROUTE=$( jq -r " .testCases.$TEST_CASE .path" $FILE )
5252 BODY=" $( jq -r " .testCases.$TEST_CASE .body" $FILE ) "
5353 QUERY_PARAMS=$( cat $FILE | jq -r " .testCases.$TEST_CASE | select(.query != null) | .query | to_entries | map(\" \(.key)=\(.value|tostring)\" ) | join(\" &\" ) | \" ?\" + . " )
54- METHOD=" $( jq -r " .testCases.$TEST_CASE .method //\" GET\" " $FILE ) "
54+ METHOD=" $( jq -r " .testCases.$TEST_CASE .method //\" GET\" | ascii_upcase " $FILE ) "
5555 call_api
56+ echo " "
57+ echo " "
5658 done
5759}
5860
5961call_api () {
60- # curl -is --request POST $URL$ROUTE$QUERY_PARAMS \
61- # --header "Authorization: Bearer $ID_TOKEN:$ACCESS_TOKEN" \
62- # --data "$BODY" -w '\n\n\n\n%{json}'
62+ echo " $METHOD $URL$ROUTE$QUERY_PARAMS "
6363 local raw_output=$( curl -is --request $METHOD $URL$ROUTE$QUERY_PARAMS \
6464 --header " Authorization: Bearer $ACCESS_TOKEN : $ID_TOKEN " \
65- --data " $BODY " -w ' \n{ "ResponseTime": "%{time_total}s" }' )
65+ --data " $BODY " -w ' \n{ "ResponseTime": "%{time_total}s" }' || echo " AUTO_API_ERROR" )
66+ if [[ $raw_output == * " AUTO_API_ERROR" * ]]; then
67+ echo " Problem connecting to $URL "
68+ return 1
69+ fi
6670 local header=" $( awk -v bl=1 ' bl{bl=0; h=($0 ~ /HTTP\//)} /^\r?$/{bl=1} {if(h)print $0 }' <<< " $raw_output" ) "
6771 local json=$( jq -c -R -r ' . as $line | try fromjson' <<< " $raw_output" )
6872 BODY=$( sed -n 1p <<< " $json" )
6973 META=$( sed 1d <<< " $json" )
7074 parse_header " $header "
71- echo " $HEADER "
75+ echo " HEADER:"
76+ echo " $HEADER " | jq -C
77+ echo " BODY:"
78+ echo " $BODY " | jq -C
79+ echo " META:"
80+ echo " $META " | jq -C
7281}
7382
7483function parse_header() {
0 commit comments