tests: Fix white-space difference
- `packages.sh` + `utils.sh` lint fix. - `.tmpl` + `.base` files column aligned. - `mail_with_ldap.bats` updated to ignore white-space between key/value entries being checked.
This commit is contained in:
parent
1ec1853528
commit
4968f4a51d
|
@ -1,32 +1,32 @@
|
|||
# Dovecot LDAP config docs: https://github.com/dovecot/core/blob/bbb600e46ca650a3a5ef812ea3a1e8c45a6ea0ba/doc/example-config/dovecot-ldap.conf.ext
|
||||
hosts = ${HOSTS}
|
||||
uris = ${URIS}
|
||||
dn = ${DN}
|
||||
dnpass = ${DNPASS}
|
||||
sasl_bind = ${SASL_BIND}
|
||||
sasl_mech = ${SASL_MECH}
|
||||
sasl_realm = ${SASL_REALM}
|
||||
sasl_authz_id = ${SASL_AUTHZ_ID}
|
||||
tls = ${TLS}
|
||||
tls_ca_cert_file = ${TLS_CA_CERT_FILE}
|
||||
tls_ca_cert_dir = ${TLS_CA_CERT_DIR}
|
||||
tls_cipher_suite = ${TLS_CIPHER_SUITE}
|
||||
tls_cert_file = ${TLS_CERT_FILE}
|
||||
tls_key_file = ${TLS_KEY_FILE}
|
||||
tls_require_cert = ${TLS_REQUIRE_CERT}
|
||||
ldaprc_path = ${LDAPRC_PATH}
|
||||
debug_level = ${DEBUG_LEVEL}
|
||||
auth_bind = ${AUTH_BIND}
|
||||
auth_bind_userdn = ${AUTH_BIND_USERDN}
|
||||
ldap_version = ${LDAP_VERSION}
|
||||
base = ${BASE}
|
||||
deref = ${DEREF}
|
||||
scope = ${SCOPE}
|
||||
user_attrs = ${USER_ATTRS}
|
||||
user_filter = ${USER_FILTER}
|
||||
pass_attrs = ${PASS_ATTRS}
|
||||
pass_filter = ${PASS_FILTER}
|
||||
iterate_attrs = ${ITERATE_ATTRS}
|
||||
iterate_filter = ${ITERATE_FILTER}
|
||||
hosts = ${HOSTS}
|
||||
uris = ${URIS}
|
||||
dn = ${DN}
|
||||
dnpass = ${DNPASS}
|
||||
sasl_bind = ${SASL_BIND}
|
||||
sasl_mech = ${SASL_MECH}
|
||||
sasl_realm = ${SASL_REALM}
|
||||
sasl_authz_id = ${SASL_AUTHZ_ID}
|
||||
tls = ${TLS}
|
||||
tls_ca_cert_file = ${TLS_CA_CERT_FILE}
|
||||
tls_ca_cert_dir = ${TLS_CA_CERT_DIR}
|
||||
tls_cipher_suite = ${TLS_CIPHER_SUITE}
|
||||
tls_cert_file = ${TLS_CERT_FILE}
|
||||
tls_key_file = ${TLS_KEY_FILE}
|
||||
tls_require_cert = ${TLS_REQUIRE_CERT}
|
||||
ldaprc_path = ${LDAPRC_PATH}
|
||||
debug_level = ${DEBUG_LEVEL}
|
||||
auth_bind = ${AUTH_BIND}
|
||||
auth_bind_userdn = ${AUTH_BIND_USERDN}
|
||||
ldap_version = ${LDAP_VERSION}
|
||||
base = ${BASE}
|
||||
deref = ${DEREF}
|
||||
scope = ${SCOPE}
|
||||
user_attrs = ${USER_ATTRS}
|
||||
user_filter = ${USER_FILTER}
|
||||
pass_attrs = ${PASS_ATTRS}
|
||||
pass_filter = ${PASS_FILTER}
|
||||
iterate_attrs = ${ITERATE_ATTRS}
|
||||
iterate_filter = ${ITERATE_FILTER}
|
||||
default_pass_scheme = ${DEFAULT_PASS_SCHEME}
|
||||
blocking = ${BLOCKING}
|
||||
blocking = ${BLOCKING}
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
# Postfix LDAP table docs: http://www.postfix.org/ldap_table.5.html
|
||||
server_host = ${SERVER_HOST}
|
||||
server_port = ${SERVER_PORT}
|
||||
timeout = ${TIMEOUT}
|
||||
search_base = ${SEARCH_BASE}
|
||||
query_filter = ${QUERY_FILTER}
|
||||
result_format = ${RESULT_FORMAT}
|
||||
domain = ${DOMAIN}
|
||||
result_attribute = ${RESULT_ATTRIBUTE}
|
||||
special_result_attribute = ${SPECIAL_RESULT_ATTRIBUTE}
|
||||
server_host = ${SERVER_HOST}
|
||||
server_port = ${SERVER_PORT}
|
||||
timeout = ${TIMEOUT}
|
||||
search_base = ${SEARCH_BASE}
|
||||
query_filter = ${QUERY_FILTER}
|
||||
result_format = ${RESULT_FORMAT}
|
||||
domain = ${DOMAIN}
|
||||
result_attribute = ${RESULT_ATTRIBUTE}
|
||||
special_result_attribute = ${SPECIAL_RESULT_ATTRIBUTE}
|
||||
terminal_result_attribute = ${TERMINAL_RESULT_ATTRIBUTE}
|
||||
leaf_result_attribute = ${LEAF_RESULT_ATTRIBUTE}
|
||||
scope = ${SCOPE}
|
||||
bind = ${BIND}
|
||||
bind_dn = ${BIND_DN}
|
||||
bind_pw = ${BIND_PW}
|
||||
recursion_limit = ${RECURSION_LIMIT}
|
||||
expansion_limit = ${EXPANSION_LIMIT}
|
||||
size_limit = ${SIZE_LIMIT}
|
||||
dereference = ${DEREFERENCE}
|
||||
chase_referrals = ${CHASE_REFERRALS}
|
||||
version = ${VERSION}
|
||||
debuglevel = ${DEBUGLEVEL}
|
||||
sasl_mechs = ${SASL_MECHS}
|
||||
sasl_realm = ${SASL_REALM}
|
||||
sasl_authz_id = ${SASL_AUTHZ_ID}
|
||||
sasl_minssf = ${SASL_MINSSF}
|
||||
start_tls = ${START_TLS}
|
||||
tls_ca_cert_dir = ${TLS_CA_CERT_DIR}
|
||||
tls_ca_cert_file = ${TLS_CA_CERT_FILE}
|
||||
tls_cert = ${TLS_CERT}
|
||||
tls_key = ${TLS_KEY}
|
||||
tls_require_cert = ${TLS_REQUIRE_CERT}
|
||||
tls_random_file = ${TLS_RANDOM_FILE}
|
||||
tls_cipher_suite = ${TLS_CIPHER_SUITE}
|
||||
leaf_result_attribute = ${LEAF_RESULT_ATTRIBUTE}
|
||||
scope = ${SCOPE}
|
||||
bind = ${BIND}
|
||||
bind_dn = ${BIND_DN}
|
||||
bind_pw = ${BIND_PW}
|
||||
recursion_limit = ${RECURSION_LIMIT}
|
||||
expansion_limit = ${EXPANSION_LIMIT}
|
||||
size_limit = ${SIZE_LIMIT}
|
||||
dereference = ${DEREFERENCE}
|
||||
chase_referrals = ${CHASE_REFERRALS}
|
||||
version = ${VERSION}
|
||||
debuglevel = ${DEBUGLEVEL}
|
||||
sasl_mechs = ${SASL_MECHS}
|
||||
sasl_realm = ${SASL_REALM}
|
||||
sasl_authz_id = ${SASL_AUTHZ_ID}
|
||||
sasl_minssf = ${SASL_MINSSF}
|
||||
start_tls = ${START_TLS}
|
||||
tls_ca_cert_dir = ${TLS_CA_CERT_DIR}
|
||||
tls_ca_cert_file = ${TLS_CA_CERT_FILE}
|
||||
tls_cert = ${TLS_CERT}
|
||||
tls_key = ${TLS_KEY}
|
||||
tls_require_cert = ${TLS_REQUIRE_CERT}
|
||||
tls_random_file = ${TLS_RANDOM_FILE}
|
||||
tls_cipher_suite = ${TLS_CIPHER_SUITE}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
ldap_bind_dn: ${BIND_DN}
|
||||
ldap_bind_pw: ${BIND_PW}
|
||||
ldap_servers: ${SERVER_HOST}
|
||||
ldap_bind_dn: ${BIND_DN}
|
||||
ldap_bind_pw: ${BIND_PW}
|
||||
ldap_servers: ${SERVER_HOST}
|
||||
ldap_search_base: ${SEARCH_BASE}
|
||||
ldap_filter: (&(uniqueIdentifier=%u)(mailEnabled=TRUE))
|
||||
ldap_referrals: yes
|
||||
ldap_filter: (&(uniqueIdentifier=%u)(mailEnabled=TRUE))
|
||||
ldap_referrals: yes
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
# Parameter docs: https://github.com/cyrusimap/cyrus-sasl/blob/3959d45aa187d906d5fb3e8edf7e3661780967a5/saslauthd/LDAP_SASLAUTHD#L85-L242
|
||||
ldap_auth_method: ${LDAP_AUTH_METHOD}
|
||||
ldap_bind_dn: ${LDAP_BIND_DN}
|
||||
ldap_bind_pw: ${LDAP_BIND_PW}
|
||||
ldap_default_domain: ${LDAP_DEFAULT_DOMAIN}
|
||||
ldap_default_realm: ${LDAP_DEFAULT_REALM}
|
||||
ldap_deref: ${LDAP_DEREF}
|
||||
ldap_filter: ${LDAP_FILTER}
|
||||
ldap_group_attr: ${LDAP_GROUP_ATTR}
|
||||
ldap_group_dn: ${LDAP_GROUP_DN}
|
||||
ldap_group_filter: ${LDAP_GROUP_FILTER}
|
||||
ldap_auth_method: ${LDAP_AUTH_METHOD}
|
||||
ldap_bind_dn: ${LDAP_BIND_DN}
|
||||
ldap_bind_pw: ${LDAP_BIND_PW}
|
||||
ldap_default_domain: ${LDAP_DEFAULT_DOMAIN}
|
||||
ldap_default_realm: ${LDAP_DEFAULT_REALM}
|
||||
ldap_deref: ${LDAP_DEREF}
|
||||
ldap_filter: ${LDAP_FILTER}
|
||||
ldap_group_attr: ${LDAP_GROUP_ATTR}
|
||||
ldap_group_dn: ${LDAP_GROUP_DN}
|
||||
ldap_group_filter: ${LDAP_GROUP_FILTER}
|
||||
ldap_group_match_method: ${LDAP_GROUP_MATCH_METHOD}
|
||||
ldap_group_search_base: ${LDAP_GROUP_SEARCH_BASE}
|
||||
ldap_group_scope: ${LDAP_GROUP_SCOPE}
|
||||
ldap_password: ${LDAP_PASSWORD}
|
||||
ldap_password_attr: ${LDAP_PASSWORD_ATTR}
|
||||
ldap_referrals: ${LDAP_REFERRALS}
|
||||
ldap_restart: ${LDAP_RESTART}
|
||||
ldap_id: ${LDAP_ID}
|
||||
ldap_authz_id: ${LDAP_AUTHZ_ID}
|
||||
ldap_mech: ${LDAP_MECH}
|
||||
ldap_realm: ${LDAP_REALM}
|
||||
ldap_scope: ${LDAP_SCOPE}
|
||||
ldap_search_base: ${LDAP_SEARCH_BASE}
|
||||
ldap_servers: ${LDAP_SERVERS}
|
||||
ldap_start_tls: ${LDAP_START_TLS}
|
||||
ldap_time_limit: ${LDAP_TIME_LIMIT}
|
||||
ldap_timeout: ${LDAP_TIMEOUT}
|
||||
ldap_tls_check_peer: ${LDAP_TLS_CHECK_PEER}
|
||||
ldap_tls_cacert_file: ${LDAP_TLS_CACERT_FILE}
|
||||
ldap_tls_cacert_dir: ${LDAP_TLS_CACERT_DIR}
|
||||
ldap_tls_ciphers: ${LDAP_TLS_CIPHERS}
|
||||
ldap_tls_cert: ${LDAP_TLS_CERT}
|
||||
ldap_tls_key: ${LDAP_TLS_KEY}
|
||||
ldap_use_sasl: ${LDAP_USE_SASL}
|
||||
ldap_version: ${LDAP_VERSION}
|
||||
ldap_group_search_base: ${LDAP_GROUP_SEARCH_BASE}
|
||||
ldap_group_scope: ${LDAP_GROUP_SCOPE}
|
||||
ldap_password: ${LDAP_PASSWORD}
|
||||
ldap_password_attr: ${LDAP_PASSWORD_ATTR}
|
||||
ldap_referrals: ${LDAP_REFERRALS}
|
||||
ldap_restart: ${LDAP_RESTART}
|
||||
ldap_id: ${LDAP_ID}
|
||||
ldap_authz_id: ${LDAP_AUTHZ_ID}
|
||||
ldap_mech: ${LDAP_MECH}
|
||||
ldap_realm: ${LDAP_REALM}
|
||||
ldap_scope: ${LDAP_SCOPE}
|
||||
ldap_search_base: ${LDAP_SEARCH_BASE}
|
||||
ldap_servers: ${LDAP_SERVERS}
|
||||
ldap_start_tls: ${LDAP_START_TLS}
|
||||
ldap_time_limit: ${LDAP_TIME_LIMIT}
|
||||
ldap_timeout: ${LDAP_TIMEOUT}
|
||||
ldap_tls_check_peer: ${LDAP_TLS_CHECK_PEER}
|
||||
ldap_tls_cacert_file: ${LDAP_TLS_CACERT_FILE}
|
||||
ldap_tls_cacert_dir: ${LDAP_TLS_CACERT_DIR}
|
||||
ldap_tls_ciphers: ${LDAP_TLS_CIPHERS}
|
||||
ldap_tls_cert: ${LDAP_TLS_CERT}
|
||||
ldap_tls_key: ${LDAP_TLS_KEY}
|
||||
ldap_use_sasl: ${LDAP_USE_SASL}
|
||||
ldap_version: ${LDAP_VERSION}
|
||||
|
|
|
@ -99,7 +99,8 @@ function _install_feature_config_templates() {
|
|||
apt-get "${QUIET}" --no-install-recommends install gettext-base
|
||||
|
||||
# zenv:
|
||||
local URL_ZENV="https://github.com/numToStr/zenv/releases/download/0.8.0/zenv-0.8.0-$(uname --machine)-unknown-linux-gnu.tar.gz"
|
||||
local URL_ZENV
|
||||
URL_ZENV="https://github.com/numToStr/zenv/releases/download/0.8.0/zenv-0.8.0-$(uname --machine)-unknown-linux-gnu.tar.gz"
|
||||
# Download from GH releases to stdout, then extract the zenv file to make available via PATH:
|
||||
curl -L "${URL_ZENV}" -o - | tar --gzip --extract --directory /usr/local/bin --file - zenv
|
||||
}
|
||||
|
|
|
@ -186,6 +186,6 @@ function _cleanse_config() {
|
|||
local KV_DELIMITER=${1:?KV Delimiter is required}
|
||||
local INPUT_FILE=${2?:Input file is required}
|
||||
|
||||
sed "/^[^${KV_DELIMITER}]*${KV_DELIMITER}\s*$/d" ${INPUT_FILE} \
|
||||
sed "/^[^${KV_DELIMITER}]*${KV_DELIMITER}\s*$/d" "${INPUT_FILE}" \
|
||||
| tac | sort -u -t"${KV_DELIMITER}" -k1,1
|
||||
}
|
||||
|
|
|
@ -229,19 +229,9 @@ function teardown() {
|
|||
)
|
||||
|
||||
for LDAP_SETTING in "${LDAP_SETTINGS_POSTFIX[@]}"; do
|
||||
# "${LDAP_SETTING%=*}" is to match only the key portion of the var (helpful for assert_output error messages)
|
||||
# NOTE: `start_tls = no` is a default setting, but the white-space differs when ENV `LDAP_START_TLS` is not set explicitly.
|
||||
_run_in_container grep "${LDAP_SETTING%=*}" /etc/postfix/ldap/users.cf
|
||||
assert_output "${LDAP_SETTING}"
|
||||
assert_success
|
||||
|
||||
_run_in_container grep "${LDAP_SETTING%=*}" /etc/postfix/ldap/groups.cf
|
||||
assert_output "${LDAP_SETTING}"
|
||||
assert_success
|
||||
|
||||
_run_in_container grep "${LDAP_SETTING%=*}" /etc/postfix/ldap/aliases.cf
|
||||
assert_output "${LDAP_SETTING}"
|
||||
assert_success
|
||||
_should_have_matching_setting "${LDAP_SETTING}" /etc/postfix/ldap/users.cf
|
||||
_should_have_matching_setting "${LDAP_SETTING}" /etc/postfix/ldap/groups.cf
|
||||
_should_have_matching_setting "${LDAP_SETTING}" /etc/postfix/ldap/aliases.cf
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -269,9 +259,7 @@ function teardown() {
|
|||
)
|
||||
|
||||
for LDAP_SETTING in "${LDAP_SETTINGS_DOVECOT[@]}"; do
|
||||
_run_in_container grep "${LDAP_SETTING%=*}" /etc/dovecot/dovecot-ldap.conf.ext
|
||||
assert_output "${LDAP_SETTING}"
|
||||
assert_success
|
||||
_should_have_matching_setting "${LDAP_SETTING}" /etc/dovecot/dovecot-ldap.conf.ext
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -437,3 +425,21 @@ function _should_successfully_deliver_mail_to() {
|
|||
# NOTE: Prevents compatibility for running testcases in parallel (for same container) when the count could become racey:
|
||||
_count_files_in_directory_in_container "${MAIL_STORAGE_RECIPIENT}" 1
|
||||
}
|
||||
|
||||
function _should_have_matching_setting() {
|
||||
local KEY_VALUE=${1}
|
||||
local CONFIG_FILE=${2}
|
||||
|
||||
function __trim_whitespace() {
|
||||
sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' <<< "${1}"
|
||||
}
|
||||
|
||||
local KEY VALUE
|
||||
# Split string into key/value vars and trim white-space:
|
||||
KEY=$(__trim_whitespace "${KEY_VALUE%=*}")
|
||||
VALUE=$(__trim_whitespace "${KEY_VALUE#*=}")
|
||||
|
||||
_run_in_container grep "${KEY}" "${CONFIG_FILE}"
|
||||
assert_output --regexp "^${KEY}\s*=\s*${VALUE}$"
|
||||
assert_success
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue