152 lines
4.4 KiB
YAML
152 lines
4.4 KiB
YAML
|
- name: create our unarchive destination
|
||
|
file:
|
||
|
path: '{{remote_tmp_dir}}/test-unarchive-tar-gz'
|
||
|
state: directory
|
||
|
|
||
|
- name: unarchive and set mode to 0600, directories 0700
|
||
|
unarchive:
|
||
|
src: "{{ remote_tmp_dir }}/test-unarchive.tar.gz"
|
||
|
dest: "{{ remote_tmp_dir }}/test-unarchive-tar-gz"
|
||
|
remote_src: yes
|
||
|
mode: "u+rwX,g-rwx,o-rwx"
|
||
|
list_files: True
|
||
|
register: unarchive06
|
||
|
|
||
|
- name: Test that the file modes were changed
|
||
|
stat:
|
||
|
path: "{{ remote_tmp_dir }}/test-unarchive-tar-gz/foo-unarchive.txt"
|
||
|
register: unarchive06_stat
|
||
|
|
||
|
- name: Test that the file modes were changed
|
||
|
assert:
|
||
|
that:
|
||
|
- "unarchive06.changed == true"
|
||
|
- "unarchive06_stat.stat.mode == '0600'"
|
||
|
# Verify that file list is generated
|
||
|
- "'files' in unarchive06"
|
||
|
- "{{unarchive06['files']| length}} == 1"
|
||
|
- "'foo-unarchive.txt' in unarchive06['files']"
|
||
|
|
||
|
- name: remove our tar.gz unarchive destination
|
||
|
file:
|
||
|
path: '{{ remote_tmp_dir }}/test-unarchive-tar-gz'
|
||
|
state: absent
|
||
|
|
||
|
- name: create our unarchive destination
|
||
|
file:
|
||
|
path: '{{remote_tmp_dir}}/test-unarchive-tar-gz'
|
||
|
state: directory
|
||
|
|
||
|
- name: unarchive over existing extraction and set mode to 0644
|
||
|
unarchive:
|
||
|
src: "{{ remote_tmp_dir }}/test-unarchive.tar.gz"
|
||
|
dest: "{{ remote_tmp_dir }}/test-unarchive-tar-gz"
|
||
|
remote_src: yes
|
||
|
mode: "u+rwX,g-wx,o-wx,g+r,o+r"
|
||
|
register: unarchive06_2
|
||
|
|
||
|
- name: Test that the file modes were changed
|
||
|
stat:
|
||
|
path: "{{ remote_tmp_dir }}/test-unarchive-tar-gz/foo-unarchive.txt"
|
||
|
register: unarchive06_2_stat
|
||
|
|
||
|
- debug:
|
||
|
var: unarchive06_2_stat.stat.mode
|
||
|
|
||
|
- name: Test that the files were changed
|
||
|
assert:
|
||
|
that:
|
||
|
- "unarchive06_2.changed == true"
|
||
|
- "unarchive06_2_stat.stat.mode == '0644'"
|
||
|
|
||
|
- name: Repeat the last request to verify no changes
|
||
|
unarchive:
|
||
|
src: "{{ remote_tmp_dir }}/test-unarchive.tar.gz"
|
||
|
dest: "{{ remote_tmp_dir }}/test-unarchive-tar-gz"
|
||
|
remote_src: yes
|
||
|
mode: "u+rwX-x,g-wx,o-wx,g+r,o+r"
|
||
|
list_files: True
|
||
|
register: unarchive07
|
||
|
|
||
|
- name: Test that the files were not changed
|
||
|
assert:
|
||
|
that:
|
||
|
- "unarchive07.changed == false"
|
||
|
# Verify that file list is generated
|
||
|
- "'files' in unarchive07"
|
||
|
- "{{unarchive07['files']| length}} == 1"
|
||
|
- "'foo-unarchive.txt' in unarchive07['files']"
|
||
|
|
||
|
- name: remove our tar.gz unarchive destination
|
||
|
file:
|
||
|
path: '{{ remote_tmp_dir }}/test-unarchive-tar-gz'
|
||
|
state: absent
|
||
|
|
||
|
- name: create our unarchive destination
|
||
|
file:
|
||
|
path: '{{remote_tmp_dir}}/test-unarchive-zip'
|
||
|
state: directory
|
||
|
|
||
|
- name: unarchive and set mode to 0601, directories 0700
|
||
|
unarchive:
|
||
|
src: "{{ remote_tmp_dir }}/test-unarchive.zip"
|
||
|
dest: "{{ remote_tmp_dir }}/test-unarchive-zip"
|
||
|
remote_src: yes
|
||
|
mode: "u+rwX-x,g-rwx,o=x"
|
||
|
list_files: True
|
||
|
register: unarchive08
|
||
|
|
||
|
- name: Test that the file modes were changed
|
||
|
stat:
|
||
|
path: "{{ remote_tmp_dir }}/test-unarchive-zip/foo-unarchive.txt"
|
||
|
register: unarchive08_stat
|
||
|
|
||
|
- name: Test that the file modes were changed
|
||
|
assert:
|
||
|
that:
|
||
|
- "unarchive08.changed == true"
|
||
|
- "unarchive08_stat.stat.mode == '0601'"
|
||
|
# Verify that file list is generated
|
||
|
- "'files' in unarchive08"
|
||
|
- "{{unarchive08['files']| length}} == 3"
|
||
|
- "'foo-unarchive.txt' in unarchive08['files']"
|
||
|
- "'foo-unarchive-777.txt' in unarchive08['files']"
|
||
|
- "'FOO-UNAR.TXT' in unarchive08['files']"
|
||
|
|
||
|
- name: unarchive zipfile a second time and set mode to 0601, directories 0700
|
||
|
unarchive:
|
||
|
src: "{{ remote_tmp_dir }}/test-unarchive.zip"
|
||
|
dest: "{{ remote_tmp_dir }}/test-unarchive-zip"
|
||
|
remote_src: yes
|
||
|
mode: "u+rwX-x,g-rwx,o=x"
|
||
|
list_files: True
|
||
|
register: unarchive08
|
||
|
|
||
|
- name: Test that the file modes were not changed
|
||
|
stat:
|
||
|
path: "{{ remote_tmp_dir }}/test-unarchive-zip/foo-unarchive.txt"
|
||
|
register: unarchive08_stat
|
||
|
|
||
|
- debug:
|
||
|
var: unarchive08
|
||
|
|
||
|
- debug:
|
||
|
var: unarchive08_stat
|
||
|
|
||
|
- name: Test that the files did not change
|
||
|
assert:
|
||
|
that:
|
||
|
- "unarchive08.changed == false"
|
||
|
- "unarchive08_stat.stat.mode == '0601'"
|
||
|
# Verify that file list is generated
|
||
|
- "'files' in unarchive08"
|
||
|
- "{{unarchive08['files']| length}} == 3"
|
||
|
- "'foo-unarchive.txt' in unarchive08['files']"
|
||
|
- "'foo-unarchive-777.txt' in unarchive08['files']"
|
||
|
- "'FOO-UNAR.TXT' in unarchive08['files']"
|
||
|
|
||
|
- name: remove our zip unarchive destination
|
||
|
file:
|
||
|
path: '{{ remote_tmp_dir }}/test-unarchive-zip'
|
||
|
state: absent
|