summaryrefslogtreecommitdiffstats
path: root/test/remote-ansible/connection-failure
diff options
context:
space:
mode:
Diffstat (limited to 'test/remote-ansible/connection-failure')
-rw-r--r--test/remote-ansible/connection-failure/expected-response.json28
-rw-r--r--test/remote-ansible/connection-failure/request-payload.json27
-rw-r--r--test/remote-ansible/connection-failure/test.sh40
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