# $Id: 300-ezmlm-dispatch 546 2006-08-07 19:13:26Z bruce $

##################
# ezmlm-dispatch #
##################

testdispatch() {
  DEFAULT="$2"
  ${EZBIN}/ezmlm-dispatch "$DIR" $1 <"$QQMSG" 2>&1 \
  | grep "^$3$" >/dev/null \
  || fatal "did not dispatch DEFAULT='$2' from '$1' to '$3'"
}

prompt "ezmlm-dispatch:       "

for list in list1 list2; do
  ${MKDIR} "$DIR"/$list
  for cmd in editor owner bouncer confirmer moderator manager; do
    ${ECHO} "|${ECHO} $list $cmd" >"$DIR"/$list/$cmd
  done
done

testdispatch '' list1 'list1 editor'
testdispatch '' list1-owner 'list1 owner'
testdispatch '' list1-digest-owner 'list1 owner'
testdispatch '' list1-digest-return-xyzzy 'list1 bouncer'
testdispatch '' list1-return-xyzzy 'list1 bouncer'
testdispatch '' list1-confirm-xyzzy 'list1 confirmer'
testdispatch '' list1-discard-xyzzy 'list1 confirmer'
testdispatch '' list1-accept-xyzzy 'list1 moderator'
testdispatch '' list1-reject-xyzzy 'list1 moderator'
testdispatch '' list1-xyzzy 'list1 manager'

unset DEFAULT
${EZBIN}/ezmlm-dispatch "$DIR" list2 <"$QQMSG" 2>&1 | grep "^list2 editor$" >/dev/null \
|| fatal "did not dispatch from 'list2' to 'list2 editor'"
export DEFAULT

testdispatch list2 owner 'list2 owner'
testdispatch list2 digest-owner 'list2 owner'
testdispatch list2 digest-return-xyzzy 'list2 bouncer'
testdispatch list2 return-xyzzy 'list2 bouncer'
testdispatch list2 confirm-xyzzy 'list2 confirmer'
testdispatch list2 discard-xyzzy 'list2 confirmer'
testdispatch list2 accept-xyzzy 'list2 moderator'
testdispatch list2 reject-xyzzy 'list2 moderator'
testdispatch list2 xyzzy 'list2 manager'

${RM} -r "$DIR"/list1 "$DIR"/list2
${ECHO} "OK"
