ansible/test/integration/targets/become/tasks/su.yml
Matt Martz 35b0fef536
Changes required for macOS 10.15 ()
* Use default group of staff on macos to prevent sudo issues
* Install gnu-tar for macos in git and unarchive tests
* Enable timezone module to support py3 on macos
* If the virtualenv command is missing, try python -m virtualenv
* Install passlib for filter_core on macos
* Install paramiko via pip on macos for paramiko tests
* Normalize discovered python interpreter on macos
* Get pip tests passing, by ensuring we have wheel installed
* Create /etc/ansible for ca certs on mac, list lookup_url as destructive
* Fixups for CA certs
* Include macos
* Dynamically get cafile instead of hardcoding the path
2020-09-25 15:30:47 -04:00

91 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"