diff options
Diffstat (limited to 'tests/hmod.at')
-rw-r--r-- | tests/hmod.at | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/tests/hmod.at b/tests/hmod.at new file mode 100644 index 0000000..1a041c6 --- /dev/null +++ b/tests/hmod.at @@ -0,0 +1,110 @@ +# This file is part of GNU Anubis testsuite. -*- autotest -*- +# Copyright (C) 2003-2024 The Anubis Team. +# +# GNU Anubis is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 3 of the License, or (at your option) +# any later version. +# +# GNU Anubis is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with GNU Anubis. If not, see <http://www.gnu.org/licenses/>. +AT_SETUP([Modify the message header]) +AT_KEYWORDS([header modify]) + +AT_ANUBIS_CONFIG([anubis.rc], +[BEGIN CONTROL +logfile $PWD/etc/anubis.log +local-mta $abs_builddir/mta -bs -d $PWD/etc/mta.log +use-pam no +END + +BEGIN RULE +if header[[Subject]] = :scase "Hybrid Theory" + modify [[Subject]] "Meteora" + modify header :re [["X-\(.*\)"]] [["X-Old-\1"]] + modify header [[X-Old-LP-InTheEnd]] [[X-LP-Faint]] "rules!" +fi + +if header[[Subject]] = :scase "Renegades of Funk" + modify [[Subject]] "[[RATM \\\& music]] &" +fi +END +]) + +AT_DATA([input], +[HELO localhost +MAIL FROM:<polak@gnu.org> +RCPT TO:<gray@gnu.org> +DATA +From: <polak@gnu.org> +To: <gray@gnu.org> +Subject: Hybrid Theory +Subject: Meteora +X-Mailer: Fake MTA +X-Old-Mailer: Fake MTA +X-LP-InTheEnd: rocks +X-LP-Faint: rules! + +I can't feel the way I did before +Don't turn your back on me +I won't be ignored +Time won't heal this damage anymore +Don't turn your back on me +I won't be ignored +. +MAIL FROM:<polak@gnu.org> +RCPT TO:<gray@gnu.org> +DATA +From: <polak@gnu.org> +To: <gray@gnu.org> +Subject: Renegades of Funk + +No matter how hard you try, +you can't stop us now! +. +QUIT +]) + +AT_CHECK([ +anubis --norc --relax-perm-check --altrc etc/anubis.rc --stdio < input | tr -d '\r' +], +[0], +[220 localhost ([GNU Anubis v]AT_PACKAGE_VERSION) bitbucket ready +250 pleased to meet you +250 Sender OK +250 Recipient OK +354 Enter mail, end with "." on a line by itself +250 Mail accepted for delivery +250 Sender OK +250 Recipient OK +354 Enter mail, end with "." on a line by itself +250 Mail accepted for delivery +221 Done +], +[ignore]) + +AT_CHECK([diff input etc/mta.log], +[1], +[[7d6 +< Subject: Hybrid Theory +9c8 +< X-Mailer: Fake MTA +--- +> Subject: Meteora +11c10 +< X-LP-InTheEnd: rocks +--- +> X-Old-Old-Mailer: Fake MTA +12a12 +> X-Old-LP-Faint: rules! +26c26 +< Subject: Renegades of Funk +--- +> Subject: [RATM & music] Renegades of Funk +]]) +AT_CLEANUP |