1 #!/bin/sh 2 3 THIS_DIR=`dirname $0` 4 5 TEMPLATES="$THIS_DIR/templates" 6 RESOURCE_SCRIPT="$THIS_DIR/../imip_resource.py" 7 SHOWMAIL="$THIS_DIR/../tools/showmail.py" 8 STORE=/tmp/store 9 STATIC=/tmp/static 10 PREFS=/tmp/prefs 11 ARGS="-S $STORE -P $STATIC -p $PREFS -d" 12 USER="mailto:resource-room-sauna@example.com" 13 FBFILE="$STORE/$USER/freebusy" 14 FBOFFERFILE="$STORE/$USER/freebusy-offers" 15 TAB=`printf '\t'` 16 17 ERROR=err.tmp 18 19 rm -r $STORE 20 rm -r $STATIC 21 rm -r $PREFS 22 rm $ERROR 23 rm out*.tmp 24 25 mkdir -p "$PREFS/$USER" 26 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 27 echo 'share' > "$PREFS/$USER/freebusy_sharing" 28 echo '10,12,14,16,18:0,15,30,45' > "$PREFS/$USER/permitted_times" 29 echo '60' > "$PREFS/$USER/freebusy_offers" 30 31 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ 32 | "$SHOWMAIL" \ 33 > out0.tmp 34 35 grep -q 'METHOD:REPLY' out0.tmp \ 36 && ! grep -q '^FREEBUSY' out0.tmp \ 37 && echo "Success" \ 38 || echo "Failed" 39 40 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR \ 41 | "$SHOWMAIL" \ 42 > out1.tmp 43 44 grep -q 'METHOD:COUNTER' out1.tmp \ 45 && grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' out1.tmp \ 46 && echo "Success" \ 47 || echo "Failed" 48 49 ! [ -e "$FBFILE" ] \ 50 || ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \ 51 && echo "Success" \ 52 || echo "Failed" 53 54 grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 55 && echo "Success" \ 56 || echo "Failed" 57 58 # Attempt to schedule an event in the proposed period. 59 60 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \ 61 | "$SHOWMAIL" \ 62 > out2.tmp 63 64 grep -q 'METHOD:REPLY' out2.tmp \ 65 && grep -q 'ATTENDEE;PARTSTAT=DECLINED' out2.tmp \ 66 && echo "Success" \ 67 || echo "Failed" 68 69 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ 70 | "$SHOWMAIL" \ 71 > out3.tmp 72 73 grep -q 'METHOD:REPLY' out3.tmp \ 74 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out3.tmp \ 75 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out3.tmp \ 76 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out3.tmp \ 77 && echo "Success" \ 78 || echo "Failed" 79 80 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR \ 81 | "$SHOWMAIL" \ 82 > out4.tmp 83 84 grep -q 'METHOD:REPLY' out4.tmp \ 85 && grep -q 'ATTENDEE;PARTSTAT=ACCEPTED' out4.tmp \ 86 && echo "Success" \ 87 || echo "Failed" 88 89 grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ 90 && echo "Success" \ 91 || echo "Failed" 92 93 ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 94 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 95 && ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 96 && echo "Success" \ 97 || echo "Failed" 98 99 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \ 100 | "$SHOWMAIL" \ 101 > out6.tmp 102 103 grep -q 'METHOD:REPLY' out6.tmp \ 104 && grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T150000Z/20141126T154500Z' out6.tmp \ 105 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out6.tmp \ 106 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out6.tmp \ 107 && echo "Success" \ 108 || echo "Failed"