You've already forked docker-mailserver
mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-08 23:06:49 +02:00
tests: new sending and filtering functions (#3786)
* move log/filter functions into own file * add ShellCheck global directives * use new function for tracking logs The new function, called `_send_email_with_mid`, aligns with suggestions from @polarethene and is heavily simplified compared to its predecessor `_send_email_and_get_id`. New helpers will be introduced to filter logs according to the MID constructed in this function. * new filters for searching logs with MID * use new filters (and sending) functions * add new helper for asserting non-existence of log message * use new filters in tests * Apply suggestions from code review - `_mid` / `MID` => `_msgid` / `MSG_ID` - Revised documentation / tooltip comments * Apply suggestions from code review * fix tests * use more distinct names for MSG_ID headers * update `_filter_service_log` to not use `-i -E` Moreover, I added a function to print the whole mail log. Appropriate comments were added to this function to indicate that one should only use this function when necessary. * adjust helpers to new helper filter * follow-up of previous commit * add CHANGELOG entry * Apply suggestions from code review * chore: Update OAuth2 to use new log helper * Apply suggestions from code review Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com> * added explicit `_regexp` filters for logs * Apply suggestions from code review --------- Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
This commit is contained in:
@ -182,23 +182,16 @@ function teardown_file() { _default_teardown ; }
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "system: /var/log/mail/mail.log is error free" {
|
||||
_run_in_container grep 'non-null host address bits in' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep 'mail system configuration error' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep ': error:' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep -i 'is not writable' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep -i 'permission denied' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep -i '(!)connect' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep -i 'using backwards-compatible default setting' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
_run_in_container grep -i 'connect to 127.0.0.1:10023: Connection refused' /var/log/mail/mail.log
|
||||
assert_failure
|
||||
# TODO: Remove in favor of a common helper method, as described in vmail-id.bats equivalent test-case
|
||||
@test "system: Mail log is error free" {
|
||||
_service_log_should_not_contain_string 'mail' 'non-null host address bits in'
|
||||
_service_log_should_not_contain_string 'mail' 'mail system configuration error'
|
||||
_service_log_should_not_contain_string 'mail' ': Error:'
|
||||
_service_log_should_not_contain_string 'mail' 'is not writable'
|
||||
_service_log_should_not_contain_string 'mail' 'Permission denied'
|
||||
_service_log_should_not_contain_string 'mail' '(!)connect'
|
||||
_service_log_should_not_contain_string 'mail' 'using backwards-compatible default setting'
|
||||
_service_log_should_not_contain_string 'mail' 'connect to 127.0.0.1:10023: Connection refused'
|
||||
}
|
||||
|
||||
@test "system: /var/log/auth.log is error free" {
|
||||
@ -212,7 +205,8 @@ function teardown_file() { _default_teardown ; }
|
||||
}
|
||||
|
||||
@test "system: amavis decoders installed and available" {
|
||||
_run_in_container_bash "grep -E '.*(Internal decoder|Found decoder) for\s+\..*' /var/log/mail/mail.log*|grep -Eo '(mail|Z|gz|bz2|xz|lzma|lrz|lzo|lz4|rpm|cpio|tar|deb|rar|arj|arc|zoo|doc|cab|tnef|zip|kmz|7z|jar|swf|lha|iso|exe)' | sort | uniq"
|
||||
_service_log_should_contain_string_regexp 'mail' '.*(Internal decoder|Found decoder) for\s+\..*'
|
||||
run bash -c "grep -Eo '(mail|Z|gz|bz2|xz|lzma|lrz|lzo|lz4|rpm|cpio|tar|deb|rar|arj|arc|zoo|doc|cab|tnef|zip|kmz|7z|jar|swf|lha|iso|exe)' <<< '${output}' | sort | uniq"
|
||||
assert_success
|
||||
# Support for doc and zoo removed in buster
|
||||
cat <<'EOF' | assert_output
|
||||
|
Reference in New Issue
Block a user