mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-02 09:05:14 +02:00
* Add method overwrite_config() This method takes 2 arguments: 1.) Environment Variable Prefix 2.) String of files separated by whitespace e.g. export LDAP_SEARCH_BASE=dc=domain,dc=loc export LDAP_BIND_PW=test overwrite_config "LDAP_" "/etc/postfix/ldap-users.cf /etc/postfix/ldap-groups.cf" Logic: + all env vars will be search for vars with the prefix LDAP_ + afterwards they will be dissembled in key value pairs LDAP_BIND_PW=test --> bind_pw test + the key and value will be substituted within the provided files via sed * Fix #503 added logic for custom configs provided at container provisioning within /tmp/docker-mailserver * Add additional unit tests for postfix ldap integration * check custom configs copied * check environment variables substituted * Fix quoting problems in tests.bats * Fix missing brackets in function _fix_var_amavis_permissions() * Fix typo in _setup_ldap * Fix notify in overwrite_config * Fix typo * Fix added dovecot ldap config provisioning again and Add notify for tasks
This commit is contained in:
parent
62f6fbbaae
commit
26992bb66f
5 changed files with 117 additions and 7 deletions
9
test/config/ldap-aliases.cf
Normal file
9
test/config/ldap-aliases.cf
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Testconfig for ldap integration
|
||||
bind = yes
|
||||
bind_dn = cn=admin,dc=domain,dc=com
|
||||
bind_pw = admin
|
||||
query_filter = (&(mailAlias=%s)(mailEnabled=TRUE))
|
||||
result_attribute = mail
|
||||
search_base = ou=people,dc=domain,dc=com
|
||||
server_host = mail.domain.com
|
||||
version = 3
|
9
test/config/ldap-groups.cf
Normal file
9
test/config/ldap-groups.cf
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Testconfig for ldap integration
|
||||
bind = yes
|
||||
bind_dn = cn=admin,dc=domain,dc=com
|
||||
bind_pw = admin
|
||||
query_filter = (&(mailGroupMember=%s)(mailEnabled=TRUE))
|
||||
result_attribute = mail
|
||||
search_base = ou=people,dc=domain,dc=com
|
||||
server_host = mail.domain.com
|
||||
version = 3
|
9
test/config/ldap-users.cf
Normal file
9
test/config/ldap-users.cf
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Testconfig for ldap integration
|
||||
bind = yes
|
||||
bind_dn = cn=admin,dc=domain,dc=com
|
||||
bind_pw = admin
|
||||
query_filter = (&(mail=%s)(mailEnabled=TRUE))
|
||||
result_attribute = mail
|
||||
search_base = ou=people,dc=domain,dc=com
|
||||
server_host = mail.domain.com
|
||||
version = 3
|
|
@ -1012,6 +1012,38 @@ load 'test_helper/bats-assert/load'
|
|||
assert_output "some.user@localhost.localdomain"
|
||||
}
|
||||
|
||||
@test "checking postfix: ldap custom config files copied" {
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep '# Testconfig for ldap integration' /etc/postfix/ldap-users.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep '# Testconfig for ldap integration' /etc/postfix/ldap-groups.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep '# Testconfig for ldap integration' /etc/postfix/ldap-aliases.cf"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "checking postfix: ldap config overwrites success" {
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'server_host = ldap' /etc/postfix/ldap-users.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'search_base = ou=people,dc=localhost,dc=localdomain' /etc/postfix/ldap-users.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'bind_dn = cn=admin,dc=localhost,dc=localdomain' /etc/postfix/ldap-users.cf"
|
||||
assert_success
|
||||
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'server_host = ldap' /etc/postfix/ldap-groups.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'search_base = ou=people,dc=localhost,dc=localdomain' /etc/postfix/ldap-groups.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'bind_dn = cn=admin,dc=localhost,dc=localdomain' /etc/postfix/ldap-groups.cf"
|
||||
assert_success
|
||||
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'server_host = ldap' /etc/postfix/ldap-aliases.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'search_base = ou=people,dc=localhost,dc=localdomain' /etc/postfix/ldap-aliases.cf"
|
||||
assert_success
|
||||
run docker exec mail_with_ldap /bin/sh -c "grep 'bind_dn = cn=admin,dc=localhost,dc=localdomain' /etc/postfix/ldap-aliases.cf"
|
||||
assert_success
|
||||
}
|
||||
|
||||
# dovecot
|
||||
@test "checking dovecot: ldap imap connection and authentication works" {
|
||||
run docker exec mail_with_ldap /bin/sh -c "nc -w 1 0.0.0.0 143 < /tmp/docker-mailserver-test/auth/imap-ldap-auth.txt"
|
||||
|
@ -1037,6 +1069,7 @@ load 'test_helper/bats-assert/load'
|
|||
assert_success
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# RIMAP
|
||||
#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue