1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00

test: Verify mailbox delivery in minor dialogs test

The minor dialogs test covers some very specific SMTP exchanges, and
some of those include delivering email.

Today, we don't verify the final mailbox, we just check the SMTP
exchange. However, it can be very useful for some of the tests to do
end-to-end checking of the final mailbox.

This patch implements that ability in the test itself, and on the
(currently only) email delivering dialog.

Subsequent patches that introduce new tests will make use of this
feature.
This commit is contained in:
Alberto Bertogli
2023-12-23 13:18:36 +00:00
parent 0c02bfbe76
commit c4c330d7a4
2 changed files with 28 additions and 1 deletions

View File

@@ -8,7 +8,7 @@ init
generate_certs_for testserver
add_user user@testserver secretpassword
mkdir -p .logs
mkdir -p .logs .mbox
chasquid -v=2 --logfile=.logs/chasquid.log --config_dir=config &
wait_until_ready 1025
@@ -16,7 +16,28 @@ FAILED=0
for i in *.cmy; do
if ! chamuyero "$i" > ".logs/$i.log" 2>&1 ; then
echo "test $i failed, see .logs/$i.log"
echo
echo "last lines of the log:"
tail -n 10 ".logs/$i.log" | sed 's/^/ /g'
echo
FAILED=1
continue
fi
# Some tests do email delivery, this allows us to verify the results.
if [ -f "$i.verify" ]; then
wait_for_file .mail/user@testserver
cp .mail/user@testserver ".mbox/$i.mbox"
if ! mail_diff "$i.verify" .mail/user@testserver \
> ".mbox/$i.diff" ;
then
echo "test $i failed, because it had a mail diff"
echo
echo "mail diff:"
sed 's/^/ /g' ".mbox/$i.diff"
echo
FAILED=1
fi
fi
done

View File

@@ -0,0 +1,6 @@
From: Mailer daemon <somewhere@horns.com>
Subject: I've come to haunt you
Muahahahaha