- include_vars: default.yml - name: Create test user become: True become_user: root user: name: "{{ become_test_user }}" - name: test becoming user shell: whoami become: True become_user: "{{ become_test_user }}" register: results - assert: that: - "results.stdout == '{{ become_test_user }}'" - name: tilde expansion honors become in file become: True become_user: "{{ become_test_user }}" file: path: "~/foo.txt" state: touch - name: check that the path in the user's home dir was created become: True become_user: "{{ become_test_user }}" stat: path: "~{{ become_test_user }}/foo.txt" register: results - assert: that: - "results.stat.exists == True" - "results.stat.path|dirname|basename == '{{ become_test_user }}'" - name: tilde expansion honors become in template become: True become_user: "{{ become_test_user }}" template: src: "bar.j2" dest: "~/bar.txt" - name: check that the path in the user's home dir was created become: True become_user: "{{ become_test_user }}" stat: path: "~{{ become_test_user }}/bar.txt" register: results - assert: that: - "results.stat.exists == True" - "results.stat.path|dirname|basename == '{{ become_test_user }}'" - name: tilde expansion honors become in copy become: True become_user: "{{ become_test_user }}" copy: src: baz.txt dest: "~/baz.txt" - name: check that the path in the user's home dir was created become: True become_user: "{{ become_test_user }}" stat: path: "~{{ become_test_user }}/baz.txt" register: results - assert: that: - "results.stat.exists == True" - "results.stat.path|dirname|basename == '{{ become_test_user }}'" - name: Remove test user and their home dir become: True become_user: root user: name: "{{ become_test_user }}" state: "absent" remove: "yes" force: "yes"