paul@1028 | 1 | #!/bin/sh |
paul@1028 | 2 | |
paul@1028 | 3 | . "`dirname \"$0\"`/common.sh" |
paul@1028 | 4 | |
paul@1028 | 5 | USER="mailto:resource-room-sauna@example.com" |
paul@1028 | 6 | SENDER="mailto:paul.boddie@example.net" |
paul@1028 | 7 | FBFILE="$STORE/$USER/freebusy" |
paul@1028 | 8 | FBOFFERFILE="$STORE/$USER/freebusy-offers" |
paul@1028 | 9 | FBSENDERFILE="$STORE/$SENDER/freebusy" |
paul@1028 | 10 | FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER" |
paul@1028 | 11 | FBSENDERREQUESTS="$STORE/$SENDER/requests" |
paul@1028 | 12 | |
paul@1028 | 13 | mkdir -p "$PREFS/$USER" |
paul@1028 | 14 | echo 'Europe/Oslo' > "$PREFS/$USER/TZID" |
paul@1028 | 15 | echo 'share' > "$PREFS/$USER/freebusy_sharing" |
paul@1028 | 16 | cat > "$PREFS/$USER/scheduling_function" <<EOF |
paul@1028 | 17 | schedule_in_freebusy |
paul@1028 | 18 | same_domain_only |
paul@1028 | 19 | EOF |
paul@1028 | 20 | echo '10,12,14,16,18:0,15,30,45' > "$PREFS/$USER/permitted_times" |
paul@1028 | 21 | echo 'PT60S' > "$PREFS/$USER/freebusy_offers" |
paul@1028 | 22 | |
paul@1028 | 23 | "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ |
paul@1028 | 24 | | "$SHOWMAIL" \ |
paul@1028 | 25 | > out0.tmp |
paul@1028 | 26 | |
paul@1028 | 27 | grep -q 'METHOD:REPLY' out0.tmp \ |
paul@1028 | 28 | && ! grep -q '^FREEBUSY' out0.tmp \ |
paul@1028 | 29 | && echo "Success" \ |
paul@1028 | 30 | || echo "Failed" |
paul@1028 | 31 | |
paul@1028 | 32 | # Attempt to schedule an event. |
paul@1028 | 33 | |
paul@1028 | 34 | "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-outsider.txt" 2>> $ERROR |
paul@1028 | 35 | |
paul@1028 | 36 | grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ |
paul@1028 | 37 | && echo "Success" \ |
paul@1028 | 38 | || echo "Failed" |
paul@1028 | 39 | |
paul@1028 | 40 | # Present the request to the resource. |
paul@1028 | 41 | |
paul@1028 | 42 | "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-outsider.txt" 2>> $ERROR \ |
paul@1028 | 43 | | tee out1r.tmp \ |
paul@1028 | 44 | | "$SHOWMAIL" \ |
paul@1028 | 45 | > out1.tmp |
paul@1028 | 46 | |
paul@1028 | 47 | grep -q 'METHOD:REPLY' out1.tmp \ |
paul@1028 | 48 | && grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' out1.tmp \ |
paul@1028 | 49 | && echo "Success" \ |
paul@1028 | 50 | || echo "Failed" |
paul@1028 | 51 | |
paul@1028 | 52 | ! [ -e "$FBFILE" ] \ |
paul@1028 | 53 | || ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ |
paul@1028 | 54 | && echo "Success" \ |
paul@1028 | 55 | || echo "Failed" |
paul@1028 | 56 | |
paul@1028 | 57 | # Relax the scheduling function. |
paul@1028 | 58 | |
paul@1028 | 59 | cat > "$PREFS/$USER/scheduling_function" <<EOF |
paul@1028 | 60 | schedule_in_freebusy |
paul@1028 | 61 | EOF |
paul@1028 | 62 | |
paul@1028 | 63 | # Present the request to the resource. |
paul@1028 | 64 | |
paul@1028 | 65 | "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-outsider.txt" 2>> $ERROR \ |
paul@1028 | 66 | | tee out2r.tmp \ |
paul@1028 | 67 | | "$SHOWMAIL" \ |
paul@1028 | 68 | > out2.tmp |
paul@1028 | 69 | |
paul@1028 | 70 | grep -q 'METHOD:REPLY' out2.tmp \ |
paul@1028 | 71 | && grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out2.tmp \ |
paul@1028 | 72 | && echo "Success" \ |
paul@1028 | 73 | || echo "Failed" |
paul@1028 | 74 | |
paul@1028 | 75 | [ -e "$FBFILE" ] \ |
paul@1028 | 76 | && grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ |
paul@1028 | 77 | && echo "Success" \ |
paul@1028 | 78 | || echo "Failed" |
paul@1028 | 79 | |
paul@1028 | 80 | # Check the free/busy state of the resource again. |
paul@1028 | 81 | |
paul@1028 | 82 | "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ |
paul@1028 | 83 | | "$SHOWMAIL" \ |
paul@1028 | 84 | > out3.tmp |
paul@1028 | 85 | |
paul@1028 | 86 | grep -q 'METHOD:REPLY' out3.tmp \ |
paul@1028 | 87 | && grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T150000Z/20141126T154500Z' out3.tmp \ |
paul@1028 | 88 | && echo "Success" \ |
paul@1028 | 89 | || echo "Failed" |