diff options
Diffstat (limited to 'tests/cond.at')
-rw-r--r-- | tests/cond.at | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/cond.at b/tests/cond.at new file mode 100644 index 0000000..9ef3594 --- /dev/null +++ b/tests/cond.at @@ -0,0 +1,90 @@ +# 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([conditional statements]) +AT_KEYWORDS([cond]) + +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 +add header[[X-Processed-By]] "Anubis" + +if header[[Subject]] "Be like water" + add header[[X-Comment1]] "Rule1 OK" +fi + +if command[["mail from:"]] ".*<?.*@gnu\.org>?" + add header[[X-Comment2]] "Rule2 OK" +fi + +if header[["mail from" ]] ".*<?.*@fsf\.org>?" + add header[[X-Comment]] "False" +fi + +if command[["rcpt to:"]] ".*<?.*@fsf\.org>?" + add header[[X-Comment]] "False" +else + add header[[X-Comment3]] "Rule3 OK" +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: Be like water + +"Empty your mind, be formless. Shapeless, like water. +If you put water into a cup, it becomes the cup. +You put water into a bottle and it becomes the bottle. +You put it in a teapot it becomes the teapot. +Now, water can flow or it can crash. Be water my friend." + + -- Bruce Lee +. +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 +221 Done +], +[ignore]) +AT_CHECK([diff input etc/mta.log], +[1], +[7a8,11 +> X-Processed-By: Anubis +> X-Comment1: Rule1 OK +> X-Comment2: Rule2 OK +> X-Comment3: Rule3 OK +]) +AT_CLEANUP |