summaryrefslogtreecommitdiffstats
path: root/test/retrieve-resolution
diff options
context:
space:
mode:
Diffstat (limited to 'test/retrieve-resolution')
-rw-r--r--test/retrieve-resolution/data-dict/RT-kotlin-1.json26
-rw-r--r--test/retrieve-resolution/data-dict/RT-kotlin-2.json26
-rw-r--r--test/retrieve-resolution/data-dict/RT-kotlin-3.json26
-rw-r--r--test/retrieve-resolution/data-dict/RT-kotlin-4.json26
-rw-r--r--test/retrieve-resolution/dummy-request-payload.json14
-rwxr-xr-xtest/retrieve-resolution/retrieve-resolution-enrichment-test.sh32
-rw-r--r--test/retrieve-resolution/retrieve-resolution-upload-dd.sh44
-rwxr-xr-xtest/retrieve-resolution/retrieve-resolution-upload-test.sh36
-rw-r--r--test/retrieve-resolution/retrieve-success/expected-payloads/expected-response.json45
-rw-r--r--test/retrieve-resolution/retrieve-success/request-payloads/request-payload.json25
-rwxr-xr-xtest/retrieve-resolution/retrieve-success/test.sh40
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