diff options
Diffstat (limited to 'test/py-executor')
-rw-r--r-- | test/py-executor/connection-fail/expected-response.json | 25 | ||||
-rw-r--r-- | test/py-executor/connection-fail/request-payload.json | 16 | ||||
-rw-r--r-- | test/py-executor/connection-fail/test.sh | 40 | ||||
-rw-r--r-- | test/py-executor/dummy-request-payload.json | 14 | ||||
-rw-r--r-- | test/py-executor/failing-script/expected-response.json | 25 | ||||
-rw-r--r-- | test/py-executor/failing-script/request-payload.json | 16 | ||||
-rw-r--r-- | test/py-executor/failing-script/test.sh | 40 | ||||
-rw-r--r-- | test/py-executor/py-executor-enrichment-test.sh | 34 | ||||
-rw-r--r-- | test/py-executor/py-executor-upload-test.sh | 36 | ||||
-rw-r--r-- | test/py-executor/success/expected-response.json | 32 | ||||
-rw-r--r-- | test/py-executor/success/request-payload.json | 16 | ||||
-rw-r--r-- | test/py-executor/success/test.sh | 40 |
12 files changed, 334 insertions, 0 deletions
diff --git a/test/py-executor/connection-fail/expected-response.json b/test/py-executor/connection-fail/expected-response.json new file mode 100644 index 0000000..93b2598 --- /dev/null +++ b/test/py-executor/connection-fail/expected-response.json @@ -0,0 +1,25 @@ +{ + "commonHeader": { + "timestamp": "2020-05-19T17:26:02.923Z", + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-05-19T17:26:02.926Z", + "errorMessage": "Failed in ComponentRemoteScriptExecutor : UNAVAILABLE: io exception, failed to get execution property(node_templates/execute-connection-fail/attributes/status)", + "message": "failure" + }, + "payload": { + "connection-fail-response": {} + } +} diff --git a/test/py-executor/connection-fail/request-payload.json b/test/py-executor/connection-fail/request-payload.json new file mode 100644 index 0000000..7273340 --- /dev/null +++ b/test/py-executor/connection-fail/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234" + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "payload": { + "connection-fail-request": {} + } +} diff --git a/test/py-executor/connection-fail/test.sh b/test/py-executor/connection-fail/test.sh new file mode 100644 index 0000000..b2bfe22 --- /dev/null +++ b/test/py-executor/connection-fail/test.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Copyright (C) 2020 Bell Canada. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CBA_NAME="py-executor" +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" + +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/test/py-executor/dummy-request-payload.json b/test/py-executor/dummy-request-payload.json new file mode 100644 index 0000000..688e5e9 --- /dev/null +++ b/test/py-executor/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/test/py-executor/failing-script/expected-response.json b/test/py-executor/failing-script/expected-response.json new file mode 100644 index 0000000..17148b0 --- /dev/null +++ b/test/py-executor/failing-script/expected-response.json @@ -0,0 +1,25 @@ +{ + "commonHeader": { + "timestamp": "2020-05-19T17:24:33.353Z", + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "failing-remote-python", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-05-19T17:24:33.370Z", + "errorMessage": "Failed in ComponentRemoteScriptExecutor : UNKNOWN: Exception iterating responses: Script raised an exception, failed to get execution property(node_templates/execute-failing-remote-python/attributes/status)", + "message": "failure" + }, + "payload": { + "failing-remote-python-response": {} + } +} diff --git a/test/py-executor/failing-script/request-payload.json b/test/py-executor/failing-script/request-payload.json new file mode 100644 index 0000000..bacd876 --- /dev/null +++ b/test/py-executor/failing-script/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234" + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "failing-remote-python", + "mode": "sync" + }, + "payload": { + "failing-remote-python-request": {} + } +} diff --git a/test/py-executor/failing-script/test.sh b/test/py-executor/failing-script/test.sh new file mode 100644 index 0000000..acf660f --- /dev/null +++ b/test/py-executor/failing-script/test.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Copyright (C) 2020 Bell Canada. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CBA_NAME="py-executor" +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/test/py-executor/py-executor-enrichment-test.sh b/test/py-executor/py-executor-enrichment-test.sh new file mode 100644 index 0000000..346ee14 --- /dev/null +++ b/test/py-executor/py-executor-enrichment-test.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# +# Copyright (C) 2020 Bell Canada. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CBA_NAME="py-executor" +TEST_NAME="$CBA_NAME-enrichment" +TEST_NUMBER=$RANDOM +RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-headers" + +export PY_EXEC_SVC=${PY_EXEC_SVC:-"cds-py-executor"} +apply_env_to_definition $CBA_NAME +. ./$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/test/py-executor/py-executor-upload-test.sh b/test/py-executor/py-executor-upload-test.sh new file mode 100644 index 0000000..002bc10 --- /dev/null +++ b/test/py-executor/py-executor-upload-test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright (C) 2020 Bell Canada. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CBA_NAME="py-executor" +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/test/py-executor/success/expected-response.json b/test/py-executor/success/expected-response.json new file mode 100644 index 0000000..1318508 --- /dev/null +++ b/test/py-executor/success/expected-response.json @@ -0,0 +1,32 @@ +{ + "commonHeader": { + "timestamp": "2020-05-26T13:47:27.143Z", + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "remote-python", + "mode": "sync" + }, + "status": { + "code": 200, + "eventType": "EVENT_COMPONENT_EXECUTED", + "timestamp": "2020-05-26T13:47:27.193Z", + "errorMessage": null, + "message": "success" + }, + "payload": { + "remote-python-response": { + "status": "success", + "response-data": { + "HelloWorld-request": { + "hello": "world" + } + } + } + } +} diff --git a/test/py-executor/success/request-payload.json b/test/py-executor/success/request-payload.json new file mode 100644 index 0000000..f23b0de --- /dev/null +++ b/test/py-executor/success/request-payload.json @@ -0,0 +1,16 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "123456", + "subRequestId": "1234-12234" + }, + "actionIdentifiers": { + "blueprintName": "RT-py-executor", + "blueprintVersion": "1.0.0", + "actionName": "remote-python", + "mode": "sync" + }, + "payload": { + "remote-python-request": {} + } +} diff --git a/test/py-executor/success/test.sh b/test/py-executor/success/test.sh new file mode 100644 index 0000000..ed43d40 --- /dev/null +++ b/test/py-executor/success/test.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Copyright (C) 2020 Bell Canada. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CBA_NAME="py-executor" +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 |