X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2Fecs_api_functions.sh;h=6c4317342b471231ec588e91871cfc78223115d9;hb=f2bfafab18e7fb197a7e351a4f6a89c2936cbb5c;hp=dfa6e4b88e955b573f96b863af3eacbd7268ecac;hpb=39ad50eaea46a2fadb4f85ffda02cc90acd0d8d5;p=nonrtric.git diff --git a/test/common/ecs_api_functions.sh b/test/common/ecs_api_functions.sh index dfa6e4b8..6c431734 100644 --- a/test/common/ecs_api_functions.sh +++ b/test/common/ecs_api_functions.sh @@ -21,43 +21,70 @@ . ../common/api_curl.sh -############### EXPERIMENTAL ############# +# Tests if a variable value in the ECS is equal to a target value and and optional timeout. +# Arg: - This test set pass or fail depending on if the variable is +# equal to the target or not. +# Arg: - This test waits up to the timeout seconds +# before setting pass or fail depending on if the variable value becomes equal to the target +# value or not. +# (Function for test scripts) +ecs_equal() { + if [ $# -eq 2 ] || [ $# -eq 3 ]; then + __var_test ECS "$LOCALHOST$ECS_EXTERNAL_PORT/" $1 "=" $2 $3 + else + __print_err "Wrong args to ecs_equal, needs two or three args: [ timeout ]" $@ + fi +} -########################################## -###### Mainly only function skeletons #### -########################################## ########################################## -### A1-E Enrichment Data Consumer API #### +######### A1-E Enrichment API ########## ########################################## #Function prefix: ecs_api_a1 # API Test function: GET /A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs # args: |NOOWNER [ EMPTY | + ] +# args (flat uri structure): |NOTYPE |NOOWNER [ EMPTY | + ] # (Function for test scripts) ecs_api_a1_get_job_ids() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - # Valid number of parameters 3,4,5,6 etc - if [ $# -lt 1 ]; then - __print_err " |NOOWNER [ EMPTY | + ]" $@ - return 1 + if [ -z "$FLAT_A1_EI" ]; then + # Valid number of parameters 4,5,6 etc + if [ $# -lt 3 ]; then + __print_err " |NOOWNER [ EMPTY | + ]" $@ + return 1 + fi + else + echo -e $YELLOW"USING NOT CONFIRMED INTERFACE - FLAT URI STRUCTURE"$EYELLOW + # Valid number of parameters 4,5,6 etc + if [ $# -lt 3 ]; then + __print_err " |NOTYPE |NOOWNER [ EMPTY | + ]" $@ + return 1 + fi fi - owner="" + search="" if [ $3 != "NOWNER" ]; then - owner="?owner="$3 + search="?owner="$3 fi - query="/A1-EI/v1/eitypes/$2/eijobs$owner" + if [ -z "$FLAT_A1_EI" ]; then + query="/A1-EI/v1/eitypes/$2/eijobs$search" + else + if [ $2 != "NOTYPE" ]; then + if [ -z "$search" ]; then + search="?eiTypeId="$2 + else + search=$search"&eiTypeId="$2 + fi + fi + query="/A1-EI/v1/eijobs$search" + fi res="$(__do_curl_to_api ECS GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi @@ -79,15 +106,12 @@ ecs_api_a1_get_job_ids() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -95,9 +119,7 @@ ecs_api_a1_get_job_ids() { # args: [] # (Function for test scripts) ecs_api_a1_get_type() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 2 ] || [ $# -gt 3 ]; then __print_err " []" $@ @@ -109,9 +131,7 @@ ecs_api_a1_get_type() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi @@ -120,26 +140,24 @@ ecs_api_a1_get_type() { if [ -f $3 ]; then schema=$(cat $3) else - echo -e $RED" FAIL. Schema file "$3", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_general "Schema file "$3", does not exist" return 1 fi - targetJson="{\"eiJobParametersSchema\":$schema}" + if [ -z "$FLAT_A1_EI" ]; then + targetJson="{\"eiJobParametersSchema\":$schema}" + else + targetJson=$schema + fi echo " TARGET JSON: $targetJson" >> $HTTPLOG res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -147,9 +165,7 @@ ecs_api_a1_get_type() { # args: [ (EMPTY | []+) ] # (Function for test scripts) ecs_api_a1_get_type_ids() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 1 ]; then __print_err " [ (EMPTY | []+) ]" $@ @@ -161,9 +177,7 @@ ecs_api_a1_get_type_ids() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi if [ $# -gt 1 ]; then @@ -182,181 +196,245 @@ ecs_api_a1_get_type_ids() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: GET ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId}​/status # args: [] +# args (flat uri structure): [] # (Function for test scripts) ecs_api_a1_get_job_status() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - if [ $# -ne 3 ] && [ $# -ne 4 ]; then - __print_err " " $@ - return 1 - fi + if [ -z "$FLAT_A1_EI" ]; then + if [ $# -ne 3 ] && [ $# -ne 4 ]; then + __print_err " []" $@ + return 1 + fi - query="/A1-EI/v1/eitypes/$2/eijobs/$3/status" - res="$(__do_curl_to_api ECS GET $query)" - status=${res:${#res}-3} + query="/A1-EI/v1/eitypes/$2/eijobs/$3/status" - if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 - fi - if [ $# -eq 4 ]; then - body=${res:0:${#res}-3} - targetJson="{\"operationalState\": \"$4\"}" - echo " TARGET JSON: $targetJson" >> $HTTPLOG - res=$(python3 ../common/compare_json.py "$targetJson" "$body") + res="$(__do_curl_to_api ECS GET $query)" + status=${res:${#res}-3} - if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + if [ $status -ne $1 ]; then + __log_test_fail_status_code $1 $status + return 1 + fi + if [ $# -eq 4 ]; then + body=${res:0:${#res}-3} + targetJson="{\"operationalState\": \"$4\"}" + echo " TARGET JSON: $targetJson" >> $HTTPLOG + res=$(python3 ../common/compare_json.py "$targetJson" "$body") + + if [ $res -ne 0 ]; then + __log_test_fail_body + return 1 + fi + fi + else + echo -e $YELLOW"USING NOT CONFIRMED INTERFACE - FLAT URI STRUCTURE"$EYELLOW + if [ $# -ne 2 ] && [ $# -ne 3 ]; then + __print_err " []" $@ + return 1 + fi + + query="/A1-EI/v1/eijobs/$2/status" + + res="$(__do_curl_to_api ECS GET $query)" + status=${res:${#res}-3} + + if [ $status -ne $1 ]; then + __log_test_fail_status_code $1 $status return 1 fi + if [ $# -eq 3 ]; then + body=${res:0:${#res}-3} + targetJson="{\"eiJobStatus\": \"$3\"}" + echo " TARGET JSON: $targetJson" >> $HTTPLOG + res=$(python3 ../common/compare_json.py "$targetJson" "$body") + + if [ $res -ne 0 ]; then + __log_test_fail_body + return 1 + fi + fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: GET ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId} # args: [ ] +# args (flat uri structure): [ ] # (Function for test scripts) ecs_api_a1_get_job() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - if [ $# -ne 3 ] && [ $# -ne 6 ]; then - __print_err " [ ]" $@ - return 1 + if [ -z "$FLAT_A1_EI" ]; then + if [ $# -ne 3 ] && [ $# -ne 6 ]; then + __print_err " [ ]" $@ + return 1 + fi + query="/A1-EI/v1/eitypes/$2/eijobs/$3" + else + echo -e $YELLOW"USING NOT CONFIRMED INTERFACE - FLAT URI STRUCTURE"$EYELLOW + if [ $# -ne 2 ] && [ $# -ne 7 ]; then + __print_err " [ ]" $@ + return 1 + fi + query="/A1-EI/v1/eijobs/$2" fi - - query="/A1-EI/v1/eitypes/$2/eijobs/$3" res="$(__do_curl_to_api ECS GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi - if [ $# -eq 6 ]; then - body=${res:0:${#res}-3} + if [ -z "$FLAT_A1_EI" ]; then + if [ $# -eq 6 ]; then + body=${res:0:${#res}-3} - if [ -f $6 ]; then - jobfile=$(cat $6) - jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g") - else - echo -e $RED" FAIL. Job template file "$6", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 + if [ -f $6 ]; then + jobfile=$(cat $6) + jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g") + else + _log_test_fail_general "Job template file "$6", does not exist" + return 1 + fi + targetJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}" + echo " TARGET JSON: $targetJson" >> $HTTPLOG + res=$(python3 ../common/compare_json.py "$targetJson" "$body") + + if [ $res -ne 0 ]; then + __log_test_fail_body + return 1 + fi fi - targetJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}" - echo " TARGET JSON: $targetJson" >> $HTTPLOG - res=$(python3 ../common/compare_json.py "$targetJson" "$body") + else + if [ $# -eq 7 ]; then + body=${res:0:${#res}-3} - if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 + if [ -f $7 ]; then + jobfile=$(cat $7) + jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g") + else + _log_test_fail_general "Job template file "$6", does not exist" + return 1 + fi + targetJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}" + echo " TARGET JSON: $targetJson" >> $HTTPLOG + res=$(python3 ../common/compare_json.py "$targetJson" "$body") + + if [ $res -ne 0 ]; then + __log_test_fail_body + return 1 + fi fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: DELETE ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId} # args: +# args (flat uri structure): # (Function for test scripts) ecs_api_a1_delete_job() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - if [ $# -lt 3 ]; then - __print_err " " $@ - return 1 - fi + if [ -z "$FLAT_A1_EI" ]; then + if [ $# -ne 3 ]; then + __print_err " " $@ + return 1 + fi - query="/A1-EI/v1/eitypes/$2/eijobs/$3" + query="/A1-EI/v1/eitypes/$2/eijobs/$3" + else + echo -e $YELLOW"USING NOT CONFIRMED INTERFACE - FLAT URI STRUCTURE"$EYELLOW + if [ $# -ne 2 ]; then + __print_err " " $@ + return 1 + fi + query="/A1-EI/v1/eijobs/$2" + fi res="$(__do_curl_to_api ECS DELETE $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: PUT ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId} # args: +# args (flat uri structure): # (Function for test scripts) ecs_api_a1_put_job() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - if [ $# -lt 6 ]; then - __print_err " " $@ - return 1 - fi - if [ -f $6 ]; then - jobfile=$(cat $6) - jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g") + if [ -z "$FLAT_A1_EI" ]; then + if [ $# -lt 6 ]; then + __print_err " " $@ + return 1 + fi + if [ -f $6 ]; then + jobfile=$(cat $6) + jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g") + else + _log_test_fail_general "Job template file "$6", does not exist" + return 1 + fi + + inputJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}" + file="./tmp/.p.json" + echo "$inputJson" > $file + + query="/A1-EI/v1/eitypes/$2/eijobs/$3" else - echo -e $RED" FAIL. Job template file "$6", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 - fi + echo -e $YELLOW"USING NOT CONFIRMED INTERFACE - FLAT URI STRUCTURE"$EYELLOW + if [ $# -lt 7 ]; then + __print_err " " $@ + return 1 + fi + if [ -f $7 ]; then + jobfile=$(cat $7) + jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g") + else + _log_test_fail_general "Job template file "$7", does not exist" + return 1 + fi - inputJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}" - file="./tmp/.p.json" - echo "$inputJson" > $file + inputJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}" + file="./tmp/.p.json" + echo "$inputJson" > $file + + query="/A1-EI/v1/eijobs/$2" + fi - query="/A1-EI/v1/eitypes/$2/eijobs/$3" res="$(__do_curl_to_api ECS PUT $query $file)" status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -370,9 +448,7 @@ ecs_api_a1_put_job() { # args: [ EMPTY | +] # (Function for test scripts) ecs_api_edp_get_type_ids() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 1 ]; then __print_err " [ EMPTY | +]" $@ @@ -384,9 +460,7 @@ ecs_api_edp_get_type_ids() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi @@ -406,58 +480,74 @@ ecs_api_edp_get_type_ids() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: GET /ei-producer/v1/eiproducers/{eiProducerId}/status -# args: [] +# args: [ []] # (Function for test scripts) ecs_api_edp_get_producer_status() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - if [ $# -lt 2 ] || [ $# -gt 3 ]; then - __print_err " []" $@ + if [ $# -lt 2 ] || [ $# -gt 4 ]; then + __print_err " [ []]" $@ return 1 fi query="/ei-producer/v1/eiproducers/$2/status" - res="$(__do_curl_to_api ECS GET $query)" - status=${res:${#res}-3} - - if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 - fi - if [ $# -eq 3 ]; then - body=${res:0:${#res}-3} - targetJson="{\"operational_state\": \"$3\"}" - echo " TARGET JSON: $targetJson" >> $HTTPLOG - res=$(python3 ../common/compare_json.py "$targetJson" "$body") - - if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error - return 1 + start=$SECONDS + for (( ; ; )); do + res="$(__do_curl_to_api ECS GET $query)" + status=${res:${#res}-3} + + if [ $# -eq 4 ]; then + duration=$((SECONDS-start)) + echo -ne " Response=${status} after ${duration} seconds, waiting for ${3} ${SAMELINE}" + if [ $duration -gt $4 ]; then + echo "" + duration=-1 #Last iteration + fi + else + duration=-1 #single test, no wait fi - fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN - return 0 + if [ $status -ne $1 ]; then + if [ $duration -eq -1 ]; then + __log_test_fail_status_code $1 $status + return 1 + fi + fi + if [ $# -ge 3 ] && [ $status -eq $1 ]; then + body=${res:0:${#res}-3} + targetJson="{\"operational_state\": \"$3\"}" + echo " TARGET JSON: $targetJson" >> $HTTPLOG + res=$(python3 ../common/compare_json.py "$targetJson" "$body") + + if [ $res -ne 0 ]; then + if [ $duration -eq -1 ]; then + __log_test_fail_body + return 1 + fi + else + duration=-1 #Goto pass + fi + fi + if [ $duration -eq -1 ]; then + if [ $# -eq 4 ]; then + echo "" + fi + __log_test_pass + return 0 + else + sleep 1 + fi + done } @@ -465,9 +555,7 @@ ecs_api_edp_get_producer_status() { # args: [ EMPTY | +] # (Function for test scripts) ecs_api_edp_get_producer_ids() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 1 ]; then __print_err " [ EMPTY | +]" $@ @@ -479,9 +567,7 @@ ecs_api_edp_get_producer_ids() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi @@ -503,15 +589,12 @@ ecs_api_edp_get_producer_ids() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -519,9 +602,7 @@ ecs_api_edp_get_producer_ids() { # args: [ (EMPTY | []+)] # (Function for test scripts) ecs_api_edp_get_type() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ paramError=1 if [ $# -eq 2 ]; then @@ -540,9 +621,7 @@ ecs_api_edp_get_type() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi if [ $# -gt 3 ]; then @@ -551,9 +630,7 @@ ecs_api_edp_get_type() { if [ -f $3 ]; then schema=$(cat $3) else - echo -e $RED" FAIL. Job template file "$3", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_general "Job template file "$3", does not exist" return 1 fi @@ -572,40 +649,35 @@ ecs_api_edp_get_type() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: GET /ei-producer/v1/eiproducers/{eiProducerId} -# args: [ (EMPTY | [ ]+) ] +# args: [ (EMPTY | [ ]+) ] # (Function for test scripts) ecs_api_edp_get_producer() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - #Possible arg count: 2, 6 7, 9, 11 etc + #Possible arg count: 2, 5 6, 8, 10 etc paramError=1 if [ $# -eq 2 ]; then paramError=0 fi - if [ $# -eq 6 ] && [ "$6" == "EMPTY" ]; then + if [ $# -eq 5 ] && [ "$5" == "EMPTY" ]; then paramError=0 fi - variablecount=$(($#-5)) + variablecount=$(($#-4)) if [ $# -gt 5 ] && [ $(($variablecount%2)) -eq 0 ]; then paramError=0 fi if [ $paramError -ne 0 ]; then - __print_err " [ (NOID | [ ]+) ]" $@ + __print_err " [ (NOID | [ ]+) ]" $@ return 1 fi @@ -614,27 +686,23 @@ ecs_api_edp_get_producer() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi if [ $# -gt 2 ]; then body=${res:0:${#res}-3} targetJson="[" - if [ $# -gt 6 ]; then - arr=(${@:6}) - for ((i=0; i<$(($#-6)); i=i+2)); do + if [ $# -gt 5 ]; then + arr=(${@:5}) + for ((i=0; i<$(($#-5)); i=i+2)); do if [ "$targetJson" != "[" ]; then targetJson=$targetJson"," fi if [ -f ${arr[$i+1]} ]; then schema=$(cat ${arr[$i+1]}) else - echo -e $RED" FAIL. Schema file "${arr[$i+1]}", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error + _log_test_fail_general "Schema file "${arr[$i+1]}", does not exist" return 1 fi @@ -643,21 +711,18 @@ ecs_api_edp_get_producer() { fi targetJson=$targetJson"]" if [ $# -gt 4 ]; then - targetJson="{\"supported_ei_types\":$targetJson,\"ei_job_creation_callback_url\": \"$3\",\"ei_job_deletion_callback_url\": \"$4\",\"ei_producer_supervision_callback_url\": \"$5\"}" + targetJson="{\"supported_ei_types\":$targetJson,\"ei_job_callback_url\": \"$3\",\"ei_producer_supervision_callback_url\": \"$4\"}" fi echo " TARGET JSON: $targetJson" >> $HTTPLOG res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -665,9 +730,7 @@ ecs_api_edp_get_producer() { # args: # (Function for test scripts) ecs_api_edp_delete_producer() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 2 ]; then __print_err " " $@ @@ -679,50 +742,43 @@ ecs_api_edp_delete_producer() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: PUT /ei-producer/v1/eiproducers/{eiProducerId} -# args: NOTYPE|[ ]+ +# args: NOTYPE|[ ]+ # (Function for test scripts) ecs_api_edp_put_producer() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - #Valid number of parametrer 6,7,9,11, + #Valid number of parametrer 5,6,8,10, paramError=1 - if [ $# -eq 6 ] && [ "$6" == "NOTYPE" ]; then + if [ $# -eq 5 ] && [ "$5" == "NOTYPE" ]; then paramError=0 - elif [ $# -gt 6 ] && [ $(($#%2)) -eq 1 ]; then + elif [ $# -gt 5 ] && [ $(($#%2)) -eq 0 ]; then paramError=0 fi if [ $paramError -ne 0 ]; then - __print_err " [ ]+" $@ + __print_err " NOTYPE|[ ]+" $@ return 1 fi inputJson="[" - if [ $# -gt 6 ]; then - arr=(${@:6}) - for ((i=0; i<$(($#-6)); i=i+2)); do + if [ $# -gt 5 ]; then + arr=(${@:5}) + for ((i=0; i<$(($#-5)); i=i+2)); do if [ "$inputJson" != "[" ]; then inputJson=$inputJson"," fi if [ -f ${arr[$i+1]} ]; then schema=$(cat ${arr[$i+1]}) else - echo -e $RED" FAIL. Schema file "${arr[$i+1]}", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error + _log_test_fail_general "Schema file "${arr[$i+1]}", does not exist" return 1 fi inputJson=$inputJson"{\"ei_type_identity\":\"${arr[$i]}\",\"ei_job_data_schema\":$schema}" @@ -730,7 +786,7 @@ ecs_api_edp_put_producer() { fi inputJson="\"supported_ei_types\":"$inputJson"]" - inputJson=$inputJson",\"ei_job_creation_callback_url\": \"$3\",\"ei_job_deletion_callback_url\": \"$4\",\"ei_producer_supervision_callback_url\": \"$5\"" + inputJson=$inputJson",\"ei_job_callback_url\": \"$3\",\"ei_producer_supervision_callback_url\": \"$4\"" inputJson="{"$inputJson"}" @@ -741,26 +797,21 @@ ecs_api_edp_put_producer() { status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } # API Test function: GET /ei-producer/v1/eiproducers/{eiProducerId}/eijobs -# args: (EMPTY | [ ]+) +# args: (EMPTY | [ ]+) # (Function for test scripts) ecs_api_edp_get_producer_jobs() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ - #Valid number of parameter 2,3,6,10 + #Valid number of parameter 2,3,7,11 paramError=1 if [ $# -eq 2 ]; then paramError=0 @@ -769,11 +820,11 @@ ecs_api_edp_get_producer_jobs() { paramError=0 fi variablecount=$(($#-2)) - if [ $# -gt 3 ] && [ $(($variablecount%4)) -eq 0 ]; then + if [ $# -gt 3 ] && [ $(($variablecount%5)) -eq 0 ]; then paramError=0 fi if [ $paramError -eq 1 ]; then - __print_err " (EMPTY | [ ]+)" $@ + __print_err " (EMPTY | [ ]+)" $@ return 1 fi @@ -781,9 +832,7 @@ ecs_api_edp_get_producer_jobs() { res="$(__do_curl_to_api ECS GET $query)" status=${res:${#res}-3} if [ $status -ne $1 ]; then - echo -e $RED" FAIL. Exepected status "$1", got "$status $ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_status_code $1 $status return 1 fi if [ $# -gt 2 ]; then @@ -791,20 +840,18 @@ ecs_api_edp_get_producer_jobs() { targetJson="[" if [ $# -gt 3 ]; then arr=(${@:3}) - for ((i=0; i<$(($#-3)); i=i+4)); do + for ((i=0; i<$(($#-3)); i=i+5)); do if [ "$targetJson" != "[" ]; then targetJson=$targetJson"," fi - if [ -f ${arr[$i+3]} ]; then - jobfile=$(cat ${arr[$i+3]}) + if [ -f ${arr[$i+4]} ]; then + jobfile=$(cat ${arr[$i+4]}) jobfile=$(echo "$jobfile" | sed "s/XXXX/${arr[$i]}/g") else - echo -e $RED" FAIL. Job template file "${arr[$i+3]}", does not exist"$ERED - ((RES_FAIL++)) - __check_stop_at_error + _log_test_fail_general "Job template file "${arr[$i+4]}", does not exist" return 1 fi - targetJson=$targetJson"{\"ei_job_identity\":\"${arr[$i]}\",\"ei_type_identity\":\"${arr[$i+1]}\",\"target_uri\":\"${arr[$i+2]}\",\"ei_job_data\":$jobfile}" + targetJson=$targetJson"{\"ei_job_identity\":\"${arr[$i]}\",\"ei_type_identity\":\"${arr[$i+1]}\",\"target_uri\":\"${arr[$i+2]}\",\"owner\":\"${arr[$i+3]}\",\"ei_job_data\":$jobfile}" done fi targetJson=$targetJson"]" @@ -813,15 +860,12 @@ ecs_api_edp_get_producer_jobs() { res=$(python3 ../common/compare_json.py "$targetJson" "$body") if [ $res -ne 0 ]; then - echo -e $RED" FAIL, returned body not correct"$ERED - ((RES_FAIL++)) - __check_stop_at_error + __log_test_fail_body return 1 fi fi - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + __log_test_pass return 0 } @@ -835,16 +879,18 @@ ecs_api_edp_get_producer_jobs() { # args: # (Function for test scripts) ecs_api_service_status() { - echo -e $BOLD"TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ $EBOLD - echo "TEST(${BASH_LINENO[0]}): ${FUNCNAME[0]}" $@ >> $HTTPLOG - ((RES_TEST++)) + __log_test_start $@ if [ $# -lt 1 ]; then __print_err " []*|NOID" $@ return 1 fi - - ((RES_PASS++)) - echo -e $GREEN" PASS"$EGREEN + res="$(__do_curl_to_api ECS GET /status)" + status=${res:${#res}-3} + if [ $status -ne $1 ]; then + __log_test_fail_status_code $1 $status + return 1 + fi + __log_test_pass return 0 } \ No newline at end of file