diff options
Diffstat (limited to 'test/retrieve-resolution')
11 files changed, 340 insertions, 0 deletions
diff --git a/test/retrieve-resolution/data-dict/RT-kotlin-1.json b/test/retrieve-resolution/data-dict/RT-kotlin-1.json new file mode 100644 index 0000000..5f1d7e5 --- /dev/null +++ b/test/retrieve-resolution/data-dict/RT-kotlin-1.json @@ -0,0 +1,26 @@ +{ + "name": "kotlin-script-1", + "data_type": "string", + "description": "Kotlin script used to read properties.", + "tags": "kotlin-script", + "updatedBy": "Self-fish", + "definition": { + "name": "kotlin-script-1", + "updated-by": "Selffish", + "tags": "properties-capability-source", + "property": { + "description": "Kotlin script used to read properties.", + "type": "string" + }, + "sources": { + "capability": { + "type": "source-capability", + "properties": { + "script-type": "kotlin", + "script-class-reference": "cba.cds.RT.ResolvProperties1Kt", + "instance-dependencies": [] + } + } + } + } +} diff --git a/test/retrieve-resolution/data-dict/RT-kotlin-2.json b/test/retrieve-resolution/data-dict/RT-kotlin-2.json new file mode 100644 index 0000000..9a7403c --- /dev/null +++ b/test/retrieve-resolution/data-dict/RT-kotlin-2.json @@ -0,0 +1,26 @@ +{ + "name": "kotlin-script-2", + "data_type": "string", + "description": "Kotlin script used to read properties.", + "tags": "kotlin-script", + "updatedBy": "Self-fish", + "definition": { + "name": "kotlin-script-2", + "updated-by": "Selffish", + "tags": "properties-capability-source", + "property": { + "description": "Kotlin script used to read properties.", + "type": "string" + }, + "sources": { + "capability": { + "type": "source-capability", + "properties": { + "script-type": "kotlin", + "script-class-reference": "cba.cds.RT.ResolvProperties2Kt", + "instance-dependencies": [] + } + } + } + } +} diff --git a/test/retrieve-resolution/data-dict/RT-kotlin-3.json b/test/retrieve-resolution/data-dict/RT-kotlin-3.json new file mode 100644 index 0000000..6b8cbe6 --- /dev/null +++ b/test/retrieve-resolution/data-dict/RT-kotlin-3.json @@ -0,0 +1,26 @@ +{ + "name": "kotlin-script-3", + "data_type": "string", + "description": "Kotlin script used to read properties.", + "tags": "kotlin-script", + "updatedBy": "Self-fish", + "definition": { + "name": "kotlin-script-3", + "updated-by": "Selffish", + "tags": "properties-capability-source", + "property": { + "description": "Kotlin script used to read properties.", + "type": "string" + }, + "sources": { + "capability": { + "type": "source-capability", + "properties": { + "script-type": "kotlin", + "script-class-reference": "cba.cds.RT.ResolvProperties3Kt", + "instance-dependencies": [] + } + } + } + } +} diff --git a/test/retrieve-resolution/data-dict/RT-kotlin-4.json b/test/retrieve-resolution/data-dict/RT-kotlin-4.json new file mode 100644 index 0000000..def010d --- /dev/null +++ b/test/retrieve-resolution/data-dict/RT-kotlin-4.json @@ -0,0 +1,26 @@ +{ + "name": "kotlin-script-4", + "data_type": "string", + "description": "Kotlin script used to read properties.", + "tags": "kotlin-script", + "updatedBy": "Self-fish", + "definition": { + "name": "kotlin-script-4", + "updated-by": "Selffish", + "tags": "properties-capability-source", + "property": { + "description": "Kotlin script used to read properties.", + "type": "string" + }, + "sources": { + "capability": { + "type": "source-capability", + "properties": { + "script-type": "kotlin", + "script-class-reference": "cba.cds.RT.ResolvProperties4Kt", + "instance-dependencies": [] + } + } + } + } +} diff --git a/test/retrieve-resolution/dummy-request-payload.json b/test/retrieve-resolution/dummy-request-payload.json new file mode 100644 index 0000000..5c437ba --- /dev/null +++ b/test/retrieve-resolution/dummy-request-payload.json @@ -0,0 +1,14 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "dummy-request-should-fail", + "subRequestId": "11" + }, + "actionIdentifiers": { + "blueprintName": "RT-retrieve-resolution", + "blueprintVersion": "1.0.0", + "actionName": "dummy", + "mode": "sync" + }, + "payload": {} +} diff --git a/test/retrieve-resolution/retrieve-resolution-enrichment-test.sh b/test/retrieve-resolution/retrieve-resolution-enrichment-test.sh new file mode 100755 index 0000000..92e74ca --- /dev/null +++ b/test/retrieve-resolution/retrieve-resolution-enrichment-test.sh @@ -0,0 +1,32 @@ +#!/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="retrieve-resolution" +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/test/retrieve-resolution/retrieve-resolution-upload-dd.sh b/test/retrieve-resolution/retrieve-resolution-upload-dd.sh new file mode 100644 index 0000000..7884a53 --- /dev/null +++ b/test/retrieve-resolution/retrieve-resolution-upload-dd.sh @@ -0,0 +1,44 @@ +#!/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. +# + +TEST_NAME="retrieve-resolution-upload-data-dict" +TEST_NUMBER=$RANDOM +REQUEST_DD_PAYLOAD_DIR="$TEST_DIRECTORY/retrieve-resolution/data-dict" + +. ./$TEST_DIRECTORY/utils.sh + +# delete useless log file +rm $FAILED_TESTS_LOG + +DD_PAYLOADS=$(ls $REQUEST_DD_PAYLOAD_DIR) +for DD_PAYLOAD in $DD_PAYLOADS +do + echo "Uploading DD : $DD_PAYLOAD" + PAYLOAD_NAME=$(echo "$DD_PAYLOAD" | cut -d '.' -f1) + RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$PAYLOAD_NAME-$TEST_NUMBER-response-headers" + RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$PAYLOAD_NAME-$TEST_NUMBER-response-payload" + PAYLOAD_FILE="$REQUEST_DD_PAYLOAD_DIR/$DD_PAYLOAD" + FAILED_TESTS_LOG="$FAILED_TESTS_DIRECTORY/$TEST_NAME-$PAYLOAD_NAME-$TEST_NUMBER.log" + + # create log life + touch $FAILED_TESTS_LOG + + upload_dd $PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE + + echo 'Assert status 200' + assert_status_code 200 $RESPONSE_HEADERS_FILE +done diff --git a/test/retrieve-resolution/retrieve-resolution-upload-test.sh b/test/retrieve-resolution/retrieve-resolution-upload-test.sh new file mode 100755 index 0000000..9975f42 --- /dev/null +++ b/test/retrieve-resolution/retrieve-resolution-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="retrieve-resolution" +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/retrieve-resolution/retrieve-success/expected-payloads/expected-response.json b/test/retrieve-resolution/retrieve-success/expected-payloads/expected-response.json new file mode 100644 index 0000000..cd8c89e --- /dev/null +++ b/test/retrieve-resolution/retrieve-success/expected-payloads/expected-response.json @@ -0,0 +1,45 @@ +{ + "correlationUUID": "d70b019f-7b05-4830-8707-8eea2cba707c", + "commonHeader": { + "timestamp": "2020-12-15T18:13:16.780Z", + "originatorId": "System", + "requestId": "retrieve-resolution-resolve", + "subRequestId": "resolve-001", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-retrieve-resolution", + "blueprintVersion": "1.0.0", + "actionName": "retrieve-resolution", + "mode": "sync" + }, + "status": { + "code": 200, + "eventType": "EVENT_COMPONENT_EXECUTED", + "timestamp": "2020-12-15T18:13:18.814Z", + "errorMessage": null, + "message": "success" + }, + "payload": { + "retrieve-resolution-response": { + "retrieved-values": { + "resolved-template": { + "input": "ok", + "kotlin1": "val1", + "kotlin2": "val2", + "kotlin3": "val3", + "kotlin4": "val4" + }, + "retrieved-resolution": [ + [ + "ok", + "val1", + "val2", + "val3", + "val4" + ] + ] + } + } + } +} diff --git a/test/retrieve-resolution/retrieve-success/request-payloads/request-payload.json b/test/retrieve-resolution/retrieve-success/request-payloads/request-payload.json new file mode 100644 index 0000000..09016f9 --- /dev/null +++ b/test/retrieve-resolution/retrieve-success/request-payloads/request-payload.json @@ -0,0 +1,25 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "retrieve-resolution-resolve", + "subRequestId": "resolve-001" + }, + "actionIdentifiers": { + "blueprintName": "RT-retrieve-resolution", + "blueprintVersion": "1.0.0", + "actionName": "retrieve-resolution", + "mode": "sync" + }, + "payload": { + "retrieve-resolution-request": { + "template-prefix": [ + "helloworld-velocity" + ], + "resolution-key": "rt-retrieve-resolution", + "artifact-name": "helloworld-velocity", + "retrieve-resolution-properties": { + "v_input": "ok" + } + } + } +} diff --git a/test/retrieve-resolution/retrieve-success/test.sh b/test/retrieve-resolution/retrieve-success/test.sh new file mode 100755 index 0000000..b99ac3f --- /dev/null +++ b/test/retrieve-resolution/retrieve-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="retrieve-resolution" +TEST_NAME="retrieve-success" +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="$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_DIR/request-payload.json" +EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/$EXPECTED_PAYLOAD_DIR/expected-response.json" + +. ./$TEST_DIRECTORY/utils.sh + +echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME" +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 |