diff options
Diffstat (limited to 'test/remote-ansible/connection-failure')
3 files changed, 95 insertions, 0 deletions
diff --git a/test/remote-ansible/connection-failure/expected-response.json b/test/remote-ansible/connection-failure/expected-response.json new file mode 100644 index 0000000..301e70b --- /dev/null +++ b/test/remote-ansible/connection-failure/expected-response.json @@ -0,0 +1,28 @@ +{ + "commonHeader": { + "timestamp": "2020-05-01T19:38:57.529Z", + "originatorId": "System", + "requestId": "remote-ansible-connection-failure", + "subRequestId": "remote-ansible-connection-failure-1", + "flags": null + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-ansible", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "status": { + "code": 500, + "eventType": "EVENT_COMPONENT_FAILURE", + "timestamp": "2020-05-01T19:38:57.551Z", + "errorMessage": "error : ansible-command-logs : Failed to process on remote executor (Connect to localhost:12345 [localhost/127.0.0.1] failed: Connection refused (Connection refused))", + "message": "failure" + }, + "payload": { + "connection-fail-response": { + "ansible-command-status": "error", + "ansible-command-logs": "Failed to process on remote executor (Connect to localhost:12345 [localhost/127.0.0.1] failed: Connection refused (Connection refused))" + } + } +} diff --git a/test/remote-ansible/connection-failure/request-payload.json b/test/remote-ansible/connection-failure/request-payload.json new file mode 100644 index 0000000..08e39c7 --- /dev/null +++ b/test/remote-ansible/connection-failure/request-payload.json @@ -0,0 +1,27 @@ +{ + "commonHeader": { + "originatorId": "System", + "requestId": "remote-ansible-connection-failure", + "subRequestId": "remote-ansible-connection-failure-1" + }, + "actionIdentifiers": { + "blueprintName": "RT-remote-ansible", + "blueprintVersion": "1.0.0", + "actionName": "connection-fail", + "mode": "sync" + }, + "payload": { + "connection-fail-request": { + "endpoint-selector": "awx", + "job-template-name": "hello_world_job_template", + "inventory": "Demo Inventory", + "limit": "123", + "tags": "some-tag", + "skip-tags": "some-skip-tag", + "extra-vars": { + "site_id": "3 - Belmont", + "tor_group": "vEPC" + } + } + } +} diff --git a/test/remote-ansible/connection-failure/test.sh b/test/remote-ansible/connection-failure/test.sh new file mode 100644 index 0000000..0993d42 --- /dev/null +++ b/test/remote-ansible/connection-failure/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="remote-ansible" +TEST_NAME="connection-failure" +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 |