summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/become
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
commita453ac31f3428614cceb99027f8efbdb9258a40b (patch)
treef61f87408f32a8511cbd91799f9cececb53e0374 /test/integration/targets/become
parentInitial commit. (diff)
downloadansible-a453ac31f3428614cceb99027f8efbdb9258a40b.tar.xz
ansible-a453ac31f3428614cceb99027f8efbdb9258a40b.zip
Adding upstream version 2.10.7+merged+base+2.10.8+dfsg.upstream/2.10.7+merged+base+2.10.8+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/integration/targets/become')
-rw-r--r--test/integration/targets/become/aliases3
-rw-r--r--test/integration/targets/become/files/baz.txt1
-rw-r--r--test/integration/targets/become/tasks/default.yml82
-rw-r--r--test/integration/targets/become/tasks/main.yml5
-rw-r--r--test/integration/targets/become/tasks/su.yml91
-rw-r--r--test/integration/targets/become/tasks/sudo.yml91
-rw-r--r--test/integration/targets/become/templates/bar.j21
-rw-r--r--test/integration/targets/become/vars/default.yml1
8 files changed, 275 insertions, 0 deletions
diff --git a/test/integration/targets/become/aliases b/test/integration/targets/become/aliases
new file mode 100644
index 00000000..3a07aab3
--- /dev/null
+++ b/test/integration/targets/become/aliases
@@ -0,0 +1,3 @@
+destructive
+shippable/posix/group1
+skip/aix
diff --git a/test/integration/targets/become/files/baz.txt b/test/integration/targets/become/files/baz.txt
new file mode 100644
index 00000000..b8d834da
--- /dev/null
+++ b/test/integration/targets/become/files/baz.txt
@@ -0,0 +1 @@
+testing tilde expansion with become
diff --git a/test/integration/targets/become/tasks/default.yml b/test/integration/targets/become/tasks/default.yml
new file mode 100644
index 00000000..4ba10170
--- /dev/null
+++ b/test/integration/targets/become/tasks/default.yml
@@ -0,0 +1,82 @@
+- name: Create test user (become_method=default)
+ become: True
+ become_user: root
+ user:
+ name: "{{ become_test_user }}"
+ group: '{{ "staff" if ansible_facts.distribution == "MacOSX" else omit }}'
+
+- 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
new file mode 100644
index 00000000..3feb5cc7
--- /dev/null
+++ b/test/integration/targets/become/tasks/main.yml
@@ -0,0 +1,5 @@
+- include_vars: default.yml
+
+- 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 00000000..d314b0a8
--- /dev/null
+++ b/test/integration/targets/become/tasks/su.yml
@@ -0,0 +1,91 @@
+- 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"
diff --git a/test/integration/targets/become/tasks/sudo.yml b/test/integration/targets/become/tasks/sudo.yml
new file mode 100644
index 00000000..636ec378
--- /dev/null
+++ b/test/integration/targets/become/tasks/sudo.yml
@@ -0,0 +1,91 @@
+- name: Create test user (become_method=sudo)
+ become: True
+ become_user: root
+ become_method: sudo
+ user:
+ name: "{{ become_test_user }}"
+ group: '{{ "staff" if ansible_facts.distribution == "MacOSX" else omit }}'
+
+- 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"
diff --git a/test/integration/targets/become/templates/bar.j2 b/test/integration/targets/become/templates/bar.j2
new file mode 100644
index 00000000..7c5fe0ab
--- /dev/null
+++ b/test/integration/targets/become/templates/bar.j2
@@ -0,0 +1 @@
+{{ become_test_user }}
diff --git a/test/integration/targets/become/vars/default.yml b/test/integration/targets/become/vars/default.yml
new file mode 100644
index 00000000..223d44ed
--- /dev/null
+++ b/test/integration/targets/become/vars/default.yml
@@ -0,0 +1 @@
+become_test_user: ansibletest1