mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-03 17:44:49 +02:00
Catch errors on config duplication command
This commit is contained in:
parent
5884f866d3
commit
0453240098
28 changed files with 286 additions and 214 deletions
|
@ -4,80 +4,73 @@ load 'test_helper/common'
|
|||
# ---------
|
||||
# POSTFIX_INET_PROTOCOLS value is set
|
||||
|
||||
|
||||
function setup() {
|
||||
run_setup_file_if_necessary
|
||||
}
|
||||
|
||||
function teardown() {
|
||||
run_teardown_file_if_necessary
|
||||
}
|
||||
|
||||
function setup_file() {
|
||||
docker run -d --name mail_postfix_inet_default \
|
||||
-v "$(duplicate_config_for_container . mail_postfix_inet_default)":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_default
|
||||
|
||||
docker run -d --name mail_postfix_inet_all \
|
||||
-v "$(duplicate_config_for_container . mail_postfix_inet_all)":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=all \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_all
|
||||
|
||||
docker run -d --name mail_postfix_inet_ipv4 \
|
||||
-v "$(duplicate_config_for_container . mail_postfix_inet_ipv4)":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=ipv4 \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_ipv4
|
||||
|
||||
docker run -d --name mail_postfix_inet_ipv6 \
|
||||
-v "$(duplicate_config_for_container . mail_postfix_inet_ipv6)":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=ipv6 \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_ipv6
|
||||
}
|
||||
|
||||
function teardown_file() {
|
||||
docker rm -f mail_postfix_inet_default
|
||||
docker rm -f mail_postfix_inet_all
|
||||
docker rm -f mail_postfix_inet_ipv4
|
||||
docker rm -f mail_postfix_inet_ipv6
|
||||
}
|
||||
|
||||
@test "first" {
|
||||
skip 'this test must come first to reliably identify when to run setup_file'
|
||||
}
|
||||
|
||||
@test "checking postfix: inet default" {
|
||||
local PRIVATE_CONFIG
|
||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
||||
docker run -d --name mail_postfix_inet_default \
|
||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
teardown() { docker rm -f mail_postfix_inet_default; }
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_default
|
||||
|
||||
run docker exec mail_postfix_inet_default postconf inet_protocols
|
||||
assert_output "inet_protocols = all"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "checking postfix: inet all" {
|
||||
local PRIVATE_CONFIG
|
||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
||||
docker run -d --name mail_postfix_inet_all \
|
||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=all \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
teardown() { docker rm -f mail_postfix_inet_all; }
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_all
|
||||
|
||||
run docker exec mail_postfix_inet_all postconf inet_protocols
|
||||
assert_output "inet_protocols = all"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "checking postfix: inet ipv4" {
|
||||
local PRIVATE_CONFIG
|
||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
||||
docker run -d --name mail_postfix_inet_ipv4 \
|
||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=ipv4 \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
teardown() { docker rm -f mail_postfix_inet_ipv4; }
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_ipv4
|
||||
|
||||
run docker exec mail_postfix_inet_ipv4 postconf inet_protocols
|
||||
assert_output "inet_protocols = ipv4"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "checking postfix: inet ipv6" {
|
||||
local PRIVATE_CONFIG
|
||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
||||
docker run -d --name mail_postfix_inet_ipv6 \
|
||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||
-e POSTFIX_INET_PROTOCOLS=ipv6 \
|
||||
-h mail.my-domain.com -t "${NAME}"
|
||||
|
||||
teardown() { docker rm -f mail_postfix_inet_ipv6; }
|
||||
|
||||
wait_for_finished_setup_in_container mail_postfix_inet_ipv6
|
||||
|
||||
run docker exec mail_postfix_inet_ipv6 postconf inet_protocols
|
||||
assert_output "inet_protocols = ipv6"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "last" {
|
||||
skip 'this test is only there to reliably mark the end for the teardown_file'
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue