1.1 --- a/tests/test_resource_invitation_constraints.sh Sun Sep 13 20:02:49 2015 +0200
1.2 +++ b/tests/test_resource_invitation_constraints.sh Mon Sep 14 19:03:13 2015 +0200
1.3 @@ -3,6 +3,7 @@
1.4 THIS_DIR=`dirname $0`
1.5
1.6 TEMPLATES="$THIS_DIR/templates"
1.7 +PERSON_SCRIPT="$THIS_DIR/../imip_person.py"
1.8 RESOURCE_SCRIPT="$THIS_DIR/../imip_resource.py"
1.9 SHOWMAIL="$THIS_DIR/../tools/showmail.py"
1.10 STORE=/tmp/store
1.11 @@ -10,10 +11,17 @@
1.12 PREFS=/tmp/prefs
1.13 ARGS="-S $STORE -P $STATIC -p $PREFS -d"
1.14 USER="mailto:resource-room-sauna@example.com"
1.15 +SENDER="mailto:paul.boddie@example.com"
1.16 +RIVALSENDER="mailto:vincent.vole@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 +FBRIVALSENDERFILE="$STORE/$RIVALSENDER/freebusy"
1.22 TAB=`printf '\t'`
1.23
1.24 +OUTGOING_SCRIPT="$THIS_DIR/../imip_person_outgoing.py"
1.25 +
1.26 ERROR=err.tmp
1.27
1.28 rm -r $STORE
1.29 @@ -37,6 +45,16 @@
1.30 && echo "Success" \
1.31 || echo "Failed"
1.32
1.33 +# Attempt to schedule an event.
1.34 +
1.35 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR
1.36 +
1.37 + grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.38 +&& echo "Success" \
1.39 +|| echo "Failed"
1.40 +
1.41 +# Present the request to the resource.
1.42 +
1.43 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR \
1.44 | "$SHOWMAIL" \
1.45 > out1.tmp
1.46 @@ -55,34 +73,88 @@
1.47 && echo "Success" \
1.48 || echo "Failed"
1.49
1.50 -# Attempt to schedule an event in the proposed period.
1.51 +# Present the response to the organiser.
1.52
1.53 - "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \
1.54 + "$PERSON_SCRIPT" $ARGS < out1.tmp 2>> $ERROR \
1.55 +| tee out2r.tmp \
1.56 | "$SHOWMAIL" \
1.57 > out2.tmp
1.58
1.59 - grep -q 'METHOD:REPLY' out2.tmp \
1.60 -&& grep -q 'ATTENDEE;PARTSTAT=DECLINED' out2.tmp \
1.61 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE" \
1.62 +&& echo "Success" \
1.63 +|| echo "Failed"
1.64 +
1.65 + grep -q 'ATTENDEE;PARTSTAT=DECLINED' "$STORE/$SENDER/objects/event13@example.com" \
1.66 && echo "Success" \
1.67 || echo "Failed"
1.68
1.69 - "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \
1.70 +# Attempt to schedule an event in the proposed period.
1.71 +
1.72 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR
1.73 +
1.74 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
1.75 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
1.76 +&& echo "Success" \
1.77 +|| echo "Failed"
1.78 +
1.79 +# Present the request to the resource.
1.80 +
1.81 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \
1.82 | "$SHOWMAIL" \
1.83 > out3.tmp
1.84
1.85 grep -q 'METHOD:REPLY' out3.tmp \
1.86 -&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out3.tmp \
1.87 -&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out3.tmp \
1.88 -&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out3.tmp \
1.89 +&& grep -q 'ATTENDEE;PARTSTAT=DECLINED' out3.tmp \
1.90 +&& echo "Success" \
1.91 +|| echo "Failed"
1.92 +
1.93 +# Present the response to the organiser.
1.94 +
1.95 + "$PERSON_SCRIPT" $ARGS < out3.tmp 2>> $ERROR \
1.96 +| tee out4r.tmp \
1.97 +| "$SHOWMAIL" \
1.98 +> out4.tmp
1.99 +
1.100 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
1.101 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
1.102 +&& echo "Success" \
1.103 +|| echo "Failed"
1.104 +
1.105 + grep -q 'ATTENDEE;PARTSTAT=DECLINED' "$STORE/$RIVALSENDER/objects/event18@example.com" \
1.106 && echo "Success" \
1.107 || echo "Failed"
1.108
1.109 +# Check the free/busy state of the resource so far.
1.110 +
1.111 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \
1.112 +| "$SHOWMAIL" \
1.113 +> out5.tmp
1.114 +
1.115 + grep -q 'METHOD:REPLY' out5.tmp \
1.116 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out5.tmp \
1.117 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out5.tmp \
1.118 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out5.tmp \
1.119 +&& echo "Success" \
1.120 +|| echo "Failed"
1.121 +
1.122 +# Attempt to schedule again in response to the counter-proposal.
1.123 +
1.124 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR
1.125 +
1.126 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.127 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.128 +&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.129 +&& echo "Success" \
1.130 +|| echo "Failed"
1.131 +
1.132 +# Present the request to the resource.
1.133 +
1.134 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR \
1.135 | "$SHOWMAIL" \
1.136 -> out4.tmp
1.137 +> out6.tmp
1.138
1.139 - grep -q 'METHOD:REPLY' out4.tmp \
1.140 -&& grep -q 'ATTENDEE;PARTSTAT=ACCEPTED' out4.tmp \
1.141 + grep -q 'METHOD:REPLY' out6.tmp \
1.142 +&& grep -q 'ATTENDEE;PARTSTAT=ACCEPTED' out6.tmp \
1.143 && echo "Success" \
1.144 || echo "Failed"
1.145
1.146 @@ -96,12 +168,29 @@
1.147 && echo "Success" \
1.148 || echo "Failed"
1.149
1.150 +# Present the response to the organiser.
1.151 +
1.152 + "$PERSON_SCRIPT" $ARGS < out6.tmp 2>> $ERROR \
1.153 +| tee out7r.tmp \
1.154 +| "$SHOWMAIL" \
1.155 +> out7.tmp
1.156 +
1.157 + grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.158 +&& ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.159 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.160 +&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
1.161 +&& echo "Success" \
1.162 +|| echo "Failed"
1.163 +
1.164 +# Check the free/busy state of the resource again.
1.165 +
1.166 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \
1.167 | "$SHOWMAIL" \
1.168 > out6.tmp
1.169
1.170 grep -q 'METHOD:REPLY' out6.tmp \
1.171 && grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T150000Z/20141126T154500Z' out6.tmp \
1.172 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out6.tmp \
1.173 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out6.tmp \
1.174 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out6.tmp \
1.175 && echo "Success" \