breaking: Refactor getmail support (#4156)

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
This commit is contained in:
Casper 2024-08-17 12:14:59 +02:00 committed by GitHub
parent fb57905aa3
commit b2978fd760
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 198 additions and 59 deletions

View file

@ -8,12 +8,13 @@ function setup_file() {
local CUSTOM_SETUP_ARGUMENTS=(--env 'ENABLE_GETMAIL=1')
_init_with_defaults
mv "${TEST_TMP_CONFIG}/getmail/getmail-user3.cf" "${TEST_TMP_CONFIG}/getmail-user3.cf"
_common_container_setup 'CUSTOM_SETUP_ARGUMENTS'
}
function teardown_file() { _default_teardown ; }
#? The file used in the following tests is placed in test/config/getmail/user3.cf
@test 'default configuration exists and is correct' {
_run_in_container cat /etc/getmailrc_general
assert_success
@ -24,15 +25,16 @@ function teardown_file() { _default_teardown ; }
assert_line 'max_messages_per_session = 500'
assert_line 'received = false'
assert_line 'delivered_to = false'
assert_line 'message_log_syslog = true'
_run_in_container_bash '[[ -f /usr/local/bin/debug-getmail ]]'
assert_success
_run_in_container_bash '[[ -f /usr/local/bin/getmail-cron ]]'
_run_in_container_bash '[[ -f /usr/local/bin/getmail-service.sh ]]'
assert_success
}
@test 'debug-getmail works as expected' {
_run_in_container cat /etc/getmailrc.d/getmailrc-user3
_run_in_container cat /etc/getmailrc.d/user3
assert_success
assert_line '[options]'
assert_line 'verbose = 0'
@ -41,7 +43,7 @@ function teardown_file() { _default_teardown ; }
assert_line 'max_messages_per_session = 500'
assert_line 'received = false'
assert_line 'delivered_to = false'
assert_line 'message_log = /var/log/mail/getmail-user3.log'
assert_line 'message_log_syslog = true'
assert_line '[retriever]'
assert_line 'type = SimpleIMAPSSLRetriever'
assert_line 'server = imap.remote-service.test'
@ -55,19 +57,18 @@ function teardown_file() { _default_teardown ; }
_run_in_container /usr/local/bin/debug-getmail
assert_success
assert_line --regexp 'retriever:.*SimpleIMAPSSLRetriever\(ca_certs="None", certfile="None", getmaildir="\/tmp\/docker-mailserver\/getmail", imap_on_delete="None", imap_search="None", keyfile="None", mailboxes="\(.*INBOX.*\)", move_on_delete="None", password="\*", password_command="\(\)", port="993", record_mailbox="True", server="imap.remote-service.test", ssl_cert_hostname="None", ssl_ciphers="None", ssl_fingerprints="\(\)", ssl_version="None", timeout="180", use_cram_md5="False", use_kerberos="False", use_peek="True", use_xoauth2="False", username="user3"\)'
assert_line --regexp 'retriever:.*SimpleIMAPSSLRetriever\(ca_certs="None", certfile="None", getmaildir="\/var\/lib\/getmail", imap_on_delete="None", imap_search="None", keyfile="None", mailboxes="\(.*INBOX.*\)", move_on_delete="None", password="\*", password_command="\(\)", port="993", record_mailbox="True", server="imap.remote-service.test", ssl_cert_hostname="None", ssl_ciphers="None", ssl_fingerprints="\(\)", ssl_version="None", timeout="180", use_cram_md5="False", use_kerberos="False", use_peek="True", use_xoauth2="False", username="user3"\)'
assert_line --regexp 'destination:.*MDA_external\(allow_root_commands="True", arguments="\(.*-d.*user3@example.test.*\)", command="deliver", group="None", ignore_stderr="False", path="\/usr\/lib\/dovecot\/deliver", pipe_stdout="True", unixfrom="False", user="None"\)'
assert_line ' delete : False'
assert_line ' delete_after : 0'
assert_line ' delete_bigger_than : 0'
assert_line ' delivered_to : False'
assert_line ' fingerprint : False'
assert_line ' logfile : logfile(filename="/var/log/mail/getmail-user3.log")'
assert_line ' max_bytes_per_session : 0'
assert_line ' max_message_size : 0'
assert_line ' max_messages_per_session : 500'
assert_line ' message_log : /var/log/mail/getmail-user3.log'
assert_line ' message_log_syslog : False'
assert_line ' message_log : None'
assert_line ' message_log_syslog : True'
assert_line ' message_log_verbose : False'
assert_line ' netrc_file : None'
assert_line ' read_all : False'