summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/unarchive/tasks/test_owner_group.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/unarchive/tasks/test_owner_group.yml')
-rw-r--r--test/integration/targets/unarchive/tasks/test_owner_group.yml164
1 files changed, 164 insertions, 0 deletions
diff --git a/test/integration/targets/unarchive/tasks/test_owner_group.yml b/test/integration/targets/unarchive/tasks/test_owner_group.yml
new file mode 100644
index 0000000..227ad9c
--- /dev/null
+++ b/test/integration/targets/unarchive/tasks/test_owner_group.yml
@@ -0,0 +1,164 @@
+- block:
+ - name: Create a group to chown to
+ group:
+ name: testgroup
+ register: testgroup
+
+ - name: Create a user to chown to
+ user:
+ name: testuser
+ groups:
+ - testgroup
+ register: testuser
+
+ - set_fact:
+ outdir: '{{remote_tmp_dir}}/test-unarchive-{{ ext | replace(".", "_") }}'
+
+ - debug:
+ msg: Username test
+
+ # username
+ - name: create our unarchive destinations
+ file:
+ path: '{{outdir}}'
+ state: directory
+
+ - name: unarchive a file
+ unarchive:
+ src: '{{remote_tmp_dir}}/{{archive}}'
+ dest: '{{outdir}}'
+ list_files: True
+ remote_src: yes
+ owner: testuser
+
+ - name: stat an output file
+ stat:
+ path: '{{outdir}}/{{testfile}}'
+ register: stat
+
+ - name: verify that the file has the right owner
+ assert:
+ that:
+ - stat.stat.exists
+ - stat.stat.pw_name == testuser.name
+ - stat.stat.uid == testuser.uid
+
+ - name: nuke destination
+ file:
+ path: '{{outdir}}'
+ state: absent
+
+ - debug:
+ msg: uid test
+
+ # uid
+ - name: create our unarchive destinations
+ file:
+ path: '{{outdir}}'
+ state: directory
+
+ - name: unarchive a file
+ unarchive:
+ src: '{{remote_tmp_dir}}/{{archive}}'
+ dest: '{{outdir}}'
+ list_files: True
+ remote_src: yes
+ owner: '{{ testuser.uid }}'
+
+ - name: stat an output file
+ stat:
+ path: '{{outdir}}/{{testfile}}'
+ register: stat
+
+ - name: verify that the file has the right owner
+ assert:
+ that:
+ - stat.stat.exists
+ - stat.stat.pw_name == testuser.name
+ - stat.stat.uid == testuser.uid
+
+ - name: nuke destination
+ file:
+ path: '{{outdir}}'
+ state: absent
+
+ - debug:
+ msg: groupname test
+
+ # groupname
+ - name: create our unarchive destinations
+ file:
+ path: '{{outdir}}'
+ state: directory
+
+ - name: unarchive a file
+ unarchive:
+ src: '{{remote_tmp_dir}}/{{archive}}'
+ dest: '{{outdir}}'
+ list_files: True
+ remote_src: yes
+ group: testgroup
+
+ - name: stat an output file
+ stat:
+ path: '{{outdir}}/{{testfile}}'
+ register: stat
+
+ - name: verify that the file has the right owner
+ assert:
+ that:
+ - stat.stat.exists
+ - stat.stat.gr_name == testgroup.name
+ - stat.stat.gid == testgroup.gid
+
+ - name: nuke destination
+ file:
+ path: '{{outdir}}'
+ state: absent
+
+ - debug:
+ msg: gid test
+
+ # gid
+ - name: create our unarchive destinations
+ file:
+ path: '{{outdir}}'
+ state: directory
+
+ - name: unarchive a file
+ unarchive:
+ src: '{{remote_tmp_dir}}/{{archive}}'
+ dest: '{{outdir}}'
+ list_files: True
+ remote_src: yes
+ group: '{{ testgroup.gid }}'
+
+ - name: stat an output file
+ stat:
+ path: '{{outdir}}/{{testfile}}'
+ register: stat
+
+ - name: verify that the file has the right owner
+ assert:
+ that:
+ - stat.stat.exists
+ - stat.stat.gr_name == testgroup.name
+ - stat.stat.gid == testgroup.gid
+
+ - name: nuke destination
+ file:
+ path: '{{outdir}}'
+ state: absent
+
+ always:
+ - name: Remove testuser
+ user:
+ name: testuser
+ state: absent
+ remove: yes
+ force: yes
+
+ - name: Remove testgroup
+ group:
+ name: testgroup
+ state: absent