- name: create test files for mode matching file: path: '{{ remote_tmp_dir_test }}/mode_{{ item }}' state: touch mode: '{{ item }}' loop: - '0644' - '0444' - '0400' - '0700' - '0666' - name: exact mode octal find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: '0644' exact_mode: true register: exact_mode_0644 - name: exact mode symbolic find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: 'u=rw,g=r,o=r' exact_mode: true register: exact_mode_0644_symbolic - name: find all user readable files octal find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: '0400' exact_mode: false register: user_readable_octal - name: find all user readable files symbolic find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: 'u=r' exact_mode: false register: user_readable_symbolic - name: all other readable files octal find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: '0004' exact_mode: false register: other_readable_octal - name: all other readable files symbolic find: path: '{{ remote_tmp_dir_test }}' pattern: 'mode_*' mode: 'o=r' exact_mode: false register: other_readable_symbolic - assert: that: - exact_mode_0644.files == exact_mode_0644_symbolic.files - exact_mode_0644.files[0].path == '{{ remote_tmp_dir_test }}/mode_0644' - user_readable_octal.files == user_readable_symbolic.files - user_readable_octal.files|map(attribute='path')|map('basename')|sort == ['mode_0400', 'mode_0444', 'mode_0644', 'mode_0666', 'mode_0700'] - other_readable_octal.files == other_readable_symbolic.files - other_readable_octal.files|map(attribute='path')|map('basename')|sort == ['mode_0444', 'mode_0644', 'mode_0666']