# $Id: 180-ezmlm-gate 624 2006-11-20 17:03:50Z bruce $

##############
# ezmlm-gate #
##############

prompt "ezmlm-gate:           "

${EZBIN}/ezmlm-sub "$DIR" "${SND}@${HOST}"

SENDER="not${SND}@not${HOST}"
{ ${ECHO} "X-num: gate1"; make_message; } \
| ${EZBIN}/ezmlm-gate "$DIR" . > "$ERR" 2>&1 \
|| fatal "failed to process message 1"
cat "$DIR"/mod/pending/* | ${GREP} "gate1" > /dev/null \
|| fatal "failed to queue message 1"
${GREP} "T${MOD}@${HOST}" "$QQENV" > /dev/null \
|| fatal "failed to deliver message 1 to moderator"

SENDER="${MAN}@${HOST}"
{ ${ECHO} "X-num: gate2"; make_message; } \
| ${EZBIN}/ezmlm-gate "$DIR" . > "$ERR" 2>&1 \
|| fatal "failed to process message 2"
cat "$DIR"/mod/pending/* | ${GREP} "gate2" > /dev/null \
&& fatal "mistakenly queued message 2"
${GREP} "T${SND}@${HOST}" "$QQENV" > /dev/null \
|| fatal "failed to deliver message 2 to list"

SENDER="${MOD}@${HOST}"
{ ${ECHO} "X-num: gate3"; make_message; } \
| ${EZBIN}/ezmlm-gate "$DIR" "$DIR" "$DIR"/mod > "$ERR" 2>&1 \
|| fatal "failed to process message 3"
cat "$DIR"/mod/pending/* | ${GREP} "gate3" > /dev/null \
&& fatal "mistakenly queued message 3"
${GREP} "T${SND}@${HOST}" "$QQENV" > /dev/null \
|| fatal "failed to deliver message 3 to list"

make_message | ${EZBIN}/ezmlm-gate "$DIR" /etc/"$DIR" > "$ERR" 2>&1 \
&& fatal "failed to reject bad command line 1"

${ECHO} "OK"
