diff options
Diffstat (limited to 'test/lock-device/success')
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 |