1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tests/test_person_invitation_counter.sh Sat Oct 03 01:05:28 2015 +0200
1.3 @@ -0,0 +1,122 @@
1.4 +#!/bin/sh
1.5 +
1.6 +THIS_DIR=`dirname $0`
1.7 +
1.8 +TEMPLATES="$THIS_DIR/templates"
1.9 +PERSON_SCRIPT="$THIS_DIR/../imip_person.py"
1.10 +SHOWMAIL="$THIS_DIR/../tools/showmail.py"
1.11 +STORE=/tmp/store
1.12 +STATIC=/tmp/static
1.13 +PREFS=/tmp/prefs
1.14 +ARGS="-S $STORE -P $STATIC -p $PREFS -d"
1.15 +USER="mailto:vincent.vole@example.com"
1.16 +SENDER="mailto:paul.boddie@example.com"
1.17 +FBFILE="$STORE/$USER/freebusy"
1.18 +FBOFFERFILE="$STORE/$USER/freebusy-offers"
1.19 +FBSENDERFILE="$STORE/$SENDER/freebusy"
1.20 +FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER"
1.21 +FBSENDERREQUESTS="$STORE/$SENDER/requests"
1.22 +TAB=`printf '\t'`
1.23 +
1.24 +OUTGOING_SCRIPT="$THIS_DIR/../imip_person_outgoing.py"
1.25 +
1.26 +PYTHONPATH="$THIS_DIR/.."
1.27 +export PYTHONPATH
1.28 +
1.29 +ACCEPT_SCRIPT="$THIS_DIR/test_handle.py"
1.30 +ACCEPT_ARGS="accept $STORE"
1.31 +
1.32 +COUNTER_SCRIPT="$THIS_DIR/test_handle.py"
1.33 +COUNTER_ARGS="counter $STORE"
1.34 +
1.35 +DECLINE_SCRIPT="$THIS_DIR/test_handle.py"
1.36 +DECLINE_ARGS="decline $STORE"
1.37 +
1.38 +ERROR=err.tmp
1.39 +
1.40 +rm -r $STORE
1.41 +rm -r $STATIC
1.42 +rm -r $PREFS
1.43 +rm $ERROR
1.44 +rm out*.tmp
1.45 +
1.46 +mkdir -p "$PREFS/$USER"
1.47 +echo 'Europe/Oslo' > "$PREFS/$USER/TZID"
1.48 +echo 'share' > "$PREFS/$USER/freebusy_sharing"
1.49 +echo 'PT60S' > "$PREFS/$USER/freebusy_offers"
1.50 +
1.51 + "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/fb-request-person-all.txt" 2>> $ERROR \
1.52 +| "$SHOWMAIL" \
1.53 +> out0.tmp
1.54 +
1.55 + grep -q 'METHOD:REPLY' out0.tmp \
1.56 +&& ! grep -q '^FREEBUSY' out0.tmp \
1.57 +&& echo "Success" \
1.58 +|| echo "Failed"
1.59 +
1.60 +# Attempt to schedule an event.
1.61 +
1.62 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-person.txt" 2>> $ERROR
1.63 +
1.64 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \
1.65 +&& echo "Success" \
1.66 +|| echo "Failed"
1.67 +
1.68 +# Present the request to the recipient.
1.69 +
1.70 + "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-request-person.txt" 2>> $ERROR \
1.71 +| "$SHOWMAIL" \
1.72 +> out1.tmp
1.73 +
1.74 + ! grep -q 'METHOD:REPLY' out1.tmp \
1.75 +&& echo "Success" \
1.76 +|| echo "Failed"
1.77 +
1.78 + ! [ -e "$FBFILE" ] \
1.79 +|| ! grep -q "event6@example.com" "$FBFILE" \
1.80 +&& echo "Success" \
1.81 +|| echo "Failed"
1.82 +
1.83 + ! [ -e "$FBOTHERFILE" ] \
1.84 +|| ! grep -q "event6@example.com" "$FBOTHERFILE" \
1.85 +&& echo "Success" \
1.86 +|| echo "Failed"
1.87 +
1.88 +# Counter the invitation.
1.89 +
1.90 + "$COUNTER_SCRIPT" $COUNTER_ARGS "$USER" 20141126T170000 20141126T180000 "event6@example.com" 2>> $ERROR \
1.91 +| tee out2r.tmp \
1.92 +| "$SHOWMAIL" \
1.93 +> out2.tmp
1.94 +
1.95 +# Note that the invitation has only been prepared, not processed.
1.96 +
1.97 + ! [ -e "$FBFILE" ] \
1.98 +|| ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \
1.99 + && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBFILE" ) \
1.100 +&& echo "Success" \
1.101 +|| echo "Failed"
1.102 +
1.103 + grep -q 'METHOD:COUNTER' out2.tmp \
1.104 +&& grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T170000' out2.tmp \
1.105 +&& echo "Success" \
1.106 +|| echo "Failed"
1.107 +
1.108 + ! [ -e "$FBOFFERFILE" ] \
1.109 +|| ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOFFERFILE" \
1.110 +&& echo "Success" \
1.111 +|| echo "Failed"
1.112 +
1.113 +# Send the counter-proposal.
1.114 +
1.115 +"$OUTGOING_SCRIPT" $ARGS < out2r.tmp 2>> $ERROR
1.116 +
1.117 + ! [ -e "$FBFILE" ] \
1.118 +|| ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \
1.119 + && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBFILE" ) \
1.120 +&& echo "Success" \
1.121 +|| echo "Failed"
1.122 +
1.123 + grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOFFERFILE" \
1.124 +&& echo "Success" \
1.125 +|| echo "Failed"