imip-agent

tests/test_person_invitation_counter.sh

1028:7f4bd7d4236a
2016-01-29 Paul Boddie Added support for additional scheduling modules, moving the existing functionality into the freebusy module, providing initial functionality for an access-based module, and introducing a mechanism to update the registry of modules explicitly. Added a test of combining scheduling functions.
     1 #!/bin/sh     2      3 . "`dirname \"$0\"`/common.sh"     4      5 USER="mailto:vincent.vole@example.com"     6 SENDER="mailto:paul.boddie@example.com"     7 FBFILE="$STORE/$USER/freebusy"     8 FBOFFERFILE="$STORE/$USER/freebusy-offers"     9 FBSENDERFILE="$STORE/$SENDER/freebusy"    10 FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER"    11 FBSENDERREQUESTS="$STORE/$SENDER/requests"    12     13 mkdir -p "$PREFS/$USER"    14 echo 'Europe/Oslo' > "$PREFS/$USER/TZID"    15 echo 'share' > "$PREFS/$USER/freebusy_sharing"    16 echo 'PT60S' > "$PREFS/$USER/freebusy_offers"    17     18   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/fb-request-person-all.txt" 2>> $ERROR \    19 | "$SHOWMAIL" \    20 > out0.tmp    21     22    grep -q 'METHOD:REPLY' out0.tmp \    23 && ! grep -q '^FREEBUSY' out0.tmp \    24 && echo "Success" \    25 || echo "Failed"    26     27 # Attempt to schedule an event.    28     29 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-person.txt" 2>> $ERROR    30     31    grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \    32 && echo "Success" \    33 || echo "Failed"    34     35 # Present the request to the recipient.    36     37   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-request-person.txt" 2>> $ERROR \    38 | "$SHOWMAIL" \    39 > out1.tmp    40     41    ! grep -q 'METHOD:REPLY' out1.tmp \    42 && echo "Success" \    43 || echo "Failed"    44     45    ! [ -e "$FBFILE" ] \    46 || ! grep -q "event6@example.com" "$FBFILE" \    47 && echo "Success" \    48 || echo "Failed"    49     50    ! [ -e "$FBOTHERFILE" ] \    51 || ! grep -q "event6@example.com" "$FBOTHERFILE" \    52 && echo "Success" \    53 || echo "Failed"    54     55 # Counter the invitation.    56     57   "$COUNTER_SCRIPT" $COUNTER_ARGS "$USER" 20141126T170000 20141126T180000 "event6@example.com" 2>> $ERROR \    58 | tee out2r.tmp \    59 | "$SHOWMAIL" \    60 > out2.tmp    61     62 # Note that the invitation has only been prepared, not processed.    63     64    ! [ -e "$FBFILE" ] \    65 || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \    66   && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBFILE" ) \    67 && echo "Success" \    68 || echo "Failed"    69     70    grep -q 'METHOD:COUNTER' out2.tmp \    71 && grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T170000' out2.tmp \    72 && echo "Success" \    73 || echo "Failed"    74     75    ! [ -e "$FBOFFERFILE" ] \    76 || ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOFFERFILE" \    77 && echo "Success" \    78 || echo "Failed"    79     80 # Send the counter-proposal.    81     82 "$OUTGOING_SCRIPT" $ARGS < out2r.tmp 2>> $ERROR    83     84    ! [ -e "$FBFILE" ] \    85 || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \    86   && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBFILE" ) \    87 && echo "Success" \    88 || echo "Failed"    89     90    grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOFFERFILE" \    91 && echo "Success" \    92 || echo "Failed"    93     94 # Present the response to the organiser.    95     96   "$PERSON_SCRIPT" $ARGS < out2r.tmp 2>> $ERROR \    97 | tee out3r.tmp \    98 | "$SHOWMAIL" \    99 > out3.tmp   100    101    ! [ -e "$FBSENDEROTHERFILE" ] \   102 || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDEROTHERFILE" \   103   && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBSENDEROTHERFILE" ) \   104 && echo "Success" \   105 || echo "Failed"   106    107    grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T160000' "$STORE/$SENDER/objects/event6@example.com" \   108 && echo "Success" \   109 || echo "Failed"   110    111    grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T170000' "$STORE/$SENDER/counters/objects/event6@example.com/$USER" \   112 && echo "Success" \   113 || echo "Failed"   114    115    grep -q 'event6@example.com' "$FBSENDERREQUESTS" \   116 && echo "Success" \   117 || echo "Failed"   118    119 # Check the free/busy state of the recipient so far.   120    121   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/fb-request-person-all.txt" 2>> $ERROR \   122 | "$SHOWMAIL" \   123 > out4.tmp   124    125    grep -q 'METHOD:REPLY' out4.tmp \   126 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T150000Z/20141126T160000Z' out4.tmp \   127 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T160000Z/20141126T170000Z' out4.tmp \   128 && echo "Success" \   129 || echo "Failed"   130    131 # Decline the counter-proposal.   132    133   sed 's/COUNTER/DECLINECOUNTER/' < out2.tmp \   134 | sed 's/^From: calendar/To: vincent.vole/' \   135 | sed 's/^To: paul.boddie/From: paul.boddie/' \   136 > out5.tmp   137    138 "$OUTGOING_SCRIPT" $ARGS < out5.tmp 2>> $ERROR   139    140    ! [ -e "$STORE/$SENDER/counters/objects/event6@example.com/$USER" ] \   141 && echo "Success" \   142 || echo "Failed"   143    144    ! grep -q 'event6@example.com' "$FBSENDERREQUESTS" \   145 && echo "Success" \   146 || echo "Failed"   147    148   "$PERSON_SCRIPT" $ARGS < out5.tmp 2>> $ERROR \   149 | "$SHOWMAIL" \   150 > out6.tmp   151    152    ! [ -e "$FBFILE" ] \   153 || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \   154   && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBFILE" ) \   155 && echo "Success" \   156 || echo "Failed"   157    158    ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBOFFERFILE" \   159 && ! grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOFFERFILE" \   160 && echo "Success" \   161 || echo "Failed"