mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
638975922e
* added checks whether OpenDKIM/OpenDMARC/policyd-spf are enabled * added functions to check if VAR is 0/0 or an int and also added tests. I also adjusted the test file to not run in a container, because there is no need. This also decreases test time, which, in turn, increases maintainers' happiness. * added more checks to Rspamd setup I added the helpers from the previous commit to the Rspamd setup to make the whole setup more robust, and indicate to the user that an ENV variable's value is incorrect. While we did not issues for this in the past, I believe it to be worthwhile for the future. * added canonical directory for users to place files in This dir is canonical with DMS's optional configuration dirs, as it lives in well-known volume mounts. Hence, users will not need to adjust `/etc/rspamd/override.d` manually anymore, or mount a volume to this place. The docs explain this now, but the DKIM page needs a slight update on this too I guess. I will follow-up here. * misc minor improvements * use variables for common directories
64 lines
1.7 KiB
Bash
64 lines
1.7 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' {
|
|
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' {
|
|
source "${SOURCE_BASE_PATH}/log.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' {
|
|
source "${SOURCE_BASE_PATH}/log.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"
|
|
}
|