1
0
mirror of https://github.com/tomav/docker-mailserver.git synced 2024-07-04 15:11:12 +02:00
Commit Graph

318 Commits

Author SHA1 Message Date
Martin Schulze
0eb5bd0db9 Add --fatal-tests for early out in container waits 2020-10-17 02:02:46 +02:00
Martin Schulze
97806859b6 Fix private_config_path creating the wrong folder 2020-10-17 02:02:46 +02:00
Martin Schulze
5fef8a5b78 Give each container their own private config folder 2020-10-17 02:02:46 +02:00
Martin Schulze
190f4961c0 Move mail container creation into tests file 2020-10-17 02:02:46 +02:00
Martin Schulze
9c285db520 Extract mail_override_hostname into own test file 2020-10-17 02:02:46 +02:00
Martin Schulze
06b137e5a8 Extract container mail_smtponly_without_config into test 2020-10-17 02:02:46 +02:00
Martin Schulze
ad0be553d8 Extract SRS DOMAINNAME tests/container into own file 2020-10-17 02:02:46 +02:00
Martin Schulze
d38ff4c122 Extrract disabled clamav tests into own file 2020-10-17 02:02:46 +02:00
Georg Lauterbach
ed6e3ebd30
Outsourced linting tests into its own file (#1636)
* outsourced linting tests into its own file
* trigger rebuild
* added SCRIPT variable to setup.sh
* trigger rebuild again
* major test rewrite
* outsourced `hadolint` too
* rewrote some parts of the linting logic due to a logic bug
* adjusted TravisCI
* corrected .bats test line
* corrected logging in linting tests
* updated `hadolint`
2020-10-04 19:34:15 +02:00
Georg Lauterbach
a0791ef457
formatting files according to standard (#1619)
* added EditorConfig linting
* adding `eclint` as Travis script target
* re-adjusted .pem files to have a newline
2020-09-24 14:54:21 +02:00
mwnx
42352a3259 Update relayhost_map with virtual accounts too
Previously, only postfix-relaymap.cf and postfix-accounts.cf would be
used to populate the relayhost_map file.

Now, also use postfix-virtual.cf when present. To me, there is nothing
absurd about sending mail "From:" a virtual account (or more
specifically its domain) so it makes sense that when a $RELAY_HOST is
defined it should be used for virtual accounts as well.
2020-08-28 15:03:51 +02:00
mwnx
1286a1266b Fix/refactor relayhost_map update when dynamically adding account
check-for-changes.sh did not have a special case to handle lines in
postfix-relaymap.cf consisting of only a domain (indicating that said
domain should never be relayed). This case is handled by
start-mailserver.sh so when such a line existed, things would work well
until a config file update was detected by check-for-changes.sh. After
that, the generated relayhost_map file would be corrupted.

Fixed by factoring a 'populate_relayhost_map' function out of
start-mailserver.sh and into helper_functions.sh and reusing it in
check-for-changes.sh.

Note: There are certainly quite a few more pieces of code that could be
refactored in a similar fashion.

Note2: check-for-changes.sh would previously never update the
relayhost_map file when $ENABLE_LDAP was set to 1. I don't think this
was intended —there is after all no such condition in
start-mailserver.sh— and so this condition no longer applies.
2020-08-28 15:03:51 +02:00
mwnx
2a70f33a4b Fix checksum race condition in check-for-changes.sh
If a change to one of the tracked files happened soon after (<1 second?)
a previously detected change, it could end up going undetected. In
particular, this could cause integration tests to fail (see next
commits).

Fixed by computing the new checksum file _before_ checking for changes.
2020-08-28 14:57:43 +02:00
Michael Sprauer
119dbd664c revert nonsens changes 2020-07-14 15:23:36 +02:00
Michael Sprauer
d61a8cd9c0 letsencrypt & traefik wildcard support
set SSL_DOMAIN=*.example.com to extract a wildcard certificate from traefiks acme.json store
2020-07-13 22:58:17 +02:00
Michael Sprauer
32c732e276 certificates from acme.json
Will extract certificates from acme.json as written by traefik for usage in dovecot and postfix.
Also watches acme.json for changes. For this to work the file has to be mounted/present at `/etc/letsencrypt/acme.json`
2020-06-30 22:43:22 +02:00
Michael Sprauer
989f691281 fix tests with space in path 2020-06-30 22:34:26 +02:00
Nicholas Pepper
1b659a5574 Modified letsencrypt support to add domain name checking in addition to
hostname checking.  Added necessary tests and renamed original manual
ssl test to a name that supports adding the other SSL tests.
2020-05-15 04:52:26 +00:00
youtous
c65ffb44a1
test postfix inet 2020-05-09 22:42:56 +02:00
youtous
d0f7257333
support comments in .cf files 2020-05-06 22:59:55 +02:00
youtous
30262128f4
raise a warning when SPAMASSASSIN_SPAM_TO_INBOX isn't explicitly defined 2020-05-03 10:33:50 +02:00
youtous
15dd63d566
add test case no move to Junk 2020-05-03 10:33:28 +02:00
youtous
d829905cf7
init spams to junk 2020-05-03 10:33:28 +02:00
youtous
0c838706d0
Option to disable dovecot quota 2020-05-01 23:42:21 +02:00
youtous
d45e6b1c22
#fix 1478 2020-04-30 12:47:12 +02:00
youtous
80bd3a8c85
Update test/mail_dhparams_manual_not_one_dir.bats
Co-Authored-By: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2020-04-27 10:42:47 +02:00
youtous
3e3f5d557b
Update test/mail_dhparams_manual_one_dir.bats
Co-Authored-By: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2020-04-27 10:42:39 +02:00
youtous
27cbdeeb6a
Update test/mail_dhparams_default.bats
Co-Authored-By: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2020-04-27 10:42:24 +02:00
youtous
e680c349b1
test wait setup for // containers 2020-04-27 10:28:24 +02:00
youtous
149a10272c
improve dhe tests documentation 2020-04-27 09:57:36 +02:00
youtous
dff7355fa9
fix #1459 2020-04-26 23:07:34 +02:00
youtous
4d031f73e3
test dhparams ONE_DIR both cases 2020-04-26 22:25:48 +02:00
youtous
47fac2706f
use ffdhe4096 for DHE params
use by default ffdhe4096 for DHE params 


use by default ffdhe4096 for DHE params
2020-04-26 22:23:51 +02:00
youtous
f60de0c66e
init tests cases ffdhe4096 2020-04-26 22:23:51 +02:00
youtous
bdcf5e0cf1
fix send mail test quota
fix quota warning test: wait for postfix to be UP


increase postfix restart delay
2020-04-24 19:03:27 +02:00
youtous
2e149b74c2
fix async quota tests 2020-04-24 17:03:09 +02:00
youtous
04de46dc41
test quota reached 2020-04-24 15:53:44 +02:00
youtous
2527ebfaf2
added dovecot quota feature
add postfix service quota check


check-for-changes on quotas


setquota command


fix checkforchanges quota


addquota verify user exists


add setquota in setup.sh


merging addquota into setquota


test quota commands


add ldap tests for dovecot quota


fix smtp only quota postfix rules


test postfix conf


add quota test integration


add quota exceeded test


add wait analyze


fix tests


fix setup typo


add test fixes


fix error output


wip


update startup rules


fix setup


fix setup tests


fix output commands


remove quota on remove user


try to fix sync limit mails


check if file exists


fix path


change used quota user


fix post size


check if quota file exists


update tests


configure virtualmailbox limit for dovecot


last fix


fix quota expr


relax dovecot tests


auto create dovecot-quotas


fix dovecot apply quota test


wip quota warning


trying to fix get dovadm quota


dovecot applies fix


fix quota warning lda path


test count mail on quota


fix quota warning permissiosn


fix test
2020-04-24 14:56:15 +02:00
Erik Wramner
dde6acd1a1 Search in rotated logs and limit to RelayedInbound 2020-01-26 21:05:24 +01:00
Erik Wramner
f342151b80 Fixed several amavis tests and removed commented code 2020-01-26 16:39:58 +01:00
Erik Wramner
42ccae2642 Test stop with a less central container than mail 2020-01-26 08:36:31 +01:00
Erik Wramner
27d66cf11f Restored test removed by accident 2020-01-22 19:11:59 +01:00
Erik Wramner
881ac71601 Show delivered mails with more details in test 2020-01-20 21:59:34 +01:00
Erik Wramner
1c73290ba0 Show found and expected decoders in test 2020-01-19 09:20:50 +01:00
Erik Wramner
a66b2bff0c Make test result easier to evaluate 2020-01-18 21:01:24 +01:00
Erik Wramner
2ad667209c
Merge pull request #1323 from ap-wtioit/master-remove_tty_necessity
fix: dont use TTY in docker if not present, rem TTY necessity in tests
2019-11-13 09:59:01 +01:00
Andreas Perhab
bbab4ef3fc fix: fix test setup.sh debug fetchmail on wildcard domains
on hosts that belong to wildcard domains pop3.example.com might
 actually resolve to pop3.example.com.[mydomain.com] and give a valid ip
 the return code of fetchmail then no longer is 11 (dns failure) but
 something else (2 for socket error in our case)

to make sure we always get return code 11 we use the domain name
pop3.example.com. that is not allowed to be resolved to a subdomain.
2019-11-12 15:35:03 +01:00
Andreas Perhab
d8be2bd3cc fix: dont use TTY in docker if not present, rem TTY necessity in tests
Gitlab CI has not TTY present and TTY is not really required for
automated testing
2019-11-12 09:32:27 +01:00
Erik Wramner
c882d95deb
Merge pull request #1284 from vortex852456/master
Added optional file user-patches.sh for own patches without recompiling
2019-11-09 15:13:06 +01:00
Sebastian Kaiser
37540509dc - test for user-patches.sh 2019-11-08 02:22:33 +01:00
Germain Masse
d764d89ea9 Test for DOVECOT_MAILBOX_FORMAT 2019-11-04 15:49:29 +00:00
Germain Masse
fa167a9e51 Test special-use folders are available in IMAP 2019-11-01 20:04:37 +00:00
Germain Masse
e465e659ad Remove unnecessary maildir folders creation 2019-11-01 20:04:37 +00:00
vortex852456
34f52c6ad0
only "assert_success" for user-patches.sh check 2019-10-31 09:51:40 +01:00
Vortex
def8400c17 added default "user-patches.sh" to the first container "mail" 2019-10-31 09:01:44 +01:00
Vortex
437d3b74cc added test for "checking configuration: user-patches.sh executed" - should fail with this commit 2019-10-31 02:38:45 +01:00
Felix Bartels
7ff9764285
Provide version information through labels (#1256)
* Provide version information through labels

Can be retrieved by calling e.g. `docker inspect -f {{.Config.Labels}} tvial/docker-mailserver:testing`

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* add build hook so that Docker Hub can work with the build args

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* remove obsolete build-no-cache

build args invalidate build cache already

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* adapt travis file

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* shellcheck

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-10-23 11:22:23 +02:00
Germain Masse
b34a79310a Privacy test email no more tagged as SPAM. ClamAV and SA disabled to avoid time-out on low perf system 2019-10-14 13:25:44 +00:00
Martin Schulze
e2bbf12524 Tests fx: Also wait for smtp port 2019-10-08 23:39:04 +02:00
Martin Schulze
604a65024e Tests: extract mail_privacy into own .bats file 2019-10-08 23:11:27 +02:00
Martin Schulze
533ac7ed29 Tests: extract mail_pop3 into own .bats file 2019-10-08 22:24:05 +02:00
Martin Schulze
81fd83525c Tests: extract mail_smtponly into own .bats file 2019-10-08 22:15:27 +02:00
Martin Schulze
56f47db0f2 Tests: Extract mail_fail2ban into own .bats file 2019-10-08 22:03:56 +02:00
Martin Schulze
d05255cb04 Tests: Extract mail_fetchmail into own .bats file 2019-10-08 21:45:05 +02:00
Martin Schulze
a03c741e1b Extract mail_manual_ssl into own .bats file 2019-10-08 21:36:13 +02:00
Martin Schulze
d3e2dfe3ba Move mail_with_ldap into its own .bats file 2019-10-08 21:31:56 +02:00
Martin Schulze
d9a48878c9 Print last 10 log lines on container setup timeout 2019-09-12 00:43:44 +02:00
Martin Schulze
3f9dd4180a Fix setup_file marker logic 2019-09-12 00:42:04 +02:00
Martin Schulze
a20f2c4199 Add pregenerated test/config dh params 2019-09-12 00:42:04 +02:00
Erik Wramner
ca821fa51a
Merge pull request #1259 from martin-schulze-vireso/bugfix/no_error_printed_on_timeout
Fix missing error output from timeout
2019-09-11 14:04:04 +02:00
Martin Schulze
3513944d0a Skip all tests of file after failed setup_file 2019-09-11 01:01:51 +02:00
Martin Schulze
8e6152ff2f Fix missing error output from timeout
The exits would prevent the printing code from running
2019-09-11 00:02:16 +02:00
Erik Wramner
8f23cb7b35 Adjust wait for tests as they often fail 2019-09-05 21:35:23 +02:00
Martin Schulze
596563ae64 Make failed test output more readable 2019-08-21 21:16:39 +02:00
Martin Schulze
bfc4f5693e Don't use run in repeat_until_success_or_timeout
it overwrites the return code of its command
2019-08-17 21:23:48 +02:00
Martin Schulze
a933ef27ac Fix polling with pipes 2019-08-17 20:58:33 +02:00
Martin Schulze
43ae814776 Extract mail_with_imap into its own test file 2019-08-17 20:58:33 +02:00
Martin Schulze
9019b98394 Extract mail_postscreen into own test file 2019-08-17 20:58:33 +02:00
Martin Schulze
3b728848bb Extract mail_lmtp_ip into own test file 2019-08-17 20:58:33 +02:00
Martin Schulze
82ab286291 Extract mail_undef_spam_subject into own test file 2019-08-17 20:58:33 +02:00
Martin Schulze
5be2fdc3cd Use correct container name 2019-08-17 20:58:33 +02:00
Martin Schulze
9d90df7064 Fix integer check 2019-08-17 20:58:33 +02:00
Martin Schulze
85fa5d242f Fix setup/teardown_file to work in full suite run
The previous mechanism would only run them once for the whole suite
2019-08-17 20:58:33 +02:00
Martin Schulze
d8956d3b29 Extract mail_with_postgrey into own test files 2019-08-17 20:58:33 +02:00
Martin Schulze
fcddf578d2 Extract mail with relay tests into own file 2019-08-17 20:58:33 +02:00
Martin Schulze
db160bd977 Extract default relay host test
centralize common test variables and functions
2019-08-17 20:58:33 +02:00
Erik Wramner
bf773cc8b7 Use assert_output for better diagnostics of failures 2019-08-16 12:02:23 +02:00
Felix Bartels
1ba0991d80
Fix linting errors reported by hadolint (#1211)
* Fix linting errors reported by hadolint
* use full path for folders when listing contents
* add linting task to makefile
2019-08-13 11:41:38 +02:00
Erik Wramner
5ebb8614a2
Merge pull request #1220 from erik-wramner/dhparam_on_start
Generate dhparam and dovecot cert on start
2019-08-12 22:00:31 +02:00
Felix Bartels
a7408b73e0 Do not remove dh*.pem as they do not exist at this point in time
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-08-12 19:31:24 +02:00
Erik Wramner
f5dac6e71c Disable SMTPUTF8 as Dovecot can't handle it 2019-08-11 17:14:00 +02:00
Erik Wramner
c9bd3f3e83 Added sleep to test that keeps failing randomly 2019-08-10 08:34:18 +02:00
Erik Wramner
fc8d684994 Generate dhparams at startup, not build 2019-08-09 22:13:50 +02:00
Martin Schulze
41dfe43c71 Remove code duplication 2019-08-07 22:03:17 +02:00
Martin Schulze
d712a29baf Check for PERMIT_DOCKER correct postfix settings 2019-08-07 21:45:52 +02:00
Martin Schulze
fcce47a392 WIP: actually test PERMIT_DOCKER=connected-networks
also showcase timeouts and makefile integration
2019-08-07 02:24:56 +02:00
Felix Bartels
83b4cda0bf update bats to latest version 2019-08-05 21:40:09 +02:00
Erik Wramner
41921f82aa
Merge pull request #1205 from j-marz/opendkim_nameserver
set Nameservers in opendkim.conf at start-up
2019-08-04 18:54:08 +02:00
j-marz
2f0e516d42 added test to check for nameservers in opendkim.conf 2019-08-04 20:29:39 +10:00
Martin Schulze
9c1a5d76af Fix tests for PERMIT_DOCKER=connected-networks 2019-08-03 20:49:10 +02:00