ansible.posix/tests/integration/targets/filesize/tasks/basics.yml
quidame 44d071cb4c add new module: filesize
* description: create a file given its size, or resize it
* add integration tests (filter Mac OS X < 11 for some of them)
2021-03-24 19:57:22 +01:00

285 lines
8.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Test module with basic parameters.
# Create a file, grow it, reduce it to its initial size and check the match
# between initial and final checksums. Also check size formats consistency
# (as 57001B == 57001 B == 57.001 kB, for example, or 0 block or 0 unit is
# zero, etc).
- name: Create an empty file (check mode)
filesize:
path: "{{ filesize_testfile }}"
size: "0"
register: filesize_test_basic_01
check_mode: yes
- name: Create an empty file
filesize:
path: "{{ filesize_testfile }}"
size: "0"
register: filesize_test_basic_02
- name: Create an empty file (check mode, idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "0G"
register: filesize_test_basic_03
check_mode: yes
- name: Create an empty file (idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "0G"
register: filesize_test_basic_04
- name: Assert that results are as expected
assert:
that:
- filesize_test_basic_01 is changed
- filesize_test_basic_02 is changed
- filesize_test_basic_03 is not changed
- filesize_test_basic_04 is not changed
- filesize_test_basic_01.state is undefined
- filesize_test_basic_02.state in ["file"]
- filesize_test_basic_01.size is undefined
- filesize_test_basic_02.size == 0
- filesize_test_basic_03.size == 0
- filesize_test_basic_04.size == 0
- name: Fill the file up to 57kB (57000B) with random data (check mode)
filesize:
path: "{{ filesize_testfile }}"
size: "57kB"
source: /dev/urandom
register: filesize_test_basic_11
check_mode: yes
- name: Fill the file up to 57kB (57000B) with random data
filesize:
path: "{{ filesize_testfile }}"
size: "57kB"
source: /dev/urandom
register: filesize_test_basic_12
- name: Get checksum of the resulting file
stat:
path: "{{ filesize_testfile }}"
register: filesize_test_basic_stat_00
- name: Store checksum as fact
set_fact:
filesize_test_checksum: "{{ filesize_test_basic_stat_00.stat.checksum }}"
- name: Fill the file up to 57000B (57kB) with random data (check mode, idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57000B"
source: /dev/urandom
register: filesize_test_basic_13
check_mode: yes
- name: Fill the file up to 57000B (57kB) with random data (idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57000B"
source: /dev/urandom
register: filesize_test_basic_14
- name: Get checksum of the resulting file
stat:
path: "{{ filesize_testfile }}"
register: filesize_test_basic_stat_01
- name: Assert that results are as expected
assert:
that:
- filesize_test_basic_11 is changed
- filesize_test_basic_12 is changed
- filesize_test_basic_13 is not changed
- filesize_test_basic_14 is not changed
- filesize_test_basic_11.filesize.bytes == 57000
- filesize_test_basic_12.filesize.bytes == 57000
- filesize_test_basic_13.filesize.bytes == 57000
- filesize_test_basic_14.filesize.bytes == 57000
- filesize_test_basic_11.size == 0
- filesize_test_basic_12.size == 57000
- filesize_test_basic_13.size == 57000
- filesize_test_basic_14.size == 57000
- filesize_test_basic_stat_01.stat.checksum == filesize_test_checksum
- name: Expand the file with 1 byte (57001B) (check mode)
filesize:
path: "{{ filesize_testfile }}"
size: "57001B"
register: filesize_test_basic_21
check_mode: yes
- name: Expand the file with 1 byte (57001B)
filesize:
path: "{{ filesize_testfile }}"
size: "57001B"
register: filesize_test_basic_22
- name: Get checksum of the resulting file
stat:
path: "{{ filesize_testfile }}"
register: filesize_test_basic_stat_02
- name: Expand the file with 1 byte (57.001kB) (check mode, idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57.001 kB"
register: filesize_test_basic_23
check_mode: yes
- name: Expand the file with 1 byte (57.001kB) (idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57.001 kB"
register: filesize_test_basic_24
- name: Assert that results are as expected
assert:
that:
- filesize_test_basic_21 is changed
- filesize_test_basic_22 is changed
- filesize_test_basic_23 is not changed
- filesize_test_basic_24 is not changed
- filesize_test_basic_21.filesize.bytes == 57001
- filesize_test_basic_22.filesize.bytes == 57001
- filesize_test_basic_23.filesize.bytes == 57001
- filesize_test_basic_24.filesize.bytes == 57001
- filesize_test_basic_21.size == 57000
- filesize_test_basic_22.size == 57001
- filesize_test_basic_23.size == 57001
- filesize_test_basic_24.size == 57001
- filesize_test_basic_21.size_diff == 1
- filesize_test_basic_22.size_diff == 1
- filesize_test_basic_23.size_diff == 0
- filesize_test_basic_24.size_diff == 0
- filesize_test_basic_stat_02.stat.checksum != filesize_test_checksum
- name: Expand the file up to 2 MiB (2*1024*1024 bytes) (check mode)
filesize:
path: "{{ filesize_testfile }}"
size: "2 MiB"
register: filesize_test_basic_31
check_mode: yes
- name: Expand the file up to 2 MiB (2*1024*1024 bytes)
filesize:
path: "{{ filesize_testfile }}"
size: "2 MiB"
register: filesize_test_basic_32
- name: Expand the file up to 2×1M (2*1024*1024 bytes) (check mode, idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "2"
blocksize: "1M"
register: filesize_test_basic_33
check_mode: yes
- name: Expand the file up to 2×1M (2*1024*1024 bytes) (idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "2"
blocksize: "1M"
register: filesize_test_basic_34
- name: Assert that results are as expected
assert:
that:
- filesize_test_basic_31 is changed
- filesize_test_basic_32 is changed
- filesize_test_basic_33 is not changed
- filesize_test_basic_34 is not changed
- filesize_test_basic_31.filesize.bytes == 2*1024**2
- filesize_test_basic_32.filesize.bytes == 2*1024**2
- filesize_test_basic_33.filesize.bytes == 2*1024**2
- filesize_test_basic_34.filesize.bytes == 2*1024**2
- filesize_test_basic_31.size == 57001
- filesize_test_basic_32.size == 2*1024**2
- filesize_test_basic_33.size == 2*1024**2
- filesize_test_basic_34.size == 2*1024**2
- filesize_test_basic_31.size_diff == 2*1024**2 - 57001
- filesize_test_basic_32.size_diff == 2*1024**2 - 57001
- filesize_test_basic_33.size_diff == 0
- filesize_test_basic_34.size_diff == 0
- name: Truncate the file to 57kB (57000B) (check mode)
filesize:
path: "{{ filesize_testfile }}"
size: "57kB"
register: filesize_test_basic_41
check_mode: yes
- name: Truncate the file to 57kB (57000B)
filesize:
path: "{{ filesize_testfile }}"
size: "57kB"
register: filesize_test_basic_42
- name: Get checksum of the resulting file
stat:
path: "{{ filesize_testfile }}"
register: filesize_test_basic_stat_03
- name: Truncate the file to 57000B (57kB) (check mode, idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57000 B"
register: filesize_test_basic_43
check_mode: yes
- name: Truncate the file to 57000B (57kB) (idempotency)
filesize:
path: "{{ filesize_testfile }}"
size: "57000 B"
register: filesize_test_basic_44
- name: Get checksum of the resulting file
stat:
path: "{{ filesize_testfile }}"
register: filesize_test_basic_stat_04
- name: Assert that results are as expected
assert:
that:
- filesize_test_basic_41 is changed
- filesize_test_basic_42 is changed
- filesize_test_basic_43 is not changed
- filesize_test_basic_44 is not changed
- filesize_test_basic_41.filesize.bytes == 57000
- filesize_test_basic_42.filesize.bytes == 57000
- filesize_test_basic_43.filesize.bytes == 57000
- filesize_test_basic_44.filesize.bytes == 57000
- filesize_test_basic_41.size == filesize_test_basic_31.filesize.bytes
- filesize_test_basic_42.size == 57000
- filesize_test_basic_43.size == 57000
- filesize_test_basic_44.size == 57000
- filesize_test_basic_stat_03.stat.checksum == filesize_test_checksum
- filesize_test_basic_stat_04.stat.checksum == filesize_test_checksum
- name: Remove test file
file:
path: "{{ filesize_testfile }}"
state: absent