imip-agent

tests/test_person_invitation_refresh.sh

1031:fc1efc973849
2016-01-31 Paul Boddie Introduced the access control list scheduling function plus argument support. Moved scheduling function lookup into the scheduling module as part of the revised function invocation parsing activity, employing a new text processing module in imiptools. Added tests of the access control list functionality.
     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 FBOTHERFILE="$STORE/$USER/freebusy-other/$SENDER"     9 FBSENDERFILE="$STORE/$SENDER/freebusy"    10     11 mkdir -p "$PREFS/$USER"    12 echo 'Europe/Oslo' > "$PREFS/$USER/TZID"    13 echo 'share' > "$PREFS/$USER/freebusy_sharing"    14 echo 'add' > "$PREFS/$USER/add_method_response"    15     16 mkdir -p "$PREFS/$SENDER"    17 echo 'Europe/Oslo' > "$PREFS/$USER/TZID"    18 echo 'always' > "$PREFS/$SENDER/event_refreshing"    19     20 # Publish an event, testing registration in the outgoing handler.    21     22 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-person-recurring.txt" 2>> $ERROR    23     24    grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBSENDERFILE" \    25 && echo "Success" \    26 || echo "Failed"    27     28 # Test a request from an attendee for the event details to be refreshed.    29     30   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-refresh-person-recurring.txt" 2>> $ERROR \    31 | "$SHOWMAIL" \    32 > out2.tmp    33     34    grep -q 'METHOD:REQUEST' out2.tmp \    35 && echo "Success" \    36 || echo "Failed"    37     38 # Present the result to the recipient.    39     40   "$PERSON_SCRIPT" $ARGS < out2.tmp 2>> $ERROR \    41 | "$SHOWMAIL" \    42 > out3.tmp    43     44    ! grep -q 'METHOD:REPLY' out3.tmp \    45 && echo "Success" \    46 || echo "Failed"    47     48    ! [ -e "$FBFILE" ] \    49 || ! grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBFILE" \    50 && echo "Success" \    51 || echo "Failed"    52     53    grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBOTHERFILE" \    54 && echo "Success" \    55 || echo "Failed"    56     57 # Test acceptance and registration in the outgoing handler.    58     59   "$ACCEPT_SCRIPT" $ACCEPT_ARGS "$USER" "event8@example.com" 2>> $ERROR \    60 | tee out4.tmp \    61 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR    62     63    grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBFILE" \    64 && echo "Success" \    65 || echo "Failed"    66     67 # Test a request from a non-attendee for the event details to be refreshed.    68     69   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-refresh-person-recurring-non-attendee.txt" 2>> $ERROR \    70 | "$SHOWMAIL" \    71 > out5.tmp    72     73    ! grep -q 'METHOD:REQUEST' out5.tmp \    74 && echo "Success" \    75 || echo "Failed"    76     77 # Test rescheduling in the outgoing handler.    78     79 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-person-recurring-reschedule-instance.txt" 2>> $ERROR    80     81    grep -q "^20141011T080000Z${TAB}20141011T090000Z" "$FBSENDERFILE" \    82 && ! grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBSENDERFILE" \    83 && echo "Success" \    84 || echo "Failed"    85     86 # Test another request from an attendee for the event details to be refreshed.    87     88   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-refresh-person-recurring.txt" 2>> $ERROR \    89 | tee out6r.tmp \    90 | "$SHOWMAIL" \    91 > out6.tmp    92     93    grep -q 'METHOD:REQUEST' out6.tmp \    94 && grep -q 'RECURRENCE-ID' out6.tmp \    95 && [ `grep 'BEGIN:VEVENT' out6.tmp | wc -l` = '2' ] \    96 && echo "Success" \    97 || echo "Failed"    98     99 # Process the resulting message.   100    101   "$PERSON_SCRIPT" $ARGS < out6r.tmp 2>> $ERROR \   102 | "$SHOWMAIL" \   103 > out6a.tmp   104    105    [ -e "$STORE/$USER/objects/event8@example.com" ] \   106 && [ -e "$STORE/$USER/recurrences/event8@example.com/20141010T080000Z" ] \   107 && echo "Success" \   108 || echo "Failed"   109    110 # Cancel a recurrence. Both the original and rescheduled recurrences should be   111 # absent from the free/busy collection.   112    113 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-cancel-person-recurring-rescheduled-instance.txt" 2>> $ERROR   114    115    [ -e "$STORE/$SENDER/objects/event8@example.com" ] \   116 && ! [ -e "$STORE/$SENDER/recurrences/event8@example.com/20141010T080000Z" ] \   117 && [ -e "$STORE/$SENDER/cancellations/recurrences/event8@example.com/20141010T080000Z" ] \   118 && echo "Success" \   119 || echo "Failed"   120    121    ! grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBSENDERFILE" \   122 && ! grep -q "^20141011T080000Z${TAB}20141011T090000Z" "$FBSENDERFILE" \   123 && echo "Success" \   124 || echo "Failed"   125    126 # Test another request from an attendee for the event details to be refreshed.   127 # The additional recurrence should now be absent.   128    129   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-refresh-person-recurring.txt" 2>> $ERROR \   130 | tee out7r.tmp \   131 | "$SHOWMAIL" \   132 > out7.tmp   133    134    grep -q 'METHOD:REQUEST' out7.tmp \   135 && grep -q 'METHOD:CANCEL' out7.tmp \   136 && [ `grep 'BEGIN:VEVENT' out7.tmp | wc -l` = '2' ] \   137 && echo "Success" \   138 || echo "Failed"   139    140 # Process the resulting message.   141    142   "$PERSON_SCRIPT" $ARGS < out7r.tmp 2>> $ERROR \   143 | "$SHOWMAIL" \   144 > out7a.tmp   145    146    [ -e "$STORE/$USER/objects/event8@example.com" ] \   147 && ! [ -e "$STORE/$USER/recurrences/event8@example.com/20141010T080000Z" ] \   148 && [ -e "$STORE/$USER/cancellations/recurrences/event8@example.com/20141010T080000Z" ] \   149 && echo "Success" \   150 || echo "Failed"   151    152 # Re-add the cancelled instance.   153    154 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-add-person-recurring-rescheduled-instance.txt" 2>> $ERROR   155    156    grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBSENDERFILE" \   157 && ! grep -q "^20141011T080000Z${TAB}20141011T090000Z" "$FBSENDERFILE" \   158 && echo "Success" \   159 || echo "Failed"   160    161   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-add-person-recurring-rescheduled-instance.txt" 2>> $ERROR \   162 | "$SHOWMAIL" \   163 > out8.tmp   164    165    [ -e "$STORE/$USER/objects/event8@example.com" ] \   166 && [ -e "$STORE/$USER/recurrences/event8@example.com/20141010T080000Z" ] \   167 && ! [ -e "$STORE/$USER/cancellations/recurrences/event8@example.com/20141010T080000Z" ] \   168 && echo "Success" \   169 || echo "Failed"   170    171    ! grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBFILE" \   172 && echo "Success" \   173 || echo "Failed"   174    175    grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBOTHERFILE" \   176 && echo "Success" \   177 || echo "Failed"   178    179 # Test acceptance and registration in the outgoing handler.   180    181   "$ACCEPT_SCRIPT" $ACCEPT_ARGS "$USER" "event8@example.com" "20141010T080000Z" 2>> $ERROR \   182 | tee out9.tmp \   183 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR   184    185    grep -q "^20141010T080000Z${TAB}20141010T090000Z" "$FBFILE" \   186 && echo "Success" \   187 || echo "Failed"   188    189 # Test yet another request from an attendee for the event details to be refreshed.   190    191   "$PERSON_SCRIPT" $ARGS < "$TEMPLATES/event-refresh-person-recurring.txt" 2>> $ERROR \   192 | tee out10r.tmp \   193 | "$SHOWMAIL" \   194 > out10.tmp   195    196    grep -q 'METHOD:REQUEST' out10.tmp \   197 && grep -q 'RECURRENCE-ID' out10.tmp \   198 && [ `grep 'BEGIN:VEVENT' out10.tmp | wc -l` = '2' ] \   199 && echo "Success" \   200 || echo "Failed"   201    202 # Process the resulting message.   203    204   "$PERSON_SCRIPT" $ARGS < out10r.tmp 2>> $ERROR \   205 | "$SHOWMAIL" \   206 > out11.tmp   207    208    [ -e "$STORE/$USER/objects/event8@example.com" ] \   209 && [ -e "$STORE/$USER/recurrences/event8@example.com/20141010T080000Z" ] \   210 && echo "Success" \   211 || echo "Failed"