# This playbook needs to be run as a non-root user without become. Under # those circumstances, the fetch module uses stat and not slurp. - name: Test unreadable file using stat hosts: testhost gather_facts: no tasks: - name: Check connectivity command: whoami register: whoami - name: Verify user assert: that: - whoami.stdout == 'fetcher' - name: Try to fetch a file inside an inaccessible directory fetch: src: "{{ remote_tmp_dir }}/noaccess/file1" dest: "{{ output_dir }}" register: failed_fetch_no_access ignore_errors: yes - name: Try to fetch a file inside an inaccessible directory without fail_on_missing fetch: src: "{{ remote_tmp_dir }}/noaccess/file1" dest: "{{ output_dir }}" fail_on_missing: no register: failed_fetch_no_access_fail_on_missing - assert: that: - failed_fetch_no_access is failed - failed_fetch_no_access.msg is search('Permission denied') - failed_fetch_no_access_fail_on_missing.msg is search(', ignored')