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/become/tasks/su.yml

92 lines
2.3 KiB
YAML

- name: Create test user (become_method=su)
become: True
become_user: root
become_method: su
user:
name: "{{ become_test_user }}"
group: '{{ "staff" if ansible_facts.distribution == "MacOSX" else omit }}'
- name: test becoming user (become_method=su)
shell: whoami
become: True
become_user: "{{ become_test_user }}"
become_method: su
register: results
- assert:
that:
- "results.stdout == '{{ become_test_user }}'"
- name: tilde expansion honors become in file (become_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
file:
path: "~/foo.txt"
state: touch
- name: check that the path in the user's home dir was created (become_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
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_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
template:
src: "bar.j2"
dest: "~/bar.txt"
- name: check that the path in the user's home dir was created (become_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
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_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
copy:
src: baz.txt
dest: "~/baz.txt"
- name: check that the path in the user's home dir was created (become_method=su)
become: True
become_user: "{{ become_test_user }}"
become_method: su
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_method=su)
become: True
become_user: root
become_method: su
user:
name: "{{ become_test_user }}"
state: "absent"
remove: "yes"
force: "yes"