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