mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-04 10:05:00 +02:00
scripts: refactored scripts located under target/bin/
(#2500)
* refactored scripts located under `target/bin/` The scripts under `target/bin/` now use the new log and I replaced some `""` with `''` on the way. The functionality stays the same, this mostly style and log. * corrected fail2ban (script and tests) * corrected OpenDKIM log output in tests * reverted (some) changes to `sedfile` Moreover, a few messages for BATS were streamlined and a regression in the linting script reverted. * apple PR feedback * improve log output from `fail2ban` script The new output has a single, clear message with the '[ ERROR ] ' prefix, and then output that explains the error afterwards. This is coherent with the logging style which should be used while providing more information than just a single line about IPTables not functioning. * simplified `setquota` script * consistently named the `__usage` function Before, scripts located under `target/bin/` were using `usage` or `__usage`. Now, they're using `__usage` as they should. * improved `sedfile` With `sedfile`, we cannot use the helper functions in a nice way because it is used early in the Dockerfile at a stage where the helper scripts are not yet copied. The script has been adjusted to be canonical with all the other scripts under `target/bin/`. * fixed tests * removed `__usage` from places where it does not belong `__usage` is to be used on wrong user input, not on other failures as well. This was fixed in `delquota` and `setquota`. * apply PR review feedback
This commit is contained in:
parent
f22d75fa62
commit
b9dbec3276
21 changed files with 167 additions and 149 deletions
|
@ -4,7 +4,7 @@ export IMAGE_NAME CONTAINER_NAME TEST_FILE
|
|||
|
||||
IMAGE_NAME="${NAME:?Image name must be set}"
|
||||
CONTAINER_NAME='open-dkim'
|
||||
TEST_FILE='OpenDKIM :: '
|
||||
TEST_FILE='checking OpenDKIM: '
|
||||
|
||||
# WHY IS THIS CONTAINER EVEN CREATED WHEN MOST TESTS DO NOT USE IT?
|
||||
function setup_file
|
||||
|
@ -20,6 +20,7 @@ function setup_file
|
|||
-e DEFAULT_RELAY_HOST=default.relay.host.invalid:25 \
|
||||
-e PERMIT_DOCKER=host \
|
||||
-e DMS_DEBUG=0 \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-h mail.my-domain.com \
|
||||
-t "${IMAGE_NAME}"
|
||||
|
||||
|
@ -69,6 +70,7 @@ function teardown_file
|
|||
mkdir -p "${PRIVATE_CONFIG}/keyDefault"
|
||||
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/keyDefault/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
|
@ -98,6 +100,7 @@ function teardown_file
|
|||
mkdir -p "${PRIVATE_CONFIG}/config/key4096"
|
||||
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/key2048/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
|
@ -126,6 +129,7 @@ function teardown_file
|
|||
mkdir -p "${PRIVATE_CONFIG}/config/key2048"
|
||||
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/key2048/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
|
@ -154,6 +158,7 @@ function teardown_file
|
|||
mkdir -p "${PRIVATE_CONFIG}/key1024"
|
||||
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/key1024/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
|
@ -176,6 +181,7 @@ function teardown_file
|
|||
rm -rf "${PRIVATE_CONFIG}/empty"
|
||||
mkdir -p "${PRIVATE_CONFIG}/empty"
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/empty/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
|
@ -211,6 +217,7 @@ function teardown_file
|
|||
rm -rf "${PRIVATE_CONFIG}/without-accounts"
|
||||
mkdir -p "${PRIVATE_CONFIG}/without-accounts"
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-accounts/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'open-dkim | wc -l'
|
||||
|
@ -219,6 +226,7 @@ function teardown_file
|
|||
|
||||
# check keys for localhost.localdomain
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-accounts/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/localhost.localdomain/ | wc -l'
|
||||
assert_success
|
||||
|
@ -232,6 +240,7 @@ function teardown_file
|
|||
# [ "${output}" -eq 0 ]
|
||||
# check presence of tables and TrustedHosts
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-accounts/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c "ls -1 /etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys'|wc -l"
|
||||
assert_success
|
||||
|
@ -244,6 +253,7 @@ function teardown_file
|
|||
rm -rf "${PRIVATE_CONFIG}/without-virtual"
|
||||
mkdir -p "${PRIVATE_CONFIG}/without-virtual"
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-virtual/":/tmp/docker-mailserver/ \
|
||||
-v "${PRIVATE_CONFIG}/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'open-dkim | wc -l'
|
||||
|
@ -252,6 +262,7 @@ function teardown_file
|
|||
|
||||
# check keys for localhost.localdomain
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-virtual/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/localhost.localdomain/ | wc -l'
|
||||
assert_success
|
||||
|
@ -259,6 +270,7 @@ function teardown_file
|
|||
|
||||
# check keys for otherdomain.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-virtual/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/otherdomain.tld | wc -l'
|
||||
assert_success
|
||||
|
@ -266,6 +278,7 @@ function teardown_file
|
|||
|
||||
# check presence of tables and TrustedHosts
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/without-virtual/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c "ls -1 /etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys'|wc -l"
|
||||
assert_success
|
||||
|
@ -279,6 +292,7 @@ function teardown_file
|
|||
|
||||
# generate first key
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/":/tmp/docker-mailserver/ \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'open-dkim keysize 2048 domain domain1.tld | wc -l'
|
||||
assert_success
|
||||
|
@ -286,6 +300,7 @@ function teardown_file
|
|||
|
||||
# generate two additional keys different to the previous one
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/":/tmp/docker-mailserver/ \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'open-dkim keysize 2048 domain "domain2.tld,domain3.tld" | wc -l'
|
||||
assert_success
|
||||
|
@ -293,6 +308,7 @@ function teardown_file
|
|||
|
||||
# generate an additional key whilst providing already existing domains
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/":/tmp/docker-mailserver/ \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'open-dkim keysize 2048 domain "domain3.tld,domain4.tld" | wc -l'
|
||||
assert_success
|
||||
|
@ -300,6 +316,7 @@ function teardown_file
|
|||
|
||||
# check keys for domain1.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/domain1.tld/ | wc -l'
|
||||
assert_success
|
||||
|
@ -307,6 +324,7 @@ function teardown_file
|
|||
|
||||
# check keys for domain2.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/domain2.tld | wc -l'
|
||||
assert_success
|
||||
|
@ -314,6 +332,7 @@ function teardown_file
|
|||
|
||||
# check keys for domain3.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/domain3.tld | wc -l'
|
||||
assert_success
|
||||
|
@ -321,6 +340,7 @@ function teardown_file
|
|||
|
||||
# check keys for domain4.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c 'ls -1 /etc/opendkim/keys/domain4.tld | wc -l'
|
||||
assert_success
|
||||
|
@ -328,6 +348,7 @@ function teardown_file
|
|||
|
||||
# check presence of tables and TrustedHosts
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c "ls -1 /etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys' | wc -l"
|
||||
assert_success
|
||||
|
@ -335,6 +356,7 @@ function teardown_file
|
|||
|
||||
# check valid entries actually present in KeyTable
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c \
|
||||
"egrep 'domain1.tld|domain2.tld|domain3.tld|domain4.tld' /etc/opendkim/KeyTable | wc -l"
|
||||
|
@ -343,6 +365,7 @@ function teardown_file
|
|||
|
||||
# check valid entries actually present in SigningTable
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-domain/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME}" /bin/bash -c \
|
||||
"egrep 'domain1.tld|domain2.tld|domain3.tld|domain4.tld' /etc/opendkim/SigningTable | wc -l"
|
||||
|
@ -357,6 +380,7 @@ function teardown_file
|
|||
|
||||
# Generate first key
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/":/tmp/docker-mailserver/ \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c "open-dkim keysize 2048 domain 'domain1.tld' selector mailer| wc -l"
|
||||
assert_success
|
||||
|
@ -364,6 +388,7 @@ function teardown_file
|
|||
|
||||
# Check keys for domain1.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c 'ls -1 /etc/opendkim/keys/domain1.tld/ | wc -l'
|
||||
assert_success
|
||||
|
@ -371,6 +396,7 @@ function teardown_file
|
|||
|
||||
# Check key names with selector for domain1.tld
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c "ls -1 /etc/opendkim/keys/domain1.tld | grep -E 'mailer.private|mailer.txt' | wc -l"
|
||||
assert_success
|
||||
|
@ -378,6 +404,7 @@ function teardown_file
|
|||
|
||||
# Check presence of tables and TrustedHosts
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c "ls -1 /etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys' | wc -l"
|
||||
assert_success
|
||||
|
@ -385,6 +412,7 @@ function teardown_file
|
|||
|
||||
# Check valid entries actually present in KeyTable
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c \
|
||||
"grep 'domain1.tld' /etc/opendkim/KeyTable | wc -l"
|
||||
|
@ -393,6 +421,7 @@ function teardown_file
|
|||
|
||||
# Check valid entries actually present in SigningTable
|
||||
run docker run --rm \
|
||||
-e LOG_LEVEL='trace' \
|
||||
-v "${PRIVATE_CONFIG}/with-selector/opendkim":/etc/opendkim \
|
||||
"${IMAGE_NAME:?}" /bin/sh -c \
|
||||
"grep 'domain1.tld' /etc/opendkim/SigningTable | wc -l"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue