diff options
Diffstat (limited to 'test/tests/queue/rewrite')
-rw-r--r-- | test/tests/queue/rewrite | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/test/tests/queue/rewrite b/test/tests/queue/rewrite new file mode 100644 index 0000000..780aa3b --- /dev/null +++ b/test/tests/queue/rewrite @@ -0,0 +1,82 @@ +. functions + +que() { + set -e + ../src/nullmailer-queue && \ + cat $QUEUEDIR/queue/* && \ + rm -f $QUEUEDIR/queue/* +} +que-recip() { + set -e + que | sed -e '2,/^$/!d' | grep -q "$@" +} +que-sender() { + set -e + que | head -n 1 | grep -q "$@" +} + +echo admin@remote >$SYSCONFDIR/adminaddr + +echo "Checking that queue rewrites user@localhost to adminaddr." +que-recip '^admin@remote$' <<EOF +bruceg@qcc.sk.ca +user@localhost + +header + +data +EOF + +echo "Checking that queue rewrites user@hostname to adminaddr." +que-recip '^admin@remote$' <<EOF +bruceg@qcc.sk.ca +user@f.q.d.n + +header + +data +EOF + +echo "Checking that queue does not rewrite non-local users." +que-recip '^user@nowhere.org$' <<EOF +bruceg@qcc.sk.ca +user@nowhere.org + +header + +data +EOF + +echo admin1@remote1,admin2@remote2 >$SYSCONFDIR/adminaddr + +echo "Checking that queue rewrites to multiple adminaddr." +que-recip '^admin2@remote2$' <<EOF +bruceg@qcc.sk.ca +user@localhost + +header + +data +EOF + +echo "Checking that queue transmits the envelope sender normally." +que-sender '^bruceg@qcc.sk.ca$' <<EOF +bruceg@qcc.sk.ca +user@localhost + +header + +data +EOF + +echo "Checking that queue rewrites sender with allmailfrom." +echo sender@remote3 >$SYSCONFDIR/allmailfrom +que-sender '^sender@remote3$' <<EOF +bruceg@qcc.sk.ca +user@localhost + +header + +data +EOF +rm -f $SYSCONFDIR/allmailfrom |