diff options
Diffstat (limited to 'cds-regression-test/test/resource-resolution/force-resolution')
5 files changed, 158 insertions, 0 deletions
diff --git a/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-1.json b/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-1.json new file mode 100644 index 0000000..efb6282 --- /dev/null +++ b/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-1.json @@ -0,0 +1,31 @@ +{ + "correlationUUID": null, + "commonHeader": { + "timestamp": "2020-05-07T22:18:06.901Z", + "originatorId": "System", + "requestId": "1234", + "subRequestId": "1234-12234", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-resource-resolution", + "blueprintVersion": "1.0.0", + "actionName": "resource-resolution", + "mode": "sync" + }, + "status": { + "code": 200, + "eventType": "EVENT_COMPONENT_EXECUTED", + "timestamp": "2020-05-07T22:18:22.289Z", + "errorMessage": null, + "message": "success" + }, + "payload": { + "resource-resolution-response": { + "meshed-template": { + "helloworld-velocity": "{\n \"default\": \"ok\",\n \"input\": \"ok\",\n \"script\": {\n \"python\": \"ok\",\n \"kotlin\": \"ok\"\n },\n \"db\": \"ok\",\n \"rest\": {\n \"GET\": \"get:ok\",\n \"POST\": \"post:ok\",\n \"PUT\": \"put:ok\",\n \"PATCH\": \"patch:ok\",\n \"DELETE\": \"delete:ok\"\n }\n}\n", + "helloworld-jinja": "{\n \"default\": \"ok\",\n \"input\": \"ok\",\n \"script\": {\n \"python\": \"ok\",\n \"kotlin\": {\n \"base\": \"ok\"\n \"from suspend function\": \"ok\"\n }\n },\n \"db\": \"ok\",\n \"rest\": {\n \"GET\": \"get:ok\",\n \"POST\": \"post:ok\",\n \"PUT\": \"put:ok\",\n \"PATCH\": \"patch:ok\",\n \"DELETE\": \"delete:ok\"\n }\n}\n" + } + } + } +} diff --git a/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-2.json b/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-2.json new file mode 100644 index 0000000..5d52426 --- /dev/null +++ b/cds-regression-test/test/resource-resolution/force-resolution/expected-payloads/expected-response-2.json @@ -0,0 +1,31 @@ +{ + "correlationUUID": null, + "commonHeader": { + "timestamp": "2020-05-07T22:18:06.901Z", + "originatorId": "System", + "requestId": "1234", + "subRequestId": "1234-12234", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-resource-resolution", + "blueprintVersion": "1.0.0", + "actionName": "resource-resolution", + "mode": "sync" + }, + "status": { + "code": 200, + "eventType": "EVENT_COMPONENT_EXECUTED", + "timestamp": "2020-05-07T22:18:22.289Z", + "errorMessage": null, + "message": "success" + }, + "payload": { + "resource-resolution-response": { + "meshed-template": { + "helloworld-velocity": "{\n \"default\": \"ok\",\n \"input\": \"ok-ok\",\n \"script\": {\n \"python\": \"ok\",\n \"kotlin\": \"ok\"\n },\n \"db\": \"ok\",\n \"rest\": {\n \"GET\": \"get:ok\",\n \"POST\": \"post:ok\",\n \"PUT\": \"put:ok\",\n \"PATCH\": \"patch:ok\",\n \"DELETE\": \"delete:ok\"\n }\n}\n", + "helloworld-jinja": "{\n \"default\": \"ok\",\n \"input\": \"ok-ok\",\n \"script\": {\n \"python\": \"ok\",\n \"kotlin\": {\n \"base\": \"ok\"\n \"from suspend function\": \"ok\"\n }\n },\n \"db\": \"ok\",\n \"rest\": {\n \"GET\": \"get:ok\",\n \"POST\": \"post:ok\",\n \"PUT\": \"put:ok\",\n \"PATCH\": \"patch:ok\",\n \"DELETE\": \"delete:ok\"\n }\n}\n" + } + } + } +} diff --git a/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-1.json b/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-1.json new file mode 100644 index 0000000..91e4612 --- /dev/null +++ b/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-1.json @@ -0,0 +1,26 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "1234", + "subRequestId": "1234-12234" + }, + "actionIdentifiers": { + "blueprintName": "RT-resource-resolution", + "blueprintVersion": "1.0.0", + "actionName": "resource-resolution", + "mode": "sync" + }, + "payload": { + "resource-resolution-request": { + "template-prefix": [ + "helloworld-velocity", + "helloworld-jinja" + ], + "resolution-key": "regression-test", + "resource-resolution-properties": { + "v_input": "ok", + "j_input": "ok" + } + } + } +} diff --git a/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-2.json b/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-2.json new file mode 100644 index 0000000..de8a797 --- /dev/null +++ b/cds-regression-test/test/resource-resolution/force-resolution/request-payloads/request-payload-2.json @@ -0,0 +1,26 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "1234", + "subRequestId": "1234-12234" + }, + "actionIdentifiers": { + "blueprintName": "RT-resource-resolution", + "blueprintVersion": "1.0.0", + "actionName": "resource-resolution", + "mode": "sync" + }, + "payload": { + "resource-resolution-request": { + "template-prefix": [ + "helloworld-velocity", + "helloworld-jinja" + ], + "resolution-key": "regression-test", + "resource-resolution-properties": { + "v_input": "ok-ok", + "j_input": "ok-ok" + } + } + } +} diff --git a/cds-regression-test/test/resource-resolution/force-resolution/test.sh b/cds-regression-test/test/resource-resolution/force-resolution/test.sh new file mode 100644 index 0000000..013df7e --- /dev/null +++ b/cds-regression-test/test/resource-resolution/force-resolution/test.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +CBA_NAME="resource-resolution" +TEST_NAME="force-resolution" +TEST_NUMBER=$RANDOM + +REQUEST_PAYLOAD_DIR="request-payloads" +EXPECTED_PAYLOAD_DIR="expected-payloads" + +mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/" +RESPONSE_HEADERS_FILE_1="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers-1" +RESPONSE_PAYLOAD_FILE_1="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload-1" +REQUEST_PAYLOAD_FILE_1="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/$REQUEST_PAYLOAD_DIR/request-payload-1.json" +EXPECTED_PAYLOAD_FILE_1="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/$EXPECTED_PAYLOAD_DIR/expected-response-1.json" + +RESPONSE_HEADERS_FILE_2="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers-2" +RESPONSE_PAYLOAD_FILE_2="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload-2" +REQUEST_PAYLOAD_FILE_2="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/$REQUEST_PAYLOAD_DIR/request-payload-2.json" +EXPECTED_PAYLOAD_FILE_2="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/$EXPECTED_PAYLOAD_DIR/expected-response-2.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME" +echo "Running initial ressource-resolution to resolve template..." +process_cba $REQUEST_PAYLOAD_FILE_1 $RESPONSE_PAYLOAD_FILE_1 $RESPONSE_HEADERS_FILE_1 + +echo 'Assert statuscode' +assert_status_code 200 $RESPONSE_HEADERS_FILE_1 + +echo 'Assert payload' +assert_cds_response_equals $EXPECTED_PAYLOAD_FILE_1 $RESPONSE_PAYLOAD_FILE_1 + + +# Verify force-resolution +## Same resolution-key, different input values from above test. +## Force-resolution is enabled in the CBA so we shouldn't get the same resolved template as above. +echo "Running the same ressource-resolution but with different inputs..." +process_cba $REQUEST_PAYLOAD_FILE_2 $RESPONSE_PAYLOAD_FILE_2 $RESPONSE_HEADERS_FILE_2 + +echo 'Assert statuscode' +assert_status_code 200 $RESPONSE_HEADERS_FILE_2 + +echo 'Assert payload' +assert_cds_response_equals $EXPECTED_PAYLOAD_FILE_2 $RESPONSE_PAYLOAD_FILE_2 |