diff options
Diffstat (limited to 'test/integration/targets/connection_remote_is_local')
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 |