1.1 --- a/tests/test_resource_invitation_constraints.sh Mon Sep 14 19:56:57 2015 +0200
1.2 +++ b/tests/test_resource_invitation_constraints.sh Mon Sep 14 19:58:51 2015 +0200
1.3 @@ -84,7 +84,7 @@
1.4 && echo "Success" \
1.5 || echo "Failed"
1.6
1.7 - grep -q 'ATTENDEE;PARTSTAT=DECLINED' "$STORE/$SENDER/objects/event13@example.com" \
1.8 + grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' "$STORE/$SENDER/objects/event13@example.com" \
1.9 && echo "Success" \
1.10 || echo "Failed"
1.11
1.12 @@ -104,7 +104,7 @@
1.13 > out3.tmp
1.14
1.15 grep -q 'METHOD:REPLY' out3.tmp \
1.16 -&& grep -q 'ATTENDEE;PARTSTAT=DECLINED' out3.tmp \
1.17 +&& grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' out3.tmp \
1.18 && echo "Success" \
1.19 || echo "Failed"
1.20
1.21 @@ -120,7 +120,7 @@
1.22 && echo "Success" \
1.23 || echo "Failed"
1.24
1.25 - grep -q 'ATTENDEE;PARTSTAT=DECLINED' "$STORE/$RIVALSENDER/objects/event18@example.com" \
1.26 + grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' "$STORE/$RIVALSENDER/objects/event18@example.com" \
1.27 && echo "Success" \
1.28 || echo "Failed"
1.29
1.30 @@ -154,7 +154,7 @@
1.31 > out6.tmp
1.32
1.33 grep -q 'METHOD:REPLY' out6.tmp \
1.34 -&& grep -q 'ATTENDEE;PARTSTAT=ACCEPTED' out6.tmp \
1.35 +&& grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out6.tmp \
1.36 && echo "Success" \
1.37 || echo "Failed"
1.38
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/tests/test_resource_invitation_constraints_alternative.sh Mon Sep 14 19:58:51 2015 +0200
2.3 @@ -0,0 +1,170 @@
2.4 +#!/bin/sh
2.5 +
2.6 +THIS_DIR=`dirname $0`
2.7 +
2.8 +TEMPLATES="$THIS_DIR/templates"
2.9 +PERSON_SCRIPT="$THIS_DIR/../imip_person.py"
2.10 +RESOURCE_SCRIPT="$THIS_DIR/../imip_resource.py"
2.11 +SHOWMAIL="$THIS_DIR/../tools/showmail.py"
2.12 +STORE=/tmp/store
2.13 +STATIC=/tmp/static
2.14 +PREFS=/tmp/prefs
2.15 +ARGS="-S $STORE -P $STATIC -p $PREFS -d"
2.16 +USER="mailto:resource-room-sauna@example.com"
2.17 +SENDER="mailto:paul.boddie@example.com"
2.18 +RIVALSENDER="mailto:vincent.vole@example.com"
2.19 +FBFILE="$STORE/$USER/freebusy"
2.20 +FBOFFERFILE="$STORE/$USER/freebusy-offers"
2.21 +FBSENDERFILE="$STORE/$SENDER/freebusy"
2.22 +FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER"
2.23 +FBRIVALSENDERFILE="$STORE/$RIVALSENDER/freebusy"
2.24 +TAB=`printf '\t'`
2.25 +
2.26 +OUTGOING_SCRIPT="$THIS_DIR/../imip_person_outgoing.py"
2.27 +
2.28 +ERROR=err.tmp
2.29 +
2.30 +rm -r $STORE
2.31 +rm -r $STATIC
2.32 +rm -r $PREFS
2.33 +rm $ERROR
2.34 +rm out*.tmp
2.35 +
2.36 +mkdir -p "$PREFS/$USER"
2.37 +echo 'Europe/Oslo' > "$PREFS/$USER/TZID"
2.38 +echo 'share' > "$PREFS/$USER/freebusy_sharing"
2.39 +echo '10,12,14,16,18:0,15,30,45' > "$PREFS/$USER/permitted_times"
2.40 +echo '60' > "$PREFS/$USER/freebusy_offers"
2.41 +
2.42 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \
2.43 +| "$SHOWMAIL" \
2.44 +> out0.tmp
2.45 +
2.46 + grep -q 'METHOD:REPLY' out0.tmp \
2.47 +&& ! grep -q '^FREEBUSY' out0.tmp \
2.48 +&& echo "Success" \
2.49 +|| echo "Failed"
2.50 +
2.51 +# Attempt to schedule an event.
2.52 +
2.53 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR
2.54 +
2.55 + grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \
2.56 +&& echo "Success" \
2.57 +|| echo "Failed"
2.58 +
2.59 +# Present the request to the resource.
2.60 +
2.61 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR \
2.62 +| "$SHOWMAIL" \
2.63 +> out1.tmp
2.64 +
2.65 + grep -q 'METHOD:COUNTER' out1.tmp \
2.66 +&& grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' out1.tmp \
2.67 +&& echo "Success" \
2.68 +|| echo "Failed"
2.69 +
2.70 + ! [ -e "$FBFILE" ] \
2.71 +|| ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \
2.72 +&& echo "Success" \
2.73 +|| echo "Failed"
2.74 +
2.75 + grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \
2.76 +&& echo "Success" \
2.77 +|| echo "Failed"
2.78 +
2.79 +# Present the response to the organiser.
2.80 +
2.81 + "$PERSON_SCRIPT" $ARGS < out1.tmp 2>> $ERROR \
2.82 +| tee out2r.tmp \
2.83 +| "$SHOWMAIL" \
2.84 +> out2.tmp
2.85 +
2.86 + [ ! -e "$FBSENDEROTHERFILE" ] \
2.87 +|| ( ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE" \
2.88 + && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE" ) \
2.89 +&& echo "Success" \
2.90 +|| echo "Failed"
2.91 +
2.92 + grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' "$STORE/$SENDER/objects/event13@example.com" \
2.93 +&& echo "Success" \
2.94 +|| echo "Failed"
2.95 +
2.96 +# Decline the counter-proposal.
2.97 +
2.98 + sed 's/COUNTER/DECLINECOUNTER/' < out1.tmp \
2.99 +| sed 's/^From: calendar/To: resource-room-sauna/' \
2.100 +| sed 's/^To: paul.boddie/From: paul.boddie/' \
2.101 +> out3.tmp
2.102 +
2.103 +"$OUTGOING_SCRIPT" $ARGS < out3.tmp 2>> $ERROR
2.104 +
2.105 + "$RESOURCE_SCRIPT" $ARGS < out3.tmp 2>> $ERROR \
2.106 +| "$SHOWMAIL" \
2.107 +> out4.tmp
2.108 +
2.109 + ! [ -e "$FBFILE" ] \
2.110 +|| ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \
2.111 +&& echo "Success" \
2.112 +|| echo "Failed"
2.113 +
2.114 + ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \
2.115 +&& echo "Success" \
2.116 +|| echo "Failed"
2.117 +
2.118 +# Attempt to schedule an event in the proposed period.
2.119 +
2.120 +"$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR
2.121 +
2.122 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
2.123 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
2.124 +&& echo "Success" \
2.125 +|| echo "Failed"
2.126 +
2.127 +# Present the request to the resource.
2.128 +
2.129 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \
2.130 +| "$SHOWMAIL" \
2.131 +> out5.tmp
2.132 +
2.133 + grep -q 'METHOD:REPLY' out5.tmp \
2.134 +&& grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out5.tmp \
2.135 +&& echo "Success" \
2.136 +|| echo "Failed"
2.137 +
2.138 + grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBFILE" \
2.139 +&& echo "Success" \
2.140 +|| echo "Failed"
2.141 +
2.142 + ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \
2.143 +&& echo "Success" \
2.144 +|| echo "Failed"
2.145 +
2.146 +# Present the response to the organiser.
2.147 +
2.148 + "$PERSON_SCRIPT" $ARGS < out5.tmp 2>> $ERROR \
2.149 +| "$SHOWMAIL" \
2.150 +> out6.tmp
2.151 +
2.152 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
2.153 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
2.154 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \
2.155 +&& echo "Success" \
2.156 +|| echo "Failed"
2.157 +
2.158 + grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' "$STORE/$RIVALSENDER/objects/event18@example.com" \
2.159 +&& echo "Success" \
2.160 +|| echo "Failed"
2.161 +
2.162 +# Check the free/busy state of the resource so far.
2.163 +
2.164 + "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \
2.165 +| "$SHOWMAIL" \
2.166 +> out7.tmp
2.167 +
2.168 + grep -q 'METHOD:REPLY' out7.tmp \
2.169 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out7.tmp \
2.170 +&& ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out7.tmp \
2.171 +&& grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out7.tmp \
2.172 +&& echo "Success" \
2.173 +|| echo "Failed"