diff options
Diffstat (limited to 'tests/unit/test_config.bats')
| -rw-r--r-- | tests/unit/test_config.bats | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/unit/test_config.bats b/tests/unit/test_config.bats index 4169c5e..554c0c7 100644 --- a/tests/unit/test_config.bats +++ b/tests/unit/test_config.bats @@ -302,3 +302,46 @@ EOF [[ "$output" == *"LUKS_PASSPHRASE"* ]] ! [[ "$output" == *"ZFS_PASSPHRASE"* ]] } + +############################# +# SWAP_SIZE validation +############################# + +@test "validate_config accepts empty SWAP_SIZE (default layout)" { + HOSTNAME=h; TIMEZONE=UTC; ROOT_PASSWORD=x + SELECTED_DISKS=(/dev/sda); RAID_LEVEL=""; SWAP_SIZE="" + run validate_config + [[ "$output" != *"SWAP_SIZE"* ]] +} + +@test "validate_config accepts a well-formed SWAP_SIZE on a single disk" { + HOSTNAME=h; TIMEZONE=UTC; ROOT_PASSWORD=x + SELECTED_DISKS=(/dev/sda); RAID_LEVEL=""; SWAP_SIZE=100G + run validate_config + [[ "$output" != *"Invalid SWAP_SIZE"* ]] + [[ "$output" != *"single-disk"* ]] +} + +@test "validate_config rejects SWAP_SIZE without a unit suffix" { + HOSTNAME=h; TIMEZONE=UTC; ROOT_PASSWORD=x + SELECTED_DISKS=(/dev/sda); RAID_LEVEL=""; SWAP_SIZE=100 + run validate_config + [ "$status" -eq 1 ] + [[ "$output" == *"Invalid SWAP_SIZE"* ]] +} + +@test "validate_config rejects SWAP_SIZE with a bogus unit" { + HOSTNAME=h; TIMEZONE=UTC; ROOT_PASSWORD=x + SELECTED_DISKS=(/dev/sda); RAID_LEVEL=""; SWAP_SIZE=100Q + run validate_config + [ "$status" -eq 1 ] + [[ "$output" == *"Invalid SWAP_SIZE"* ]] +} + +@test "validate_config rejects SWAP_SIZE on a multi-disk layout" { + HOSTNAME=h; TIMEZONE=UTC; ROOT_PASSWORD=x + SELECTED_DISKS=(/dev/sda /dev/sdb); RAID_LEVEL=mirror; SWAP_SIZE=100G + run validate_config + [ "$status" -eq 1 ] + [[ "$output" == *"single-disk"* ]] +} |
