]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
do_all_the_voodoo_here: cover with tests
authorBaptiste Daroussin <bapt@FreeBSD.org>
Sat, 15 Apr 2023 19:20:40 +0000 (21:20 +0200)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Sat, 15 Apr 2023 19:20:40 +0000 (21:20 +0200)
tests/mlmmj-receive.sh

index a09c19f936a83bdb1f168eb8de25d75304584a79..3418c3cc3fb338fa58e215e0385500b0e437c497 100755 (executable)
@@ -20,7 +20,8 @@ tests_init \
        moderation_notmetoo \
        moderation_reject_invalid \
        maxmailsize \
-       maxmailsize0
+       maxmailsize0 \
+       normail_email
 
 mlmmjreceive=$(command -v mlmmj-receive)
 
@@ -2312,3 +2313,150 @@ EOF
        atf_check -s exit:1 test -f mail-2.txt
        return
 }
+
+normail_email_body()
+{
+       atf_check $srcdir/fakesmtpd
+       trap kill_fakesmtp EXIT TERM
+       init_ml list
+       rmdir list/text
+       ln -s ${srcdir}/../listtexts/en list/text
+       echo test@mlmmjtest > list/control/listaddress
+       echo "25678" > list/control/smtpport
+       echo "heloname" > list/control/smtphelo
+
+       printf "user@test\nuser2@test" > list/subscribers.d/u
+cat > first <<EOF
+From: bob@test
+To: test@mlmmjtest
+Return-path: bob@test
+Subject: yeah
+
+Let's go, first email
+EOF
+
+cat > nosubject <<EOF
+From: bob@test
+To: test@mlmmjtest
+Return-path: bob@test
+
+Let's go, first email
+EOF
+       atf_check -s exit:0 $mlmmjreceive -L list -F <first
+       cat >> expected-1.txt <<EOF
+EHLO heloname\r
+MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+RCPT TO:<user@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+\r
+.\r
+MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+RCPT TO:<user2@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+\r
+.\r
+QUIT\r
+EOF
+       atf_check -o file:expected-1.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-1.txt
+       touch list/control/footer
+       atf_check -s exit:0 $mlmmjreceive -L list -F <first
+       atf_check -o file:expected-1.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-2.txt
+       printf "myfooter\nreally" > list/control/footer
+       touch list/control/prefix
+       atf_check -s exit:0 $mlmmjreceive -L list -F <first
+       cat >> expected-2.txt <<EOF
+EHLO heloname\r
+MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+RCPT TO:<user@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+RCPT TO:<user2@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+QUIT\r
+EOF
+       atf_check -o file:expected-2.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-3.txt
+       echo "[plop]" > list/control/prefix
+       atf_check -s exit:0 $mlmmjreceive -L list -F <first
+       cat >> expected-3.txt <<EOF
+EHLO heloname\r
+MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+RCPT TO:<user@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: [plop] yeah\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+RCPT TO:<user2@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: [plop] yeah\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+QUIT\r
+EOF
+       atf_check -o file:expected-3.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-4.txt
+
+       atf_check -s exit:0 $mlmmjreceive -L list -F <nosubject
+       cat >> expected-4.txt <<EOF
+EHLO heloname\r
+MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+RCPT TO:<user@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: [plop]\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+RCPT TO:<user2@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: [plop]\r
+\r
+Let's go, first email\r
+myfooter\r
+really\r
+.\r
+QUIT\r
+EOF
+       atf_check -o file:expected-4.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-5.txt
+}