You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/remote_tmp/playbook.yml

73 lines
2.0 KiB
YAML

- name: Test temp dir on de escalation
hosts: testhost
become: yes
tasks:
- name: create test user
user:
name: tmptest
state: present
group: '{{ "staff" if ansible_facts.distribution == "MacOSX" else omit }}'
- name: execute test case
become_user: tmptest
block:
- name: Test case from issue 41340
blockinfile:
create: yes
block: |
export foo=bar
marker: "# {mark} Here there be a marker"
dest: /tmp/testing.txt
mode: 0644
always:
- name: clean up file
file: path=/tmp/testing.txt state=absent
- name: clean up test user
user: name=tmptest state=absent
become_user: root
- name: Test tempdir is removed
hosts: testhost
gather_facts: false
vars:
# These tests cannot be run with pipelining as it defeats the purpose of
# ensuring remote_tmp is cleaned up. Pipelining is enabled in the test
# inventory
ansible_pipelining: false
# Ensure that the remote_tmp_dir we create allows the unpriv connection user
# to create the remote_tmp
ansible_become: false
tasks:
- import_role:
name: ../setup_remote_tmp_dir
- vars:
# Isolate the remote_tmp used by these tests
ansible_remote_tmp: "{{ remote_tmp_dir }}/remote_tmp"
block:
- file:
state: touch
path: "{{ remote_tmp_dir }}/65393"
- copy:
src: "{{ remote_tmp_dir }}/65393"
dest: "{{ remote_tmp_dir }}/65393.2"
remote_src: true
- find:
path: "{{ ansible_remote_tmp }}"
use_regex: yes
patterns: 'AnsiballZ_.+\.py'
recurse: true
register: result
- debug:
var: result
- assert:
that:
# Should only be AnsiballZ_find.py because find is actively running
- result.files|length == 1
- result.files[0].path.endswith('/AnsiballZ_find.py')