ansible/test/integration/targets/win_file_compression/tasks/main.yml
Micah Hunsberger 19063166dd New Windows Module: win_file_compression (#56475)
* add win_compact module

* fixed line endings

* fix documentation

* Use cim method instead of wmi method

* renamed to win_file_compression
added single file support
added force option to avoid traversing large directory structures

* fixed end of file

* fixed renaming.
bench test still had win_compact as a module

* Removed more NTFS references and slight test tweaks
2019-11-26 09:26:13 +10:00

224 lines
5.5 KiB
YAML

---
- name: set fact of special testing dir
set_fact:
test_directory: '{{ remote_tmp_dir }}\{{ test_win_file_compression_suffix }}'
- name: create sub directories
win_file:
state: directory
path: "{{ test_directory }}\\{{ item }}"
loop: "{{ test_win_file_compression_sub_directories }}"
- name: set main directory as hidden to test out edge cases
win_shell: (Get-Item -LiteralPath '{{ test_directory }}').Attributes = [System.IO.FileAttributes]::Hidden
- name: Compress parent directory
win_file_compression:
path: "{{ test_directory }}"
state: present
register: result
- name: Get actual attributes for parent directory
win_stat:
path: "{{ test_directory }}"
register: folder_info
- assert:
that:
- "'Compressed' in folder_info.stat.attributes"
- "result.changed == true"
- name: Get actual attributes for sub directories
win_stat:
path: "{{ test_directory }}\\{{ item }}"
register: subfolder_info
loop: "{{ test_win_file_compression_sub_directories }}"
- assert:
that:
- "'Compressed' not in item.stat.attributes"
loop: "{{ subfolder_info.results }}"
- name: Compress parent directory (idempotent)
win_file_compression:
path: "{{ test_directory }}"
state: present
register: result
- assert:
that:
- "result.changed == false"
- name: Compress parent directory and all subdirectories
win_file_compression:
path: "{{ test_directory }}"
state: present
recurse: yes
register: result
- name: Get actual attributes for parent directory
win_stat:
path: "{{ test_directory }}"
register: folder_info
- assert:
that:
- "'Compressed' in folder_info.stat.attributes"
- "result.changed == true"
- name: Get actual attributes for sub directories
win_stat:
path: "{{ test_directory }}\\{{ item }}"
register: subfolder_info
loop: "{{ test_win_file_compression_sub_directories }}"
- assert:
that:
- "'Compressed' in item.stat.attributes"
loop: "{{ subfolder_info.results }}"
- name: Compress parent directory and all subdirectories (idempotent)
win_file_compression:
path: "{{ test_directory }}"
state: present
recurse: yes
register: result
- assert:
that:
- "result.changed == false"
- name: Uncompress parent directory
win_file_compression:
path: "{{ test_directory }}"
state: absent
recurse: no
register: result
- name: Get actual attributes for parent directory
win_stat:
path: "{{ test_directory }}"
register: folder_info
- assert:
that:
- "'Compressed' not in folder_info.stat.attributes"
- "result.changed == true"
- name: Get actual attributes for sub directories
win_stat:
path: "{{ test_directory }}\\{{ item }}"
register: subfolder_info
loop: "{{ test_win_file_compression_sub_directories }}"
- assert:
that:
- "'Compressed' in item.stat.attributes"
loop: "{{ subfolder_info.results }}"
- name: Uncompress parent directory (idempotent)
win_file_compression:
path: "{{ test_directory }}"
state: absent
recurse: no
register: result
- assert:
that:
- "result.changed == false"
- name: Uncompress parent directory and all subdirectories
win_file_compression:
path: "{{ test_directory }}"
state: absent
recurse: yes
register: result
- name: Get actual attributes for parent directory
win_stat:
path: "{{ test_directory }}"
register: folder_info
- assert:
that:
- "'Compressed' not in folder_info.stat.attributes"
- "result.changed == true"
- name: Get actual attributes for sub directories
win_stat:
path: "{{ test_directory }}\\{{ item }}"
register: subfolder_info
loop: "{{ test_win_file_compression_sub_directories }}"
- assert:
that:
- "'Compressed' not in item.stat.attributes"
loop: "{{ subfolder_info.results }}"
- name: Uncompress parent directory and all subdirectories (idempotent)
win_file_compression:
path: "{{ test_directory }}"
state: absent
recurse: yes
register: result
- assert:
that:
- "result.changed == false"
- name: Create test file
win_file:
state: touch
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
- name: Compress specific file
win_file_compression:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
state: present
register: result
- name: Get actual attributes of file
win_stat:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
register: testfile_info
- assert:
that:
- "result.changed == true"
- "'Compressed' in testfile_info.stat.attributes"
- name: Compress specific file (idempotent)
win_file_compression:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
state: present
register: result
- assert:
that:
- "result.changed == false"
- name: Uncompress specific file
win_file_compression:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
state: absent
register: result
- name: Get actual attributes of file
win_stat:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
register: testfile_info
- assert:
that:
- "result.changed == true"
- "'Compressed' not in testfile_info.stat.attributes"
- name: Uncompress specific file (idempotent)
win_file_compression:
path: "{{ test_directory }}\\{{ test_win_file_compression_filename }}"
state: absent
register: result
- assert:
that:
- "result.changed == false"