mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-12 07:35:31 +01:00
* description: create a file given its size, or resize it * add integration tests (filter Mac OS X < 11 for some of them)
285 lines
8.3 KiB
YAML
285 lines
8.3 KiB
YAML
---
|
||
# 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
|