mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
Remove unnecessary quotes from command substitutions (#2561)
This commit is contained in:
parent
b4c49d272f
commit
628e902233
|
@ -69,9 +69,9 @@ RUN \
|
||||||
--recv-keys ${FAIL2BAN_GPG_PUBLIC_KEY_ID} 2>&1 && \
|
--recv-keys ${FAIL2BAN_GPG_PUBLIC_KEY_ID} 2>&1 && \
|
||||||
curl -Lkso fail2ban.deb ${FAIL2BAN_DEB_URL} && \
|
curl -Lkso fail2ban.deb ${FAIL2BAN_DEB_URL} && \
|
||||||
curl -Lkso fail2ban.deb.asc ${FAIL2BAN_DEB_ASC_URL} && \
|
curl -Lkso fail2ban.deb.asc ${FAIL2BAN_DEB_ASC_URL} && \
|
||||||
FINGERPRINT="$(LANG=C gpg --verify \
|
FINGERPRINT=$(LANG=C gpg --verify \
|
||||||
fail2ban.deb.asc fail2ban.deb 2>&1 \
|
fail2ban.deb.asc fail2ban.deb 2>&1 \
|
||||||
| sed -n 's#Primary key fingerprint: \(.*\)#\1#p')" && \
|
| sed -n 's#Primary key fingerprint: \(.*\)#\1#p') && \
|
||||||
if [[ -z ${FINGERPRINT} ]]; then \
|
if [[ -z ${FINGERPRINT} ]]; then \
|
||||||
echo "ERROR: Invalid GPG signature!" >&2; exit 1; fi && \
|
echo "ERROR: Invalid GPG signature!" >&2; exit 1; fi && \
|
||||||
if [[ ${FINGERPRINT} != "${FAIL2BAN_GPG_FINGERPRINT}" ]]; then \
|
if [[ ${FINGERPRINT} != "${FAIL2BAN_GPG_FINGERPRINT}" ]]; then \
|
||||||
|
|
6
setup.sh
6
setup.sh
|
@ -9,7 +9,7 @@ CONTAINER_NAME=
|
||||||
CRI=
|
CRI=
|
||||||
DEFAULT_CONFIG_PATH=
|
DEFAULT_CONFIG_PATH=
|
||||||
DESIRED_CONFIG_PATH=
|
DESIRED_CONFIG_PATH=
|
||||||
DIR="$(pwd)"
|
DIR=$(pwd)
|
||||||
DMS_CONFIG='/tmp/docker-mailserver'
|
DMS_CONFIG='/tmp/docker-mailserver'
|
||||||
IMAGE_NAME=
|
IMAGE_NAME=
|
||||||
DEFAULT_IMAGE_NAME='docker.io/mailserver/docker-mailserver:latest'
|
DEFAULT_IMAGE_NAME='docker.io/mailserver/docker-mailserver:latest'
|
||||||
|
@ -90,10 +90,10 @@ function _get_absolute_script_directory
|
||||||
{
|
{
|
||||||
if dirname "$(readlink -f "${0}")" &>/dev/null
|
if dirname "$(readlink -f "${0}")" &>/dev/null
|
||||||
then
|
then
|
||||||
DIR="$(dirname "$(readlink -f "${0}")")"
|
DIR=$(dirname "$(readlink -f "${0}")")
|
||||||
elif realpath -e -L "${0}" &>/dev/null
|
elif realpath -e -L "${0}" &>/dev/null
|
||||||
then
|
then
|
||||||
DIR="$(realpath -e -L "${0}")"
|
DIR=$(realpath -e -L "${0}")
|
||||||
DIR="${DIR%/setup.sh}"
|
DIR="${DIR%/setup.sh}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ then
|
||||||
[[ -z ${PASSWD} ]] && _exit_with_error "Password must not be empty"
|
[[ -z ${PASSWD} ]] && _exit_with_error "Password must not be empty"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
HASH="$(doveadm pw -s SHA512-CRYPT -u "${FULL_EMAIL}" -p "${PASSWD}")"
|
HASH=$(doveadm pw -s SHA512-CRYPT -u "${FULL_EMAIL}" -p "${PASSWD}")
|
||||||
echo "${FULL_EMAIL}|${HASH}" >> "${DATABASE}"
|
echo "${FULL_EMAIL}|${HASH}" >> "${DATABASE}"
|
||||||
|
|
||||||
USER="${FULL_EMAIL%@*}"
|
USER="${FULL_EMAIL%@*}"
|
||||||
|
|
|
@ -25,7 +25,7 @@ then
|
||||||
[[ -z ${PASSWD} ]] && _exit_with_error 'Password must not be empty'
|
[[ -z ${PASSWD} ]] && _exit_with_error 'Password must not be empty'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
HASH="$(doveadm pw -s SHA512-CRYPT -u "${USER}" -p "${PASSWD}")"
|
HASH=$(doveadm pw -s SHA512-CRYPT -u "${USER}" -p "${PASSWD}")
|
||||||
|
|
||||||
touch "${DATABASE}"
|
touch "${DATABASE}"
|
||||||
_create_lock # Protect config file with lock to avoid race conditions
|
_create_lock # Protect config file with lock to avoid race conditions
|
||||||
|
|
|
@ -94,7 +94,7 @@ function _check_for_changes
|
||||||
|
|
||||||
# Prevent an unnecessary change detection from the newly extracted cert files by updating their hashes in advance:
|
# Prevent an unnecessary change detection from the newly extracted cert files by updating their hashes in advance:
|
||||||
local CERT_DOMAIN
|
local CERT_DOMAIN
|
||||||
CERT_DOMAIN="$(_find_letsencrypt_domain)"
|
CERT_DOMAIN=$(_find_letsencrypt_domain)
|
||||||
ACME_CERT_DIR="/etc/letsencrypt/live/${CERT_DOMAIN}"
|
ACME_CERT_DIR="/etc/letsencrypt/live/${CERT_DOMAIN}"
|
||||||
|
|
||||||
sed -i "\|${ACME_CERT_DIR}|d" "${CHKSUM_FILE}.new"
|
sed -i "\|${ACME_CERT_DIR}|d" "${CHKSUM_FILE}.new"
|
||||||
|
|
|
@ -52,7 +52,7 @@ function _obtain_hostname_and_domainname
|
||||||
# going forward. In future our docs should drop any mention of it.
|
# going forward. In future our docs should drop any mention of it.
|
||||||
|
|
||||||
#shellcheck disable=SC2034
|
#shellcheck disable=SC2034
|
||||||
DOMAINNAME="$(hostname -d)"
|
DOMAINNAME=$(hostname -d)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
# This becomes the sourcing script name
|
# This becomes the sourcing script name
|
||||||
# (example: check-for-changes.sh)
|
# (example: check-for-changes.sh)
|
||||||
SCRIPT_NAME="$(basename "$0")"
|
SCRIPT_NAME=$(basename "$0")
|
||||||
# Used inside of lock files to identify them and
|
# Used inside of lock files to identify them and
|
||||||
# prevent removal by other instances of docker-mailserver
|
# prevent removal by other instances of docker-mailserver
|
||||||
LOCK_ID="$(uuid)"
|
LOCK_ID=$(uuid)
|
||||||
|
|
||||||
function _create_lock
|
function _create_lock
|
||||||
{
|
{
|
||||||
|
|
|
@ -187,8 +187,8 @@ function _setup_ssl
|
||||||
|
|
||||||
# checks folders in /etc/letsencrypt/live to identify which one to implicitly use:
|
# checks folders in /etc/letsencrypt/live to identify which one to implicitly use:
|
||||||
local LETSENCRYPT_DOMAIN LETSENCRYPT_KEY
|
local LETSENCRYPT_DOMAIN LETSENCRYPT_KEY
|
||||||
LETSENCRYPT_DOMAIN="$(_find_letsencrypt_domain)"
|
LETSENCRYPT_DOMAIN=$(_find_letsencrypt_domain)
|
||||||
LETSENCRYPT_KEY="$(_find_letsencrypt_key "${LETSENCRYPT_DOMAIN}")"
|
LETSENCRYPT_KEY=$(_find_letsencrypt_key "${LETSENCRYPT_DOMAIN}")
|
||||||
|
|
||||||
# Update relevant config for Postfix and Dovecot
|
# Update relevant config for Postfix and Dovecot
|
||||||
_log 'trace' "Adding ${LETSENCRYPT_DOMAIN} SSL certificate to the postfix and dovecot configuration"
|
_log 'trace' "Adding ${LETSENCRYPT_DOMAIN} SSL certificate to the postfix and dovecot configuration"
|
||||||
|
|
|
@ -15,7 +15,7 @@ function _default_start_daemon
|
||||||
_log 'debug' "Starting ${1:?}"
|
_log 'debug' "Starting ${1:?}"
|
||||||
|
|
||||||
local RESULT
|
local RESULT
|
||||||
RESULT="$(supervisorctl start "${1}" 2>&1)"
|
RESULT=$(supervisorctl start "${1}" 2>&1)
|
||||||
|
|
||||||
# shellcheck disable=SC2181
|
# shellcheck disable=SC2181
|
||||||
if [[ ${?} -ne 0 ]]
|
if [[ ${?} -ne 0 ]]
|
||||||
|
|
|
@ -714,7 +714,7 @@ function _setup_docker_permit
|
||||||
|
|
||||||
CONTAINER_IP=$(ip addr show "${NETWORK_INTERFACE}" | \
|
CONTAINER_IP=$(ip addr show "${NETWORK_INTERFACE}" | \
|
||||||
grep 'inet ' | sed 's|[^0-9\.\/]*||g' | cut -d '/' -f 1)
|
grep 'inet ' | sed 's|[^0-9\.\/]*||g' | cut -d '/' -f 1)
|
||||||
CONTAINER_NETWORK="$(echo "${CONTAINER_IP}" | cut -d '.' -f1-2).0.0"
|
CONTAINER_NETWORK=$(echo "${CONTAINER_IP}" | cut -d '.' -f1-2).0.0
|
||||||
|
|
||||||
if [[ -z ${CONTAINER_IP} ]]
|
if [[ -z ${CONTAINER_IP} ]]
|
||||||
then
|
then
|
||||||
|
@ -955,7 +955,7 @@ function _setup_security_stack
|
||||||
cat >"${SPAMASSASSIN_KAM_CRON_FILE}" <<"EOM"
|
cat >"${SPAMASSASSIN_KAM_CRON_FILE}" <<"EOM"
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
RESULT="$(sa-update --gpgkey 24C063D8 --channel kam.sa-channels.mcgrail.com 2>&1)"
|
RESULT=$(sa-update --gpgkey 24C063D8 --channel kam.sa-channels.mcgrail.com 2>&1)
|
||||||
EXIT_CODE=${?}
|
EXIT_CODE=${?}
|
||||||
|
|
||||||
# see https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html#exit_codes
|
# see https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html#exit_codes
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup() {
|
function setup() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container relay-hosts)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container relay-hosts)
|
||||||
docker run -d --name mail_with_default_relay \
|
docker run -d --name mail_with_default_relay \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -4,7 +4,7 @@ function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
export ALL IPV4 IPV6
|
export ALL IPV4 IPV6
|
||||||
|
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${IPV4}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${IPV4}")
|
||||||
ALL="mail_dovecot_all_protocols"
|
ALL="mail_dovecot_all_protocols"
|
||||||
IPV4="mail_dovecot_ipv4"
|
IPV4="mail_dovecot_ipv4"
|
||||||
IPV6="mail_dovecot_ipv6"
|
IPV6="mail_dovecot_ipv6"
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_helper_functions \
|
docker run -d --name mail_helper_functions \
|
||||||
--cap-add=NET_ADMIN \
|
--cap-add=NET_ADMIN \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
SCRIPT="lint.sh"
|
SCRIPT="lint.sh"
|
||||||
|
|
||||||
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
||||||
REPO_ROOT="$(realpath "${SCRIPT_DIR}"/../../)"
|
REPO_ROOT=$(realpath "${SCRIPT_DIR}"/../../)
|
||||||
|
|
||||||
HADOLINT_VERSION=2.8.0
|
HADOLINT_VERSION=2.8.0
|
||||||
ECLINT_VERSION=2.3.5
|
ECLINT_VERSION=2.3.5
|
||||||
|
@ -93,14 +93,14 @@ function _shellcheck
|
||||||
local SCRIPT='SHELLCHECK'
|
local SCRIPT='SHELLCHECK'
|
||||||
|
|
||||||
# File paths for shellcheck:
|
# File paths for shellcheck:
|
||||||
F_SH="$(find . -type f -iname '*.sh' \
|
F_SH=$(find . -type f -iname '*.sh' \
|
||||||
-not -path './test/bats/*' \
|
-not -path './test/bats/*' \
|
||||||
-not -path './test/test_helper/*' \
|
-not -path './test/test_helper/*' \
|
||||||
-not -path './target/docker-configomat/*'
|
-not -path './target/docker-configomat/*'
|
||||||
)"
|
)
|
||||||
# shellcheck disable=SC2248
|
# shellcheck disable=SC2248
|
||||||
F_BIN="$(find 'target/bin' -type f -not -name '*.py')"
|
F_BIN=$(find 'target/bin' -type f -not -name '*.py')
|
||||||
F_BATS="$(find 'test' -maxdepth 1 -type f -iname '*.bats')"
|
F_BATS=$(find 'test' -maxdepth 1 -type f -iname '*.bats')
|
||||||
|
|
||||||
# This command is a bit easier to grok as multi-line.
|
# This command is a bit easier to grok as multi-line.
|
||||||
# There is a `.shellcheckrc` file, but it's only supports half of the options below, thus kept as CLI:
|
# There is a `.shellcheckrc` file, but it's only supports half of the options below, thus kept as CLI:
|
||||||
|
|
|
@ -6,7 +6,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_changedetector_one)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_changedetector_one)
|
||||||
|
|
||||||
docker run -d --name mail_changedetector_one \
|
docker run -d --name mail_changedetector_one \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run --rm -d --name mail_disabled_clamav_spamassassin \
|
docker run --rm -d --name mail_disabled_clamav_spamassassin \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -5,7 +5,7 @@ CONTAINER2="mail_dnsbl_disabled"
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${CONTAINER}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${CONTAINER}")
|
||||||
|
|
||||||
docker run --rm -d --name "${CONTAINER}" \
|
docker run --rm -d --name "${CONTAINER}" \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run --rm -d --name mail_fail2ban \
|
docker run --rm -d --name mail_fail2ban \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_fetchmail \
|
docker run -d --name mail_fetchmail \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_fetchmail_parallel \
|
docker run -d --name mail_fetchmail_parallel \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -3,7 +3,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_override_hostname)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_override_hostname)
|
||||||
docker run --rm -d --name mail_override_hostname \
|
docker run --rm -d --name mail_override_hostname \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -13,7 +13,7 @@ function setup_file() {
|
||||||
-h unknown.domain.tld \
|
-h unknown.domain.tld \
|
||||||
-t "${NAME}"
|
-t "${NAME}"
|
||||||
|
|
||||||
PRIVATE_CONFIG_TWO="$(duplicate_config_for_container . mail_non_subdomain_hostname)"
|
PRIVATE_CONFIG_TWO=$(duplicate_config_for_container . mail_non_subdomain_hostname)
|
||||||
docker run --rm -d --name mail_non_subdomain_hostname \
|
docker run --rm -d --name mail_non_subdomain_hostname \
|
||||||
-v "${PRIVATE_CONFIG_TWO}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG_TWO}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -23,7 +23,7 @@ function setup_file() {
|
||||||
--domainname domain.com \
|
--domainname domain.com \
|
||||||
-t "${NAME}"
|
-t "${NAME}"
|
||||||
|
|
||||||
PRIVATE_CONFIG_THREE="$(duplicate_config_for_container . mail_srs_domainname)"
|
PRIVATE_CONFIG_THREE=$(duplicate_config_for_container . mail_srs_domainname)
|
||||||
docker run --rm -d --name mail_srs_domainname \
|
docker run --rm -d --name mail_srs_domainname \
|
||||||
-v "${PRIVATE_CONFIG_THREE}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG_THREE}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -34,7 +34,7 @@ function setup_file() {
|
||||||
--hostname 'mail' \
|
--hostname 'mail' \
|
||||||
-t "${NAME}"
|
-t "${NAME}"
|
||||||
|
|
||||||
PRIVATE_CONFIG_FOUR="$(duplicate_config_for_container . mail_domainname)"
|
PRIVATE_CONFIG_FOUR=$(duplicate_config_for_container . mail_domainname)
|
||||||
docker run --rm -d --name mail_domainname \
|
docker run --rm -d --name mail_domainname \
|
||||||
-v "${PRIVATE_CONFIG_FOUR}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG_FOUR}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,8 +2,8 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG PRIVATE_ETC
|
local PRIVATE_CONFIG PRIVATE_ETC
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
PRIVATE_ETC="$(duplicate_config_for_container dovecot-lmtp/ mail_lmtp_ip_dovecot-lmtp)"
|
PRIVATE_ETC=$(duplicate_config_for_container dovecot-lmtp/ mail_lmtp_ip_dovecot-lmtp)
|
||||||
docker run -d --name mail_lmtp_ip \
|
docker run -d --name mail_lmtp_ip \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "${PRIVATE_ETC}":/etc/dovecot \
|
-v "${PRIVATE_ETC}":/etc/dovecot \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_pop3 \
|
docker run -d --name mail_pop3 \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -6,7 +6,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking postfix: inet default" {
|
@test "checking postfix: inet default" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . )
|
||||||
docker run -d --name mail_postfix_inet_default \
|
docker run -d --name mail_postfix_inet_default \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -23,7 +23,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking postfix: inet all" {
|
@test "checking postfix: inet all" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . )
|
||||||
docker run -d --name mail_postfix_inet_all \
|
docker run -d --name mail_postfix_inet_all \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -41,7 +41,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking postfix: inet ipv4" {
|
@test "checking postfix: inet ipv4" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . )
|
||||||
docker run -d --name mail_postfix_inet_ipv4 \
|
docker run -d --name mail_postfix_inet_ipv4 \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -59,7 +59,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking postfix: inet ipv6" {
|
@test "checking postfix: inet ipv6" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . )
|
||||||
docker run -d --name mail_postfix_inet_ipv6 \
|
docker run -d --name mail_postfix_inet_ipv6 \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -7,7 +7,7 @@ setup() {
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_postscreen \
|
docker run -d --name mail_postscreen \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_privacy \
|
docker run -d --name mail_privacy \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -7,7 +7,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_no_quotas \
|
docker run -d --name mail_no_quotas \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run --rm -d --name mail_smtponly \
|
docker run --rm -d --name mail_smtponly \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -6,7 +6,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking amavis: spam message is delivered and moved to the Junk folder (MOVE_SPAM_TO_JUNK=1)" {
|
@test "checking amavis: spam message is delivered and moved to the Junk folder (MOVE_SPAM_TO_JUNK=1)" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_spam_moved_junk)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_spam_moved_junk)
|
||||||
docker run -d --name mail_spam_moved_junk \
|
docker run -d --name mail_spam_moved_junk \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -35,7 +35,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "checking amavis: spam message is delivered to INBOX (MOVE_SPAM_TO_JUNK=0)" {
|
@test "checking amavis: spam message is delivered to INBOX (MOVE_SPAM_TO_JUNK=0)" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_spam_moved_new)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_spam_moved_new)
|
||||||
docker run -d --name mail_spam_moved_new \
|
docker run -d --name mail_spam_moved_new \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_special_use_folders \
|
docker run -d --name mail_special_use_folders \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -16,7 +16,7 @@ function setup_file() {
|
||||||
|
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
export DOMAIN_SSL_MANUAL='example.test'
|
export DOMAIN_SSL_MANUAL='example.test'
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
|
|
||||||
docker run -d --name mail_manual_ssl \
|
docker run -d --name mail_manual_ssl \
|
||||||
--volume "${PRIVATE_CONFIG}/:/tmp/docker-mailserver/" \
|
--volume "${PRIVATE_CONFIG}/:/tmp/docker-mailserver/" \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
|
|
||||||
docker run -d --name mail_time \
|
docker run -d --name mail_time \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
|
|
|
@ -35,10 +35,10 @@ function setup_file() {
|
||||||
|
|
||||||
|
|
||||||
DH_DEFAULT_PARAMS="$(pwd)/target/shared/ffdhe4096.pem"
|
DH_DEFAULT_PARAMS="$(pwd)/target/shared/ffdhe4096.pem"
|
||||||
DH_DEFAULT_CHECKSUM="$(sha512sum "${DH_DEFAULT_PARAMS}" | awk '{print $1}')"
|
DH_DEFAULT_CHECKSUM=$(sha512sum "${DH_DEFAULT_PARAMS}" | awk '{print $1}')
|
||||||
|
|
||||||
DH_CUSTOM_PARAMS="$(pwd)/test/test-files/ssl/custom-dhe-params.pem"
|
DH_CUSTOM_PARAMS="$(pwd)/test/test-files/ssl/custom-dhe-params.pem"
|
||||||
DH_CUSTOM_CHECKSUM="$(sha512sum "${DH_CUSTOM_PARAMS}" | awk '{print $1}')"
|
DH_CUSTOM_CHECKSUM=$(sha512sum "${DH_CUSTOM_PARAMS}" | awk '{print $1}')
|
||||||
}
|
}
|
||||||
|
|
||||||
# Not used
|
# Not used
|
||||||
|
@ -54,12 +54,12 @@ function setup_file() {
|
||||||
|
|
||||||
# Verify the FFDHE params file has not been modified (equivalent to `target/shared/ffdhe4096.pem.sha512sum`):
|
# Verify the FFDHE params file has not been modified (equivalent to `target/shared/ffdhe4096.pem.sha512sum`):
|
||||||
local DH_MOZILLA_CHECKSUM
|
local DH_MOZILLA_CHECKSUM
|
||||||
DH_MOZILLA_CHECKSUM="$(curl https://ssl-config.mozilla.org/ffdhe4096.txt -s | sha512sum | awk '{print $1}')"
|
DH_MOZILLA_CHECKSUM=$(curl https://ssl-config.mozilla.org/ffdhe4096.txt -s | sha512sum | awk '{print $1}')
|
||||||
assert_equal "${DH_DEFAULT_CHECKSUM}" "${DH_MOZILLA_CHECKSUM}"
|
assert_equal "${DH_DEFAULT_CHECKSUM}" "${DH_MOZILLA_CHECKSUM}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "testing tls: DH Parameters - Default [ONE_DIR=0]" {
|
@test "testing tls: DH Parameters - Default [ONE_DIR=0]" {
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_dhparams_default_0)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_dhparams_default_0)
|
||||||
DMS_ONE_DIR=0
|
DMS_ONE_DIR=0
|
||||||
|
|
||||||
common_container_setup
|
common_container_setup
|
||||||
|
@ -67,14 +67,14 @@ function setup_file() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "testing tls: DH Parameters - Default [ONE_DIR=1]" {
|
@test "testing tls: DH Parameters - Default [ONE_DIR=1]" {
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_dhparams_default_1)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_dhparams_default_1)
|
||||||
|
|
||||||
common_container_setup
|
common_container_setup
|
||||||
should_have_valid_checksum "${DH_DEFAULT_CHECKSUM}"
|
should_have_valid_checksum "${DH_DEFAULT_CHECKSUM}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "testing tls: DH Parameters - Custom [ONE_DIR=0]" {
|
@test "testing tls: DH Parameters - Custom [ONE_DIR=0]" {
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_dhparams_custom_0)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_dhparams_custom_0)
|
||||||
# shellcheck disable=SC2030
|
# shellcheck disable=SC2030
|
||||||
DMS_ONE_DIR=0
|
DMS_ONE_DIR=0
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ function setup_file() {
|
||||||
|
|
||||||
@test "testing tls: DH Parameters - Custom [ONE_DIR=1]" {
|
@test "testing tls: DH Parameters - Custom [ONE_DIR=1]" {
|
||||||
# shellcheck disable=SC2030
|
# shellcheck disable=SC2030
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_dhparams_custom_1)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_dhparams_custom_1)
|
||||||
|
|
||||||
cp "${DH_CUSTOM_PARAMS}" "${PRIVATE_CONFIG}/dhparams.pem"
|
cp "${DH_CUSTOM_PARAMS}" "${PRIVATE_CONFIG}/dhparams.pem"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup() {
|
function setup() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_undef_spam_subject \
|
docker run -d --name mail_undef_spam_subject \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -10,7 +10,7 @@ function setup() {
|
||||||
-e SA_SPAM_SUBJECT="undef" \
|
-e SA_SPAM_SUBJECT="undef" \
|
||||||
-h mail.my-domain.com -t "${NAME}"
|
-h mail.my-domain.com -t "${NAME}"
|
||||||
|
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_undef_spam_subject_2)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_undef_spam_subject_2)
|
||||||
CONTAINER=$(docker run -d \
|
CONTAINER=$(docker run -d \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -3,7 +3,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_with_imap \
|
docker run -d --name mail_with_imap \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -25,7 +25,7 @@ function setup_file() {
|
||||||
|
|
||||||
# _setup_ldap uses configomat with .ext files and ENV vars like DOVECOT_TLS with a prefix (eg DOVECOT_ or LDAP_)
|
# _setup_ldap uses configomat with .ext files and ENV vars like DOVECOT_TLS with a prefix (eg DOVECOT_ or LDAP_)
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_with_ldap \
|
docker run -d --name mail_with_ldap \
|
||||||
-v "${PRIVATE_CONFIG}:/tmp/docker-mailserver" \
|
-v "${PRIVATE_CONFIG}:/tmp/docker-mailserver" \
|
||||||
-v "$(pwd)/test/test-files:/tmp/docker-mailserver-test:ro" \
|
-v "$(pwd)/test/test-files:/tmp/docker-mailserver-test:ro" \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_with_mdbox_format \
|
docker run -d --name mail_with_mdbox_format \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_with_postgrey \
|
docker run -d --name mail_with_postgrey \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
function setup() {
|
function setup() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
CONTAINER=$(docker run -d \
|
CONTAINER=$(docker run -d \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -2,7 +2,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
docker run -d --name mail_with_sdbox_format \
|
docker run -d --name mail_with_sdbox_format \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -10,7 +10,7 @@ TEST_FILE='checking OpenDKIM: '
|
||||||
function setup_file
|
function setup_file
|
||||||
{
|
{
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${CONTAINER_NAME}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${CONTAINER_NAME}")
|
||||||
|
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name "${CONTAINER_NAME}" \
|
--name "${CONTAINER_NAME}" \
|
||||||
|
@ -62,7 +62,7 @@ function teardown_file
|
||||||
# TODO Needs complete re-write
|
# TODO Needs complete re-write
|
||||||
@test "${TEST_FILE}generator creates default keys size" {
|
@test "${TEST_FILE}generator creates default keys size" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_default_key_size)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_default_key_size)
|
||||||
|
|
||||||
# Prepare default key size 4096
|
# Prepare default key size 4096
|
||||||
rm -rf "${PRIVATE_CONFIG}/keyDefault"
|
rm -rf "${PRIVATE_CONFIG}/keyDefault"
|
||||||
|
@ -93,7 +93,7 @@ function teardown_file
|
||||||
# TODO Needs complete re-write
|
# TODO Needs complete re-write
|
||||||
@test "${TEST_FILE}generator creates key size 4096" {
|
@test "${TEST_FILE}generator creates key size 4096" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_key_size_4096)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_key_size_4096)
|
||||||
|
|
||||||
rm -rf "${PRIVATE_CONFIG}/key4096"
|
rm -rf "${PRIVATE_CONFIG}/key4096"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/config/key4096"
|
mkdir -p "${PRIVATE_CONFIG}/config/key4096"
|
||||||
|
@ -122,7 +122,7 @@ function teardown_file
|
||||||
# TODO Needs complete re-write
|
# TODO Needs complete re-write
|
||||||
@test "${TEST_FILE}generator creates key size 2048" {
|
@test "${TEST_FILE}generator creates key size 2048" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_key_size_2048)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_key_size_2048)
|
||||||
|
|
||||||
rm -rf "${PRIVATE_CONFIG}/key2048"
|
rm -rf "${PRIVATE_CONFIG}/key2048"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/config/key2048"
|
mkdir -p "${PRIVATE_CONFIG}/config/key2048"
|
||||||
|
@ -151,7 +151,7 @@ function teardown_file
|
||||||
# TODO Needs complete re-write
|
# TODO Needs complete re-write
|
||||||
@test "${TEST_FILE}generator creates key size 1024" {
|
@test "${TEST_FILE}generator creates key size 1024" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_key_size_1024)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_key_size_1024)
|
||||||
|
|
||||||
rm -rf "${PRIVATE_CONFIG}/key1024"
|
rm -rf "${PRIVATE_CONFIG}/key1024"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/key1024"
|
mkdir -p "${PRIVATE_CONFIG}/key1024"
|
||||||
|
@ -176,7 +176,7 @@ function teardown_file
|
||||||
|
|
||||||
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts" {
|
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_dkim_generator_creates_keys_tables_TrustedHosts)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_dkim_generator_creates_keys_tables_TrustedHosts)
|
||||||
rm -rf "${PRIVATE_CONFIG}/empty"
|
rm -rf "${PRIVATE_CONFIG}/empty"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/empty"
|
mkdir -p "${PRIVATE_CONFIG}/empty"
|
||||||
run docker run --rm \
|
run docker run --rm \
|
||||||
|
@ -212,7 +212,7 @@ function teardown_file
|
||||||
|
|
||||||
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts without postfix-accounts.cf" {
|
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts without postfix-accounts.cf" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . )"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . )
|
||||||
rm -rf "${PRIVATE_CONFIG}/without-accounts"
|
rm -rf "${PRIVATE_CONFIG}/without-accounts"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/without-accounts"
|
mkdir -p "${PRIVATE_CONFIG}/without-accounts"
|
||||||
run docker run --rm \
|
run docker run --rm \
|
||||||
|
@ -248,7 +248,7 @@ function teardown_file
|
||||||
|
|
||||||
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts without postfix-virtual.cf" {
|
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts without postfix-virtual.cf" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${BATS_TEST_NAME}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${BATS_TEST_NAME}")
|
||||||
rm -rf "${PRIVATE_CONFIG}/without-virtual"
|
rm -rf "${PRIVATE_CONFIG}/without-virtual"
|
||||||
mkdir -p "${PRIVATE_CONFIG}/without-virtual"
|
mkdir -p "${PRIVATE_CONFIG}/without-virtual"
|
||||||
run docker run --rm \
|
run docker run --rm \
|
||||||
|
@ -286,7 +286,7 @@ function teardown_file
|
||||||
|
|
||||||
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts using manual provided domain name" {
|
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts using manual provided domain name" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${BATS_TEST_NAME}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${BATS_TEST_NAME}")
|
||||||
rm -rf "${PRIVATE_CONFIG}/with-domain" && mkdir -p "${PRIVATE_CONFIG}/with-domain"
|
rm -rf "${PRIVATE_CONFIG}/with-domain" && mkdir -p "${PRIVATE_CONFIG}/with-domain"
|
||||||
|
|
||||||
# generate first key
|
# generate first key
|
||||||
|
@ -374,7 +374,7 @@ function teardown_file
|
||||||
|
|
||||||
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts using manual provided selector name" {
|
@test "${TEST_FILE}generator creates keys, tables and TrustedHosts using manual provided selector name" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . "${BATS_TEST_NAME}")"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . "${BATS_TEST_NAME}")
|
||||||
rm -rf "${PRIVATE_CONFIG}/with-selector" && mkdir -p "${PRIVATE_CONFIG}/with-selector"
|
rm -rf "${PRIVATE_CONFIG}/with-selector" && mkdir -p "${PRIVATE_CONFIG}/with-selector"
|
||||||
|
|
||||||
# Generate first key
|
# Generate first key
|
||||||
|
|
|
@ -8,7 +8,7 @@ setup_file() {
|
||||||
# currently we cannot use --network in `docker run` multiple times, it will just use the last one
|
# currently we cannot use --network in `docker run` multiple times, it will just use the last one
|
||||||
# instead we need to use create, network connect and start (see https://success.docker.com/article/multiple-docker-networks)
|
# instead we need to use create, network connect and start (see https://success.docker.com/article/multiple-docker-networks)
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_smtponly_second_network)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_smtponly_second_network)
|
||||||
docker create --name mail_smtponly_second_network \
|
docker create --name mail_smtponly_second_network \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
@ -19,7 +19,7 @@ setup_file() {
|
||||||
-t "${NAME}"
|
-t "${NAME}"
|
||||||
docker network connect "${NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME}2" mail_smtponly_second_network
|
docker network connect "${NON_DEFAULT_DOCKER_MAIL_NETWORK_NAME}2" mail_smtponly_second_network
|
||||||
docker start mail_smtponly_second_network
|
docker start mail_smtponly_second_network
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail_smtponly_second_network_sender)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail_smtponly_second_network_sender)
|
||||||
docker run -d --name mail_smtponly_second_network_sender \
|
docker run -d --name mail_smtponly_second_network_sender \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
|
|
@ -23,7 +23,7 @@ function setup_file() {
|
||||||
# Copies all of `./test/config/` to specific directory for testing
|
# Copies all of `./test/config/` to specific directory for testing
|
||||||
# `${PRIVATE_CONFIG}` becomes `$(pwd)/test/duplicate_configs/<bats test filename>`
|
# `${PRIVATE_CONFIG}` becomes `$(pwd)/test/duplicate_configs/<bats test filename>`
|
||||||
export PRIVATE_CONFIG
|
export PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
|
|
||||||
# Pull `testssl.sh` image in advance to avoid it interfering with the `run` captured output.
|
# Pull `testssl.sh` image in advance to avoid it interfering with the `run` captured output.
|
||||||
# Only interferes (potential test failure) with `assert_output` not `assert_success`?
|
# Only interferes (potential test failure) with `assert_output` not `assert_success`?
|
||||||
|
|
|
@ -99,11 +99,11 @@ load 'test_helper/common'
|
||||||
@test "wait_for_finished_setup_in_container" {
|
@test "wait_for_finished_setup_in_container" {
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
# the setup should not be finished immediately after starting
|
# the setup should not be finished immediately after starting
|
||||||
|
@ -117,7 +117,7 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "duplicate_config_for_container" {
|
@test "duplicate_config_for_container" {
|
||||||
local path
|
local path
|
||||||
path="$(duplicate_config_for_container duplicate_config_test)"
|
path=$(duplicate_config_for_container duplicate_config_test)
|
||||||
|
|
||||||
run cat "${path}/marker"
|
run cat "${path}/marker"
|
||||||
assert_line "This marker file is there to identify the correct config being copied"
|
assert_line "This marker file is there to identify the correct config being copied"
|
||||||
|
@ -128,12 +128,12 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "container_has_service_running/wait_for_service" {
|
@test "container_has_service_running/wait_for_service" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
# pick a service that was not started
|
# pick a service that was not started
|
||||||
|
@ -154,12 +154,12 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "wait_for_changes_to_be_detected_in_container fails when timeout is reached" {
|
@test "wait_for_changes_to_be_detected_in_container fails when timeout is reached" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
# wait for the initial checksum detection to complete
|
# wait for the initial checksum detection to complete
|
||||||
|
@ -177,12 +177,12 @@ load 'test_helper/common'
|
||||||
|
|
||||||
@test "wait_for_changes_to_be_detected_in_container succeeds within timeout" {
|
@test "wait_for_changes_to_be_detected_in_container succeeds within timeout" {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
# wait for the initial checksum detection to complete
|
# wait for the initial checksum detection to complete
|
||||||
|
@ -202,15 +202,15 @@ load 'test_helper/common'
|
||||||
skip 'disabled as it fails randomly: https://github.com/docker-mailserver/docker-mailserver/pull/2177'
|
skip 'disabled as it fails randomly: https://github.com/docker-mailserver/docker-mailserver/pull/2177'
|
||||||
|
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
# enable ClamAV to make message delivery slower, so we can detect it
|
# enable ClamAV to make message delivery slower, so we can detect it
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
-e ENABLE_CLAMAV=1 \
|
-e ENABLE_CLAMAV=1 \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
|
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
|
@ -233,15 +233,15 @@ load 'test_helper/common'
|
||||||
skip 'disabled as it fails randomly: https://github.com/docker-mailserver/docker-mailserver/pull/2177'
|
skip 'disabled as it fails randomly: https://github.com/docker-mailserver/docker-mailserver/pull/2177'
|
||||||
|
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container .)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container .)
|
||||||
# variable not local to make visible to teardown
|
# variable not local to make visible to teardown
|
||||||
# enable ClamAV to make message delivery slower, so we can detect it
|
# enable ClamAV to make message delivery slower, so we can detect it
|
||||||
CONTAINER_NAME="$(docker run -d --rm \
|
CONTAINER_NAME=$(docker run -d --rm \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
-e ENABLE_CLAMAV=1 \
|
-e ENABLE_CLAMAV=1 \
|
||||||
-h mail.my-domain.com \
|
-h mail.my-domain.com \
|
||||||
-t "${NAME}")"
|
-t "${NAME}")
|
||||||
|
|
||||||
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
teardown() { docker rm -f "${CONTAINER_NAME}"; }
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ function private_config_path() {
|
||||||
# @return path to the folder where the config is duplicated
|
# @return path to the folder where the config is duplicated
|
||||||
function duplicate_config_for_container() {
|
function duplicate_config_for_container() {
|
||||||
local OUTPUT_FOLDER
|
local OUTPUT_FOLDER
|
||||||
OUTPUT_FOLDER="$(private_config_path "${2}")" || return $?
|
OUTPUT_FOLDER=$(private_config_path "${2}") || return $?
|
||||||
rm -rf "${OUTPUT_FOLDER:?}/" || return $? # cleanup
|
rm -rf "${OUTPUT_FOLDER:?}/" || return $? # cleanup
|
||||||
mkdir -p "${OUTPUT_FOLDER}" || return $?
|
mkdir -p "${OUTPUT_FOLDER}" || return $?
|
||||||
cp -r "${PWD}/test/config/${1:?}/." "${OUTPUT_FOLDER}" || return $?
|
cp -r "${PWD}/test/config/${1:?}/." "${OUTPUT_FOLDER}" || return $?
|
||||||
|
@ -169,16 +169,16 @@ function wait_for_empty_mail_queue_in_container() {
|
||||||
# For individual test override the var via `local` var instead.
|
# For individual test override the var via `local` var instead.
|
||||||
#
|
#
|
||||||
# For example, if you need an immutable config volume that can't be affected by other tests
|
# For example, if you need an immutable config volume that can't be affected by other tests
|
||||||
# in the file, then use `local TEST_TMP_CONFIG="$(duplicate_config_for_container . "${UNIQUE_ID_HERE}")"`
|
# in the file, then use `local TEST_TMP_CONFIG=$(duplicate_config_for_container . "${UNIQUE_ID_HERE}")`
|
||||||
function init_with_defaults() {
|
function init_with_defaults() {
|
||||||
export TEST_NAME TEST_TMP_CONFIG
|
export TEST_NAME TEST_TMP_CONFIG
|
||||||
|
|
||||||
# In `setup_file()` the default name to use for the currently tested docker container
|
# In `setup_file()` the default name to use for the currently tested docker container
|
||||||
# is `${TEST_NAME}` global defined here. It derives the name from the test filename:
|
# is `${TEST_NAME}` global defined here. It derives the name from the test filename:
|
||||||
# `basename` to ignore absolute dir path and file extension, only extract filename.
|
# `basename` to ignore absolute dir path and file extension, only extract filename.
|
||||||
TEST_NAME="$(basename "${BATS_TEST_FILENAME}" '.bats')"
|
TEST_NAME=$(basename "${BATS_TEST_FILENAME}" '.bats')
|
||||||
# In `setup_file()` creates a single copy of the test config folder to use for an entire test file:
|
# In `setup_file()` creates a single copy of the test config folder to use for an entire test file:
|
||||||
TEST_TMP_CONFIG="$(duplicate_config_for_container . "${TEST_NAME}")"
|
TEST_TMP_CONFIG=$(duplicate_config_for_container . "${TEST_NAME}")
|
||||||
|
|
||||||
# Common complimentary test files, read-only safe to share across containers:
|
# Common complimentary test files, read-only safe to share across containers:
|
||||||
export TEST_FILES_CONTAINER_PATH='/tmp/docker-mailserver-test'
|
export TEST_FILES_CONTAINER_PATH='/tmp/docker-mailserver-test'
|
||||||
|
|
|
@ -7,7 +7,7 @@ IMAGE_NAME="${NAME}"
|
||||||
|
|
||||||
setup_file() {
|
setup_file() {
|
||||||
local PRIVATE_CONFIG
|
local PRIVATE_CONFIG
|
||||||
PRIVATE_CONFIG="$(duplicate_config_for_container . mail)"
|
PRIVATE_CONFIG=$(duplicate_config_for_container . mail)
|
||||||
mv "${PRIVATE_CONFIG}/user-patches/user-patches.sh" "${PRIVATE_CONFIG}/user-patches.sh"
|
mv "${PRIVATE_CONFIG}/user-patches/user-patches.sh" "${PRIVATE_CONFIG}/user-patches.sh"
|
||||||
docker run --rm -d --name mail \
|
docker run --rm -d --name mail \
|
||||||
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
-v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \
|
||||||
|
|
Loading…
Reference in a new issue