. 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
