docker-mailserver/test/tests/parallel/set3/scripts/helper_functions.bats
Georg Lauterbach abd72b6f10
ci: fix ShellCheck linting for BATS tests (#3347)
* updated `lint.sh` to lint BATS (again)
* fix linting errors
2023-05-23 14:33:58 +00:00

69 lines
2 KiB
Bash

load "${REPOSITORY_ROOT}/test/helper/common"
BATS_TEST_NAME_PREFIX='[Scripts] (helper functions) '
SOURCE_BASE_PATH="${REPOSITORY_ROOT:?Expected REPOSITORY_ROOT to be set}/target/scripts/helpers"
@test '(network.sh) _sanitize_ipv4_to_subnet_cidr' {
# shellcheck source=../../../../../target/scripts/helpers/network.sh
source "${SOURCE_BASE_PATH}/network.sh"
run _sanitize_ipv4_to_subnet_cidr '255.255.255.255/0'
assert_output '0.0.0.0/0'
run _sanitize_ipv4_to_subnet_cidr '192.168.255.14/20'
assert_output '192.168.240.0/20'
run _sanitize_ipv4_to_subnet_cidr '192.168.255.14/32'
assert_output '192.168.255.14/32'
}
@test '(utils.sh) _env_var_expect_zero_or_one' {
# shellcheck source=../../../../../target/scripts/helpers/log.sh
source "${SOURCE_BASE_PATH}/log.sh"
# shellcheck source=../../../../../target/scripts/helpers/utils.sh
source "${SOURCE_BASE_PATH}/utils.sh"
ZERO=0
ONE=1
TWO=2
run _env_var_expect_zero_or_one ZERO
assert_success
run _env_var_expect_zero_or_one ONE
assert_success
run _env_var_expect_zero_or_one TWO
assert_failure
assert_output --partial "The value of 'TWO' is not zero or one ('2'), but was expected to be"
run _env_var_expect_zero_or_one
assert_failure
assert_output --partial "ENV var name must be provided to _env_var_expect_zero_or_one"
}
@test '(utils.sh) _env_var_expect_integer' {
# shellcheck source=../../../../../target/scripts/helpers/log.sh
source "${SOURCE_BASE_PATH}/log.sh"
# shellcheck source=../../../../../target/scripts/helpers/utils.sh
source "${SOURCE_BASE_PATH}/utils.sh"
INTEGER=1234
NEGATIVE=-${INTEGER}
NaN=not_an_integer
run _env_var_expect_integer INTEGER
assert_success
run _env_var_expect_integer NEGATIVE
assert_success
run _env_var_expect_integer NaN
assert_failure
assert_output --partial "The value of 'NaN' is not an integer ('not_an_integer'), but was expected to be"
run _env_var_expect_integer
assert_failure
assert_output --partial "ENV var name must be provided to _env_var_expect_integer"
}