summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/connection_remote_is_local
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/connection_remote_is_local')
-rw-r--r--test/integration/targets/connection_remote_is_local/aliases2
-rw-r--r--test/integration/targets/connection_remote_is_local/connection_plugins/remote_is_local.py25
-rw-r--r--test/integration/targets/connection_remote_is_local/tasks/main.yml15
-rw-r--r--test/integration/targets/connection_remote_is_local/test.yml8
4 files changed, 50 insertions, 0 deletions
diff --git a/test/integration/targets/connection_remote_is_local/aliases b/test/integration/targets/connection_remote_is_local/aliases
new file mode 100644
index 0000000..1d28bdb
--- /dev/null
+++ b/test/integration/targets/connection_remote_is_local/aliases
@@ -0,0 +1,2 @@
+shippable/posix/group5
+context/controller
diff --git a/test/integration/targets/connection_remote_is_local/connection_plugins/remote_is_local.py b/test/integration/targets/connection_remote_is_local/connection_plugins/remote_is_local.py
new file mode 100644
index 0000000..818bca4
--- /dev/null
+++ b/test/integration/targets/connection_remote_is_local/connection_plugins/remote_is_local.py
@@ -0,0 +1,25 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+DOCUMENTATION = '''
+ name: remote_is_local
+ short_description: remote is local
+ description:
+ - remote_is_local
+ author: ansible (@core)
+ version_added: historical
+ extends_documentation_fragment:
+ - connection_pipelining
+ notes:
+ - The remote user is ignored, the user with which the ansible CLI was executed is used instead.
+'''
+
+
+from ansible.plugins.connection.local import Connection as LocalConnection
+
+
+class Connection(LocalConnection):
+ _remote_is_local = True
diff --git a/test/integration/targets/connection_remote_is_local/tasks/main.yml b/test/integration/targets/connection_remote_is_local/tasks/main.yml
new file mode 100644
index 0000000..265713a
--- /dev/null
+++ b/test/integration/targets/connection_remote_is_local/tasks/main.yml
@@ -0,0 +1,15 @@
+- command: ansible-playbook {{ role_path }}/test.yml -vvv -i {{ '-i '.join(ansible_inventory_sources) }}
+ environment:
+ ANSIBLE_REMOTE_TEMP: /i/dont/exist
+ ANSIBLE_NOCOLOR: 'true'
+ register: result
+
+- assert:
+ that:
+ - >-
+ result.stdout is search('PUT ' ~ ansible_local ~ ' TO ' ~ ansible_local)
+ - >-
+ '/i/dont/exist' not in result.stdout
+ vars:
+ local_tmp: '{{ q("config", "remote_tmp", plugin_type="shell", plugin_name="sh")|first|expanduser|realpath }}'
+ ansible_local: '{{ local_tmp }}/ansible-local-\S+'
diff --git a/test/integration/targets/connection_remote_is_local/test.yml b/test/integration/targets/connection_remote_is_local/test.yml
new file mode 100644
index 0000000..b76ba5f
--- /dev/null
+++ b/test/integration/targets/connection_remote_is_local/test.yml
@@ -0,0 +1,8 @@
+- hosts: testhost
+ gather_facts: false
+ tasks:
+ - ping:
+ vars:
+ ansible_connection: remote_is_local
+ ansible_pipelining: false
+ ansible_remote_tmp: /i/dont/exist