mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-19 14:57:04 +00:00
The test to check that chasquid fails on startup if there are no valid TLS certificates is passing, but for the wrong reasons: it fails because there is no logging directory, not because there are no certificates. This patch fixes the problem by moving the logs directory creation before the first test.
57 lines
1.4 KiB
Bash
Executable File
57 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
. $(dirname ${0})/../util/lib.sh
|
|
|
|
init
|
|
|
|
mkdir -p .logs
|
|
|
|
if ! chasquid --version > /dev/null; then
|
|
fail "chasquid --version failed"
|
|
fi
|
|
|
|
# This should fail, as it has no certificates.
|
|
rm -f config/certs/testserver/*.pem
|
|
if chasquid -v=2 --logfile=.logs/chasquid.log --config_dir=config; then
|
|
fail "chasquid should not start without certificates"
|
|
fi
|
|
|
|
generate_certs_for testserver
|
|
add_user user@testserver secretpassword
|
|
add_user someone@testserver secretpassword
|
|
|
|
chasquid -v=2 --logfile=.logs/chasquid.log --config_dir=config &
|
|
wait_until_ready 1025
|
|
|
|
run_msmtp someone@testserver < content
|
|
|
|
wait_for_file .mail/someone@testserver
|
|
|
|
mail_diff content .mail/someone@testserver
|
|
|
|
# At least for now, we allow AUTH over the SMTP port to avoid unnecessary
|
|
# complexity, so we expect it to work.
|
|
if ! run_msmtp -a smtpport someone@testserver < content 2> /dev/null; then
|
|
fail "failed auth on the SMTP port"
|
|
fi
|
|
|
|
# Check deliver over the submission-over-TLS port.
|
|
if ! run_msmtp -a subm_tls someone@testserver < content 2> /dev/null; then
|
|
fail "failed submission over TLS"
|
|
fi
|
|
|
|
if run_msmtp nobody@testserver < content 2> /dev/null; then
|
|
fail "successfuly sent an email to a non-existent user"
|
|
fi
|
|
|
|
if run_msmtp -a baduser someone@testserver < content 2> /dev/null; then
|
|
fail "successfully sent an email with a bad password"
|
|
fi
|
|
|
|
if run_msmtp -a badpasswd someone@testserver < content 2> /dev/null; then
|
|
fail "successfully sent an email with a bad password"
|
|
fi
|
|
|
|
success
|