1
0
mirror of https://github.com/tomav/docker-mailserver.git synced 2024-06-26 09:09:23 +02:00
Commit Graph

358 Commits

Author SHA1 Message Date
Georg Lauterbach
46998dd816
preparation to include *.bats into shellcheck 2020-11-05 13:47:52 +01:00
Georg Lauterbach
5365e7f0f8
fixes #1677 2020-11-05 11:41:18 +01:00
Martin Schulze
6a9e5c0b62 Fix parallel development error: Use correct filename 2020-10-28 14:39:42 +01:00
Georg Lauterbach
f0105f6d47
Merge pull request #1613 from martin-schulze-vireso/feature/extract_even_more_tests 2020-10-28 11:16:15 +01:00
Georg Lauterbach
da8171388f
Complete Refactor for target/bin (#1654)
* documentation and script updates trying to fix #1647
* preparations for refactoring target/bin/
* complete refactor for target/bin/
* changing script output slightly
* outsourcing functions in `bin-helper.sh`
* re-wrote linting to allow for proper shellcheck -x execution
* show explanation for shellcheck ignore
* adding some more information
2020-10-21 18:16:32 +02:00
Martin Schulze
0015c62303 Fix linter issue 2020-10-20 15:02:31 +02:00
Martin Schulze
5cce70b3a9 Fix timing dependent failures 2020-10-20 14:14:04 +02:00
Martin Schulze
2de5c52b83 Fix nameclash in config names 2020-10-20 12:05:40 +02:00
Martin Schulze
0453240098 Catch errors on config duplication command 2020-10-20 09:33:47 +02:00
Martin Schulze
5884f866d3 Fix duplicate configuration name clashes 2020-10-20 09:33:14 +02:00
Martin Schulze
1ac5245f04 Add missing file 2020-10-20 01:05:01 +02:00
Martin Schulze
7bdac2a910 Add tests for remaining test_helper functions 2020-10-20 00:50:19 +02:00
Martin Schulze
9471ce7346 Fix errors due to trying to send emails too early
when clamav has not fully come up yet
2020-10-19 23:34:39 +02:00
Martin Schulze
7ae4a73d3b Fix tests failing when emails are not yet delivered 2020-10-19 23:33:54 +02:00
Georg Lauterbach
b948e01d39
re-trigger
wget through exception in the last test
2020-10-19 15:23:42 +02:00
Georg Lauterbach
3720dbafc0
removed local VAR=$(...) assignments 2020-10-19 15:19:34 +02:00
Georg Lauterbach
ab1da1e3f3
small changes in common.bash 2020-10-19 14:10:32 +02:00
Georg Lauterbach
3f5c518950
mostly pwd replacements and introduction of local keywords 2020-10-19 13:13:42 +02:00
Georg Lauterbach
0d219800ff
replacing all occurences of private_config with the uppercase variable 2020-10-19 12:15:44 +02:00
Georg Lauterbach
a3acedaf19
fixing NAME 2020-10-19 12:12:13 +02:00
Georg Lauterbach
0da7ee0c1d
{} and uppercase 2020-10-18 15:44:01 +02:00
Martin Schulze
5030e8278c Add tests for test/common.bash 2020-10-18 03:11:10 +02:00
Martin Schulze
7fb13c18cd Reinstane required (empty) folder
this is needed to make test
"checking accounts: user3 should have been added to /tmp/docker-mailserver/postfix-accounts.cf even when that file does not exist"
pass
2020-10-18 02:25:03 +02:00
Martin Schulze
88fbe0dbd3 Fix shellcheck errors on tests.bats 2020-10-18 02:24:26 +02:00
Martin Schulze
e2bca5f850 Always use ${} 2020-10-18 02:08:11 +02:00
Martin Schulze
f47f85598d Fix trailing slash in path 2020-10-17 23:24:39 +02:00
Martin Schulze
13963747b8 Fix missing newline at the end of file 2020-10-17 23:24:23 +02:00
Martin Schulze
80bfc422a2 Reduce code duplication 2020-10-17 02:04:33 +02:00
Martin Schulze
7530aea9f5 Don't use an extra moint for subdir 2020-10-17 02:04:33 +02:00
Martin Schulze
96b3fd726a Fix wait_for_service not working/hanging 2020-10-17 02:04:33 +02:00
Martin Schulze
c6c6fb708c Avoid running tests while the services restart due to changes 2020-10-17 02:04:33 +02:00
Martin Schulze
05deaa3196 Move common functions into common.bash 2020-10-17 02:03:11 +02:00
Martin Schulze
53b930448d Fix shellcheck issues 2020-10-17 02:03:11 +02:00
Martin Schulze
0d4eb08de8 Add missing accounts 2020-10-17 02:03:11 +02:00
Martin Schulze
e1d0fcfe01 Improve output in failure cases 2020-10-17 02:03:11 +02:00
Martin Schulze
a90e043e45 Fix failing tests due to old paths 2020-10-17 02:03:11 +02:00
Martin Schulze
ca3ebc6c40 Improve error messages on problems 2020-10-17 02:03:11 +02:00
Martin Schulze
40dd3ae985 Implement and use run_until_success_or_timeout 2020-10-17 02:03:11 +02:00
Martin Schulze
a477040abb Allow for seamless switching between old and new bats versions 2020-10-17 02:03:11 +02:00
Martin Schulze
ef80c6b2a3 Add setup/teardown marker tests 2020-10-17 02:03:11 +02:00
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