diff options
author | Jozsef Csongvai <jozsef.csongvai@bell.ca> | 2021-01-19 12:32:04 -0500 |
---|---|---|
committer | Jozsef Csongvai <jozsef.csongvai@bell.ca> | 2021-01-20 10:02:39 -0500 |
commit | e92fce768cb792f11920f45fdbb38b3af69e212f (patch) | |
tree | 650d0bd49b1c98b49535d3f8aa9f98bb97255532 /cds-regression-test/test/utils.sh | |
parent | bfffa2d982cc506979aaa0b96b6bb352c8dda9a7 (diff) |
Update to latest version
Issue-ID: TEST-295
Signed-off-by: Jozsef Csongvai <jozsef.csongvai@bell.ca>
Change-Id: Ie14e2061c1e0931bf3d555e54c79bb736d140d5c
Diffstat (limited to 'cds-regression-test/test/utils.sh')
-rwxr-xr-x | cds-regression-test/test/utils.sh | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/cds-regression-test/test/utils.sh b/cds-regression-test/test/utils.sh deleted file mode 100755 index a8766d3..0000000 --- a/cds-regression-test/test/utils.sh +++ /dev/null @@ -1,242 +0,0 @@ -#ssert_status_code()!/bin/bash -FAILED_TESTS_LOG="$FAILED_TESTS_DIRECTORY/$TEST_NAME-$RANDOM.log" - -touch $FAILED_TESTS_LOG - -# ------------------------------------------------------------------ -# CDS API -# ------------------------------------------------------------------ -CDS_AUTHORIZATION="Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==" -AUTHORIZATION_HEADER="Authorization: $CDS_AUTHORIZATION" -CONTENT_TYPE_FORM_DATA="Content-Type: multipart/form-data" -CONTENT_TYPE_APPLICATION_JSON="Content-Type: application/json" -BOOTSTRAP_ENDPOINT="api/v1/blueprint-model/bootstrap" - -# Input Arguments: -# 1. CBA name -compress_cba() { - pushd $CBA_DIRECTORY/$1 - zip -r ../$1.zip . - popd -} - - # Input Arguments: - # 1. CBA name -compress_cba_versioned() { - pushd "$CBA_DIRECTORY/$1/$CDS_VERSION" - zip -r ../../$1.zip . - popd -} - -# Sends CBA to CDS for enrichment -# -# Input Arguments: -# 1. CBA name -# 2. filepath for response header output -enrich_cba() { - curl -vs http://$CDS_URL_REGRESSION_TEST:$RUNTIME_PORT/$ENRICH_URI \ - -H "$CONTENT_TYPE_FORM_DATA" \ - -H "$AUTHORIZATION_HEADER" \ - -F file="@$CBA_DIRECTORY/$1.zip" \ - -o "$CBA_ENRICHED_FOLDER/$1.zip" \ - 2> $2 -} - -# Uploads CBA to CDS -# -# Input Arguments: -# 1. CBA name -# 2. filepath for response payload output -# 3. filepath for response header output -upload_cba() { - if [ "${CDS_VERSION} " == "elalto " ]; then - UPLOAD_ENDPOINT=${UPLOAD_URI_ELALTO} - else - UPLOAD_ENDPOINT=${UPLOAD_URI_FRANKFURT} - fi - curl -vs http://$CDS_URL_REGRESSION_TEST:$RUNTIME_PORT/${UPLOAD_ENDPOINT} \ - -H "$CONTENT_TYPE_FORM_DATA" \ - -H "$AUTHORIZATION_HEADER" \ - -F file="@$CBA_ENRICHED_FOLDER/$1.zip" \ - > $2 \ - 2> $3 -} - -# Uploads DD to CDS -# -# Input Arguments: -# 1. filepath for request payload json file -# 2. filepath for response payload output -# 3. filepath for response header output -upload_dd() { - curl -vs http://$CDS_URL_REGRESSION_TEST:$RUNTIME_PORT/$LOAD_DATA_DICT \ - -H "$CONTENT_TYPE_APPLICATION_JSON" \ - -H "$AUTHORIZATION_HEADER" \ - --data "@$1" \ - >$2 \ - 2> $3 -} - -# Sends process request to CDS -# -# Input Arguments: -# 1. filepath for request payload json file -# 2. filepath for response payload output -# 3. filepath for response header output -process_cba() { - curl -vs http://$CDS_URL_REGRESSION_TEST:$RUNTIME_PORT/$PROCESS_URI \ - -H "$CONTENT_TYPE_APPLICATION_JSON" \ - -H "$AUTHORIZATION_HEADER" \ - --data "@$1" \ - >$2 \ - 2> $3 -} - -# Bootstrap CDS request (Frankfurt and up) -# Input arguments: -# 1. filepath for response payload output -# 2. filepath for response header output -bootstrap_cds() { - curl -vs http://$CDS_URL_REGRESSION_TEST:$RUNTIME_PORT/${BOOTSTRAP_ENDPOINT} \ - -H "$CONTENT_TYPE_APPLICATION_JSON" \ - -H "$AUTHORIZATION_HEADER" \ - --data-raw '{ - "loadModelType" : true, - "loadResourceDictionary" : true, - "loadCBA" : false -}'>$1 2>$2 - -} - -# ------------------------------------------------------------------ -# Blueprint modifications -# ------------------------------------------------------------------ - - -# Sets a value in the definition json file -# Input arguments -# 1: CBA name -# 1: jq path for value to be set -# 2: value -definition_set_value() { - local BLUEPRINT_DEFINITION_FILE=`grep "Entry" $CBA_DIRECTORY/$1/TOSCA-Metadata/TOSCA.meta|awk '{ print $2 }'` - local TEMPFILE=`mktemp` - jq "$2=$3" < $CBA_DIRECTORY/$1/$BLUEPRINT_DEFINITION_FILE > $TEMPFILE - mv $TEMPFILE $CBA_DIRECTORY/$1/$BLUEPRINT_DEFINITION_FILE -} - -# Makes environment variables available for json templating using jq path -# example template { "cds-version": .CDS_VERSION } - will populate value CDS_VERSION from env -# Input arguments -# 1: template file -apply_env_to_json_template() { - local TEMPFILE=`mktemp` - jq -n env|jq -f $1 > $TEMPFILE - mv $TEMPFILE $1 -} - -# ------------------------------------------------------------------ -# Assert Functions -# ------------------------------------------------------------------ - -match() { - local input="$(cat)" - local m="$(grep -o "$1" <<<"$input")" - test "$m" || tee -a $FAILED_TESTS_LOG <<EOF --------------------------------------------------------------------- -TEST: $TEST_NAME -match - -expected: $1 -got: -$input - --------------------------------------------------------------------- -EOF -} - -# Asserts that 2 json files are equal -# -# Input arguments: -# 1: filepath for expected json -# 2: filepath for actual json -assert_json_equals() { - local res=`diff <(jq -S < $1) <(jq -S < $2)` - if [ "$res" ] - then - tee -a $FAILED_TESTS_LOG <<EOF --------------------------------------------------------------------- -TEST: $TEST_NAME -assert_json_equals - -diff: -$res - - --------------------------------------------------------------------- -EOF - fi -} - -# Asserts specific json property in provided file -# -# Input arguments: -# 1: jq filter for property, eg. .status.eventType -# 2: expected property value -# 3: filepath for jsonfile to assert -assert_json_property_equals() { - local prop=`jq "$1" <$3` - [ $prop = "$2" ] || tee -a $FAILED_TESTS_LOG <<EOF --------------------------------------------------------------------- -TEST: $TEST_NAME -assert_json_property_equals - -expected: $2 -got: $prop - --------------------------------------------------------------------- -EOF -} - -# Asserts CDS response payload, ignores timestamps -# -# Input arguments: -# 1. filepath for exepected payload -# 2. filepath for received payload -assert_cds_response_equals() { - EXPECTED=`mktemp` - ACTUAL=`mktemp` - #remove timestamps and correlationUUID - jq 'del(.correlationUUID,.[].timestamp?)' < $1 > $EXPECTED - jq 'del(.correlationUUID,.[].timestamp?)' < $2 > $ACTUAL - assert_json_equals $EXPECTED $ACTUAL -} - -# Asserts response status code -# -# Input arguments: -# 1. expected response code, eg. 200 -# 2. filepath for response header file - -assert_status_code() { match "^< HTTP/.* $1 " < $2; } - -# Asserts respones status code (CDS version-dependent) -# For elalto, we look for the code as returned by the query, -# but not elalto (frankfurt and onward,) we look for json return object .status.code -# Input arguments: -# 1. expected response code, eg. 200 -# 2. filepath for response header file -# 2. filepath for response payload file -assert_status_code_versioned() { - if [ "${CDS_VERSION}" == "elalto" ]; then - match "^< HTTP/.* $1 " < $2; - else - assert_json_property_equals '.status.code' $1 $3 - fi -} - -exit_on_errors() { - if [ -s $FAILED_TESTS_LOG ] - then exit 1 - fi -} |