summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMartin Krizek <martin.krizek@gmail.com>2017-09-14 17:13:43 +0200
committerToshio Kuratomi <a.badger@gmail.com>2017-09-14 09:18:42 -0700
commit6294f3ebfeea601d38d95cbb93ef4d515b9e81d8 (patch)
tree2c7c1b4a22d14eee1f2a6ee4db4c0996a1c1cc8a /test
parent7794b1e465062f608881af4f11aef50766559c6d (diff)
downloadansible-6294f3ebfeea601d38d95cbb93ef4d515b9e81d8.tar.gz
Add sudo/su become_methods for become tests (#30266)
* Add sudo/su become_methods for become tests * Fix test on osx (cherry picked from commit dc5f83c09bafc39ecf396411370c8fad9d046f51)
Diffstat (limited to 'test')
-rw-r--r--test/integration/targets/become/tasks/default.yml81
-rw-r--r--test/integration/targets/become/tasks/main.yml84
-rw-r--r--test/integration/targets/become/tasks/su.yml102
-rw-r--r--test/integration/targets/become/tasks/sudo.yml90
4 files changed, 276 insertions, 81 deletions
diff --git a/test/integration/targets/become/tasks/default.yml b/test/integration/targets/become/tasks/default.yml
new file mode 100644
index 0000000000..59568ed662
--- /dev/null
+++ b/test/integration/targets/become/tasks/default.yml
@@ -0,0 +1,81 @@
+- name: Create test user (become_method=default)
+ become: True
+ become_user: root
+ user:
+ name: "{{ become_test_user }}"
+
+- name: test becoming user (become_method=default)
+ 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_method=default)
+ 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_method=default)
+ 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_method=default)
+ 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_method=default)
+ 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_method=default)
+ 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_method=default)
+ 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_method=default)
+ become: True
+ become_user: root
+ user:
+ name: "{{ become_test_user }}"
+ state: "absent"
+ remove: "yes"
+ force: "yes"
diff --git a/test/integration/targets/become/tasks/main.yml b/test/integration/targets/become/tasks/main.yml
index 00a3dd0167..3feb5cc729 100644
--- a/test/integration/targets/become/tasks/main.yml
+++ b/test/integration/targets/become/tasks/main.yml
@@ -1,83 +1,5 @@
- 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"
+- include: default.yml
+- include: sudo.yml
+- include: su.yml
diff --git a/test/integration/targets/become/tasks/su.yml b/test/integration/targets/become/tasks/su.yml
new file mode 100644
index 0000000000..e4d37a3959
--- /dev/null
+++ b/test/integration/targets/become/tasks/su.yml
@@ -0,0 +1,102 @@
+- name: Create test user (become_method=su)
+ become: True
+ become_user: root
+ become_method: su
+ user:
+ name: "{{ become_test_user }}"
+ when: ansible_distribution != "MacOSX"
+
+
+- name: Create test user (become_method=su)
+ become: True
+ become_user: root
+ become_method: su
+ user:
+ name: "{{ become_test_user }}"
+ # explicitly set user shell since the default shell on OS X is /usr/bin/false
+ shell: /bin/bash
+ when: ansible_distribution == "MacOSX"
+
+- 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"
diff --git a/test/integration/targets/become/tasks/sudo.yml b/test/integration/targets/become/tasks/sudo.yml
new file mode 100644
index 0000000000..8b0cce5a76
--- /dev/null
+++ b/test/integration/targets/become/tasks/sudo.yml
@@ -0,0 +1,90 @@
+- name: Create test user (become_method=sudo)
+ become: True
+ become_user: root
+ become_method: sudo
+ user:
+ name: "{{ become_test_user }}"
+
+- name: test becoming user (become_method=sudo)
+ shell: whoami
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ register: results
+
+- assert:
+ that:
+ - "results.stdout == '{{ become_test_user }}'"
+
+- name: tilde expansion honors become in file (become_method=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ file:
+ path: "~/foo.txt"
+ state: touch
+
+- name: check that the path in the user's home dir was created (become_method=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ 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=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ template:
+ src: "bar.j2"
+ dest: "~/bar.txt"
+
+- name: check that the path in the user's home dir was created (become_method=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ 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=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ copy:
+ src: baz.txt
+ dest: "~/baz.txt"
+
+- name: check that the path in the user's home dir was created (become_method=sudo)
+ become: True
+ become_user: "{{ become_test_user }}"
+ become_method: sudo
+ 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=sudo)
+ become: True
+ become_user: root
+ become_method: sudo
+ user:
+ name: "{{ become_test_user }}"
+ state: "absent"
+ remove: "yes"
+ force: "yes"