1 #!/bin/sh 2 3 . "`dirname \"$0\"`/common.sh" 4 5 USER="mailto:resource-room-sauna@example.com" 6 SENDER="mailto:paul.boddie@example.com" 7 RIVALSENDER="mailto:vincent.vole@example.com" 8 9 mkdir -p "$PREFS/$USER" 10 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 11 echo 'share' > "$PREFS/$USER/freebusy_sharing" 12 echo 'schedule_corrected_in_freebusy' > "$PREFS/$USER/scheduling_function" 13 echo '10,12,14,16,18:0,15,30,45' > "$PREFS/$USER/permitted_times" 14 echo 'PT60S' > "$PREFS/$USER/freebusy_offers" 15 16 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ 17 | "$SHOWMAIL" \ 18 > out0.tmp 19 20 grep -q 'METHOD:REPLY' out0.tmp \ 21 && ! grep -q '^FREEBUSY' out0.tmp \ 22 && echo "Success" \ 23 || echo "Failed" 24 25 # Attempt to schedule an event. 26 27 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR 28 29 "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 30 | tee out0f.tmp \ 31 | grep -q "^20141126T151000Z${TAB}20141126T154500Z" \ 32 && echo "Success" \ 33 || echo "Failed" 34 35 # Present the request to the resource. 36 37 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR \ 38 | "$SHOWMAIL" \ 39 > out1.tmp 40 41 grep -q 'METHOD:COUNTER' out1.tmp \ 42 && grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' out1.tmp \ 43 && echo "Success" \ 44 || echo "Failed" 45 46 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 47 > out1f.tmp 48 49 ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out1f.tmp" \ 50 && echo "Success" \ 51 || echo "Failed" 52 53 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 54 | tee out1o.tmp \ 55 | grep -q "^20141126T151500Z${TAB}20141126T154500Z" \ 56 && echo "Success" \ 57 || echo "Failed" 58 59 # Present the response to the organiser. 60 61 "$PERSON_SCRIPT" $ARGS < out1.tmp 2>> $ERROR \ 62 | tee out2r.tmp \ 63 | "$SHOWMAIL" \ 64 > out2.tmp 65 66 "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \ 67 > out2f.tmp 68 69 ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out2f.tmp" \ 70 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out2f.tmp" \ 71 && echo "Success" \ 72 || echo "Failed" 73 74 "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "object" "event13@example.com" \ 75 | tee out2O.tmp \ 76 | grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161000' \ 77 && echo "Success" \ 78 || echo "Failed" 79 80 "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "countered_object" "event13@example.com" "$USER" \ 81 | tee out2C.tmp \ 82 | grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' \ 83 && echo "Success" \ 84 || echo "Failed" 85 86 "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 87 | tee out2R.tmp \ 88 | grep -q 'event13@example.com' \ 89 && echo "Success" \ 90 || echo "Failed" 91 92 # Decline the counter-proposal. 93 94 sed 's/COUNTER/DECLINECOUNTER/' < out1.tmp \ 95 | sed 's/^From: calendar/To: resource-room-sauna/' \ 96 | sed 's/^To: paul.boddie/From: paul.boddie/' \ 97 > out3.tmp 98 99 "$OUTGOING_SCRIPT" $ARGS < out3.tmp 2>> $ERROR 100 101 "$RESOURCE_SCRIPT" $ARGS < out3.tmp 2>> $ERROR \ 102 | "$SHOWMAIL" \ 103 > out4.tmp 104 105 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 106 > out4f.tmp 107 108 ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out4f.tmp" \ 109 && echo "Success" \ 110 || echo "Failed" 111 112 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 113 > out4o.tmp 114 115 ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out4o.tmp" \ 116 && echo "Success" \ 117 || echo "Failed" 118 119 # Attempt to schedule an event in the proposed period. 120 121 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR 122 123 "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 124 > out4r.tmp 125 126 ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out4r.tmp" \ 127 && grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out4r.tmp" \ 128 && echo "Success" \ 129 || echo "Failed" 130 131 # Present the request to the resource. 132 133 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \ 134 | "$SHOWMAIL" \ 135 > out5.tmp 136 137 grep -q 'METHOD:REPLY' out5.tmp \ 138 && grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out5.tmp \ 139 && echo "Success" \ 140 || echo "Failed" 141 142 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 143 | tee out5f.tmp \ 144 | grep -q "^20141126T153000Z${TAB}20141126T154500Z" \ 145 && echo "Success" \ 146 || echo "Failed" 147 148 "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 149 > out5o.tmp 150 151 ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out5o.tmp" \ 152 && echo "Success" \ 153 || echo "Failed" 154 155 # Present the response to the organiser. 156 157 "$PERSON_SCRIPT" $ARGS < out5.tmp 2>> $ERROR \ 158 | "$SHOWMAIL" \ 159 > out6.tmp 160 161 "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 162 > out6r.tmp 163 164 ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out6r.tmp" \ 165 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out6r.tmp" \ 166 && grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out6r.tmp" \ 167 && echo "Success" \ 168 || echo "Failed" 169 170 "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "object" "event18@example.com" \ 171 | tee out6O.tmp \ 172 | grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' \ 173 && echo "Success" \ 174 || echo "Failed" 175 176 # Check the free/busy state of the resource so far. 177 178 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ 179 | "$SHOWMAIL" \ 180 > out7.tmp 181 182 grep -q 'METHOD:REPLY' out7.tmp \ 183 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out7.tmp \ 184 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out7.tmp \ 185 && grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out7.tmp \ 186 && echo "Success" \ 187 || echo "Failed"