# $Id: 165-ezmlm-request 390 2005-09-01 21:37:08Z bruce $

#################
# ezmlm-request #
#################

  prompt "ezmlm-request:        "

  SENDER="${SND}@$HOST"
  LOCAL="$LOC-request"
  DEFAULT='request'

  ${ECHO} "X-num: req1" > "$TMP"
# use a non-existing command
  ${ECHO} "Subject: qqqq ${SND}@$HOST" >> "$TMP"
  ${EZBIN}/ezmlm-request "$DIR" < "$TMP" > "$ERR" 2>&1
  if [ "$?" != "99" ]; then
	fatal "qqqq command in subject failed to exit 99"
  fi

  ${GREP} T"$LOC-qqqq-$SND=${HOST}@$HOST" "$QQENV" >/dev/null || \
	fatal "'qqqq' subject query rewriting failed"

  ${ECHO} "X-num: req1" > "$TMP"
# test full ezmlm cmd in subject and command substitution
  ${ECHO} "Subject: ${LOC}-remove-${SND}=${HOST}@${HOST}" >> "$TMP"
  ${EZBIN}/ezmlm-request "$DIR" < "$TMP" > "$ERR" 2>&1
  if [ "$?" != "99" ]; then
	fatal "full ezmlm command in subject failed to exit 99"
  fi

  ${GREP} T"$LOC-unsubscribe-$SND=${HOST}@$HOST" "$QQENV" >/dev/null || \
	fatal "ezmlm 'remove' subject query rewriting failed"

  ${ECHO} "X-num: req1" > "$TMP"
  ${ECHO} "Subject: subscribe ${LOC}@${HOST} ${SND}@${HOST}" >> "$TMP"
  ${EZBIN}/ezmlm-request "$DIR" < "$TMP" > "$ERR" 2>&1
  if [ "$?" != "99" ]; then
	fatal "other command in subject failed to exit 99"
  fi

  ${GREP} T"$LOC-subscribe-$SND=${HOST}@$HOST" "$QQENV" >/dev/null || \
	fatal "ezmlm 'subscribe' subject query rewriting failed"

  ${ECHO} "X-num: req1" > "$TMP"
  ${ECHO} "Subject: subscribe" >> "$TMP"
  ${ECHO} "	${LOC}@${HOST} ${SND}@${HOST}" >> "$TMP"
  ${EZBIN}/ezmlm-request "$DIR" < "$TMP" > "$ERR" 2>&1
  if [ "$?" != "99" ]; then
	fatal "multi-line other command in subject failed to exit 99"
  fi

  ${GREP} T"$LOC-subscribe-$SND=${HOST}@$HOST" "$QQENV" >/dev/null || \
	fatal "ezmlm multi-line 'subscribe' subject query rewriting failed"

  ${ECHO} "OK"
