diff options
Diffstat (limited to 'cds-regression-test/test/remote-python')
14 files changed, 317 insertions, 0 deletions
diff --git a/cds-regression-test/test/remote-python/connection-fail/resources/elalto/expected-response.json b/cds-regression-test/test/remote-python/connection-fail/resources/elalto/expected-response.json new file mode 100644 index 0000000..2ab445b --- /dev/null +++ b/cds-regression-test/test/remote-python/connection-fail/resources/elalto/expected-response.json @@ -0,0 +1,29 @@ +{ + "correlationUUID": "9f53fea6-c288-4d19-8d85-93832294f21a", + "commonHeader": { + "timestamp": "2020-07-20T18:15:21.593Z", + "originatorId": "System", + "requestId": "remote-python-connection-fail", + "subRequestId": "1", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-07-20T18:15:22.846Z", + "errorMessage": "FAILURE : prepare-env : Command failed during env. preparation... timeout(120) requestId (remote-python-connection-fail). grpcError: (Connection refused: /127.0.0.1:4242)", + "message": "failure" + }, + "payload": { + "connection-fail-response": { + "execute-command-payload": "", + "execute-command-logs": "" + } + } +} diff --git a/cds-regression-test/test/remote-python/connection-fail/resources/elalto/request-payload.json b/cds-regression-test/test/remote-python/connection-fail/resources/elalto/request-payload.json new file mode 100644 index 0000000..4bcf8e2 --- /dev/null +++ b/cds-regression-test/test/remote-python/connection-fail/resources/elalto/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "remote-python-connection-fail", + "subRequestId": "1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "payload": { + "connection-fail-request": {} + } +} diff --git a/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/expected-response.json b/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/expected-response.json new file mode 100644 index 0000000..c9b15bd --- /dev/null +++ b/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/expected-response.json @@ -0,0 +1,29 @@ +{ + "correlationUUID": null, + "commonHeader": { + "timestamp": "2020-06-09T21:02:52.783Z", + "originatorId": "System", + "requestId": "remote-python-connection-fail", + "subRequestId": "1", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-06-09T21:02:53.142Z", + "errorMessage": "FAILURE : prepare-env : Command failed during env. preparation... timeout(120) requestId (remote-python-connection-fail). grpcError: (finishConnect(..) failed: Connection refused: /127.0.0.1:4242)", + "message": "failure" + }, + "payload": { + "connection-fail-response": { + "execute-command-logs": "[]", + "execute-command-payload": "{}" + } + } +} diff --git a/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/request-payload.json b/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/request-payload.json new file mode 100644 index 0000000..4bcf8e2 --- /dev/null +++ b/cds-regression-test/test/remote-python/connection-fail/resources/frankfurt/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "remote-python-connection-fail", + "subRequestId": "1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "payload": { + "connection-fail-request": {} + } +} diff --git a/cds-regression-test/test/remote-python/connection-fail/test.sh b/cds-regression-test/test/remote-python/connection-fail/test.sh new file mode 100644 index 0000000..4d3a38f --- /dev/null +++ b/cds-regression-test/test/remote-python/connection-fail/test.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +CBA_NAME="remote-python" +TEST_NAME="connection-fail" +TEST_NUMBER=$RANDOM + +mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/" +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers" +RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload" + +RESOURCES_DIR="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/resources/$CDS_VERSION" +REQUEST_PAYLOAD_FILE="$RESOURCES_DIR/request-payload.json" +EXPECTED_PAYLOAD_FILE="$RESOURCES_DIR/expected-response.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME" + +echo 'Calling CDS process' +process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE + +echo 'Assert statuscode' +assert_status_code 500 $RESPONSE_HEADERS_FILE + +echo 'Assert payload' +assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE diff --git a/cds-regression-test/test/remote-python/dummy-request-payload.json b/cds-regression-test/test/remote-python/dummy-request-payload.json new file mode 100644 index 0000000..688e5e9 --- /dev/null +++ b/cds-regression-test/test/remote-python/dummy-request-payload.json @@ -0,0 +1,14 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "dummy-request-should-fail", + "subRequestId": "1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "dummy", + "mode": "sync" + }, + "payload": {} +} diff --git a/cds-regression-test/test/remote-python/failing-script/expected-response.json b/cds-regression-test/test/remote-python/failing-script/expected-response.json new file mode 100644 index 0000000..119b135 --- /dev/null +++ b/cds-regression-test/test/remote-python/failing-script/expected-response.json @@ -0,0 +1,33 @@ +{ + "correlationUUID": "0ae1f48a-ec91-4573-af76-070ec42e2cdd", + "commonHeader": { + "timestamp": "2020-07-02T23:46:04.959Z", + "originatorId": "System", + "requestId": "remote-python-failing-script", + "subRequestId": "1", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "failing-remote-python", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-07-02T23:46:22.167Z", + "errorMessage": "FAILURE : execute-command : [\"Intentionally raised exception!\"]", + "message": "failure" + }, + "payload": { + "failing-remote-python-response": { + "execute-command-payload": { + "errorMessage": "Intentionally raised exception!" + }, + "execute-command-logs": [ + "Intentionally raised exception!" + ] + } + } +} diff --git a/cds-regression-test/test/remote-python/failing-script/request-payload.json b/cds-regression-test/test/remote-python/failing-script/request-payload.json new file mode 100644 index 0000000..d4c612c --- /dev/null +++ b/cds-regression-test/test/remote-python/failing-script/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "remote-python-failing-script", + "subRequestId": "1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "failing-remote-python", + "mode": "sync" + }, + "payload": { + "failing-remote-python-request": {} + } +} diff --git a/cds-regression-test/test/remote-python/failing-script/test.sh b/cds-regression-test/test/remote-python/failing-script/test.sh new file mode 100755 index 0000000..1c394a3 --- /dev/null +++ b/cds-regression-test/test/remote-python/failing-script/test.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +CBA_NAME="remote-python" +TEST_NAME="failing-script" +TEST_NUMBER=$RANDOM + +mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/" +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers" +RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload" + +REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/request-payload.json" +EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/expected-response.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME" + +echo 'Calling CDS process' +process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE + +echo 'Assert statuscode' +assert_status_code 500 $RESPONSE_HEADERS_FILE + +echo 'Assert payload' +assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE diff --git a/cds-regression-test/test/remote-python/remote-python-enrichment-test.sh b/cds-regression-test/test/remote-python/remote-python-enrichment-test.sh new file mode 100755 index 0000000..e2344bd --- /dev/null +++ b/cds-regression-test/test/remote-python/remote-python-enrichment-test.sh @@ -0,0 +1,16 @@ +#!/bin/bash +CBA_NAME="remote-python" +TEST_NAME="$CBA_NAME-enrichment" +TEST_NUMBER=$RANDOM +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-headers" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Compressing CBA: $CBA_NAME" +compress_cba $CBA_NAME + +echo "Enriching CBA: $CBA_NAME" +enrich_cba $CBA_NAME $RESPONSE_HEADERS_FILE + +echo 'Assert status 200' +assert_status_code 200 $RESPONSE_HEADERS_FILE diff --git a/cds-regression-test/test/remote-python/remote-python-upload-test.sh b/cds-regression-test/test/remote-python/remote-python-upload-test.sh new file mode 100755 index 0000000..f62490c --- /dev/null +++ b/cds-regression-test/test/remote-python/remote-python-upload-test.sh @@ -0,0 +1,20 @@ +#!/bin/bash +CBA_NAME="remote-python" +TEST_NAME="$CBA_NAME-upload" +TEST_NUMBER=$RANDOM +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-headers" +RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-payload" +REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/dummy-request-payload.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Uploading CBA: $CBA_NAME" +upload_cba $CBA_NAME $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE + +echo 'Assert status 200' +assert_status_code 200 $RESPONSE_HEADERS_FILE + +# This step prevents a race-condition for parallel process requests +# when cba has not yet been written to filesystem +echo 'Send process request to force CDS to load CBA to filesystem' +process_cba $REQUEST_PAYLOAD_FILE '/dev/null' '/dev/null' diff --git a/cds-regression-test/test/remote-python/success/expected-response.json b/cds-regression-test/test/remote-python/success/expected-response.json new file mode 100644 index 0000000..8b0149f --- /dev/null +++ b/cds-regression-test/test/remote-python/success/expected-response.json @@ -0,0 +1,36 @@ +{ + "correlationUUID": "9acac95d-9b17-4224-9fe1-0cdb652d027c", + "commonHeader": { + "timestamp": "2020-07-02T22:52:50.662Z", + "originatorId": "System", + "requestId": "remote-python-request", + "subRequestId": "1", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "remote-python", + "mode": "sync" + }, + "status": { + "code": 200, + "eventType": "EVENT_COMPONENT_EXECUTED", + "timestamp": "2020-07-02T22:53:05.357Z", + "errorMessage": null, + "message": "success" + }, + "payload": { + "remote-python-response": { + "execute-command-payload": { + "abc": [ + "xyz", + "qqq" + ] + }, + "execute-command-logs": [ + "remote executor regression" + ] + } + } +} diff --git a/cds-regression-test/test/remote-python/success/request-payload.json b/cds-regression-test/test/remote-python/success/request-payload.json new file mode 100644 index 0000000..b3b9be8 --- /dev/null +++ b/cds-regression-test/test/remote-python/success/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "remote-python-request", + "subRequestId": "1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-python", + "blueprintVersion": "1.0.0", + "actionName": "remote-python", + "mode": "sync" + }, + "payload": { + "remote-python-request": {} + } +} diff --git a/cds-regression-test/test/remote-python/success/test.sh b/cds-regression-test/test/remote-python/success/test.sh new file mode 100755 index 0000000..1afabbb --- /dev/null +++ b/cds-regression-test/test/remote-python/success/test.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +CBA_NAME="remote-python" +TEST_NAME="success" +TEST_NUMBER=$RANDOM + +mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/" +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers" +RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload" + +REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/request-payload.json" +EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/expected-response.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME" + +echo 'Calling CDS process' +process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE + +echo 'Assert statuscode' +assert_status_code 200 $RESPONSE_HEADERS_FILE + +echo 'Assert payload' +assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE |