summaryrefslogtreecommitdiffstats
path: root/test/lock-device/success
diff options
context:
space:
mode:
Diffstat (limited to 'test/lock-device/success')
-rw-r--r--test/lock-device/success/expected-payloads/expected-payload-1.json28
-rw-r--r--test/lock-device/success/expected-payloads/expected-payload-2.json26
-rw-r--r--test/lock-device/success/expected-payloads/expected-payload-3.json28
-rw-r--r--test/lock-device/success/expected-payloads/expected-payload-4.json26
-rw-r--r--test/lock-device/success/request-payloads/request-payload-1.json20
-rw-r--r--test/lock-device/success/request-payloads/request-payload-2.json20
-rw-r--r--test/lock-device/success/request-payloads/request-payload-3.json20
-rw-r--r--test/lock-device/success/request-payloads/request-payload-4.json20
-rw-r--r--test/lock-device/success/test.sh62
9 files changed, 250 insertions, 0 deletions
diff --git a/test/lock-device/success/expected-payloads/expected-payload-1.json b/test/lock-device/success/expected-payloads/expected-payload-1.json
new file mode 100644
index 0000000..82be771
--- /dev/null
+++ b/test/lock-device/success/expected-payloads/expected-payload-1.json
@@ -0,0 +1,28 @@
+{
+ "correlationUUID": "41176125-5d22-4719-846c-71d6d9e375cd",
+ "commonHeader": {
+ "timestamp": "2020-10-21T14:34:24.222Z",
+ "originatorId": "System",
+ "requestId": "lock-request-1",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-10-21T14:35:22.702Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-response": {
+ "response-data": "Success: lock-request-1"
+ }
+ }
+}
diff --git a/test/lock-device/success/expected-payloads/expected-payload-2.json b/test/lock-device/success/expected-payloads/expected-payload-2.json
new file mode 100644
index 0000000..e241a1d
--- /dev/null
+++ b/test/lock-device/success/expected-payloads/expected-payload-2.json
@@ -0,0 +1,26 @@
+{
+ "correlationUUID": "699706a7-380b-464b-8c84-6eb7c356099a",
+ "commonHeader": {
+ "timestamp": "2020-10-21T14:34:29.157Z",
+ "originatorId": "System",
+ "requestId": "lock-request-2",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 500,
+ "eventType": "EVENT_COMPONENT_FAILURE",
+ "timestamp": "2020-10-21T14:34:40.817Z",
+ "errorMessage": "Failed in ComponentScriptExecutor : Failed to acquire lock within timeout, failed to get execution property(node_templates/execute-kotlin/attributes/response-data)",
+ "message": "failure"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-response": {}
+ }
+}
diff --git a/test/lock-device/success/expected-payloads/expected-payload-3.json b/test/lock-device/success/expected-payloads/expected-payload-3.json
new file mode 100644
index 0000000..cc03eae
--- /dev/null
+++ b/test/lock-device/success/expected-payloads/expected-payload-3.json
@@ -0,0 +1,28 @@
+{
+ "correlationUUID": "846b5cf8-c914-4bb4-abd9-5aae49fce8bd",
+ "commonHeader": {
+ "timestamp": "2020-10-21T14:35:29.222Z",
+ "originatorId": "System",
+ "requestId": "lock-request-3",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-10-21T14:35:59.688Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-response": {
+ "response-data": "Success: lock-request-3"
+ }
+ }
+}
diff --git a/test/lock-device/success/expected-payloads/expected-payload-4.json b/test/lock-device/success/expected-payloads/expected-payload-4.json
new file mode 100644
index 0000000..52b5bc7
--- /dev/null
+++ b/test/lock-device/success/expected-payloads/expected-payload-4.json
@@ -0,0 +1,26 @@
+{
+ "correlationUUID": "b6cbef49-7313-4408-b48f-00c996378321",
+ "commonHeader": {
+ "timestamp": "2020-10-21T14:35:34.095Z",
+ "originatorId": "System",
+ "requestId": "lock-request-4",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 500,
+ "eventType": "EVENT_COMPONENT_FAILURE",
+ "timestamp": "2020-10-21T14:35:44.813Z",
+ "errorMessage": "Failed in ComponentScriptExecutor : Failed to acquire lock within timeout, failed to get execution property(node_templates/execute-kotlin/attributes/response-data)",
+ "message": "failure"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-response": {}
+ }
+}
diff --git a/test/lock-device/success/request-payloads/request-payload-1.json b/test/lock-device/success/request-payloads/request-payload-1.json
new file mode 100644
index 0000000..20be12a
--- /dev/null
+++ b/test/lock-device/success/request-payloads/request-payload-1.json
@@ -0,0 +1,20 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-request": {
+ "resolve-deploy-kotlin-properties": {
+ "lock-acquire-timeout": 5
+ }
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "lock-request-1",
+ "originatorId": "System"
+ }
+}
diff --git a/test/lock-device/success/request-payloads/request-payload-2.json b/test/lock-device/success/request-payloads/request-payload-2.json
new file mode 100644
index 0000000..1d1b9b9
--- /dev/null
+++ b/test/lock-device/success/request-payloads/request-payload-2.json
@@ -0,0 +1,20 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-request": {
+ "resolve-deploy-kotlin-properties": {
+ "lock-acquire-timeout": 10
+ }
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "lock-request-2",
+ "originatorId": "System"
+ }
+}
diff --git a/test/lock-device/success/request-payloads/request-payload-3.json b/test/lock-device/success/request-payloads/request-payload-3.json
new file mode 100644
index 0000000..f2925e7
--- /dev/null
+++ b/test/lock-device/success/request-payloads/request-payload-3.json
@@ -0,0 +1,20 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-request": {
+ "resolve-deploy-kotlin-properties": {
+ "lock-acquire-timeout": 10
+ }
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "lock-request-3",
+ "originatorId": "System"
+ }
+}
diff --git a/test/lock-device/success/request-payloads/request-payload-4.json b/test/lock-device/success/request-payloads/request-payload-4.json
new file mode 100644
index 0000000..6fc13f5
--- /dev/null
+++ b/test/lock-device/success/request-payloads/request-payload-4.json
@@ -0,0 +1,20 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-lock-device",
+ "blueprintVersion": "1.0.0",
+ "actionName": "resolve-deploy-kotlin"
+ },
+ "payload": {
+ "resolve-deploy-kotlin-request": {
+ "resolve-deploy-kotlin-properties": {
+ "lock-acquire-timeout": 10
+ }
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "lock-request-4",
+ "originatorId": "System"
+ }
+}
diff --git a/test/lock-device/success/test.sh b/test/lock-device/success/test.sh
new file mode 100644
index 0000000..cf8a42c
--- /dev/null
+++ b/test/lock-device/success/test.sh
@@ -0,0 +1,62 @@
+#!/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="lock-device"
+TEST_NAME="success"
+TEST_NUMBER=$RANDOM
+mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME"
+
+
+# Request 1: Acquire lock and run for 30 sec
+# Sleep 5 - ensure req 1 is processed before req 2
+# Request 2: Wait for lock 10 sec then time out
+# Sleep 60 - lock should have been released after this time
+# Request 3: Acquire lock and run for 30 sec
+# Sleep 5 - ensure req 3 is processed before req 4
+# Request 4: Wait for lock 10 sec then time out
+delays=(0 5 60 5 0)
+
+for i in `seq 1 4`
+do
+ echo "Sending request $i"
+ RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-headers-$i"
+ RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload-$i"
+ REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/request-payloads/request-payload-$i.json"
+
+ process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE &
+ pids[${i}]=$!
+ sleep ${delays[$i]}
+done
+
+echo "Waiting for responses - pids: ${pids[*]}"
+for pid in ${pids[*]}
+do
+ echo "Waiting for pid $pid"
+ wait $pid
+done
+
+for i in `seq 1 4`
+do
+ echo "Assert payload - request $i"
+ RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$TEST_NAME/$TEST_NUMBER/response-payload-$i"
+ EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$TEST_NAME/expected-payloads/expected-payload-$i.json"
+ assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE
+done