imip-agent

tests/test_resource_invitation_constraints.sh

1272:65e999dd88f0
2017-09-18 Paul Boddie Added a convenience method for loading objects. Added docstrings. client-editing-simplification
     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 | tee out1r.tmp \    39 | "$SHOWMAIL" \    40 > out1.tmp    41     42    grep -q 'METHOD:COUNTER' out1.tmp \    43 && grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' out1.tmp \    44 && echo "Success" \    45 || echo "Failed"    46     47    "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \    48 >  out1f.tmp    49     50    ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out1f.tmp" \    51 && echo "Success" \    52 || echo "Failed"    53     54    "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \    55 |  tee out1o.tmp \    56 |  grep -q "^20141126T151500Z${TAB}20141126T154500Z" \    57 && echo "Success" \    58 || echo "Failed"    59     60 # Present the response to the organiser.    61     62   "$PERSON_SCRIPT" $ARGS < out1r.tmp 2>> $ERROR \    63 | tee out2r.tmp \    64 | "$SHOWMAIL" \    65 > out2.tmp    66     67    "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \    68 >  out2f.tmp    69     70    ! grep -q "^20141126T151000Z${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 # Attempt to schedule an event in the proposed period.    93     94 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR    95     96    "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \    97 >  out2R.tmp    98     99    ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out2R.tmp" \   100 && grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out2R.tmp" \   101 && echo "Success" \   102 || echo "Failed"   103    104 # Present the request to the resource.   105    106   "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR \   107 | tee out3r.tmp \   108 | "$SHOWMAIL" \   109 > out3.tmp   110    111    grep -q 'METHOD:REPLY' out3.tmp \   112 && grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' out3.tmp \   113 && echo "Success" \   114 || echo "Failed"   115    116 # Present the response to the organiser.   117    118   "$PERSON_SCRIPT" $ARGS < out3r.tmp 2>> $ERROR \   119 | tee out4r.tmp \   120 | "$SHOWMAIL" \   121 > out4.tmp   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    "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "object" "event18@example.com" \   132 |  tee out4O.tmp \   133 |  grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' \   134 && echo "Success" \   135 || echo "Failed"   136    137 # Check the free/busy state of the resource so far.   138    139   "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \   140 | "$SHOWMAIL" \   141 > out5.tmp   142    143    grep -q 'METHOD:REPLY' out5.tmp \   144 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out5.tmp \   145 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out5.tmp \   146 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out5.tmp \   147 && echo "Success" \   148 || echo "Failed"   149    150 # Attempt to schedule again in response to the counter-proposal.   151    152 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR   153    154    "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \   155 >  out5f.tmp   156    157    ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out5f.tmp" \   158 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out5f.tmp" \   159 && ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out5f.tmp" \   160 && echo "Success" \   161 || echo "Failed"   162    163    [ ! -e "$STORE/$SENDER/counters/objects/event13@example.com/$USER" ] \   164 && echo "Success" \   165 || echo "Failed"   166    167    "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \   168 >  out5r.tmp   169    170    ! grep -q 'event13@example.com' "out5r.tmp" \   171 && echo "Success" \   172 || echo "Failed"   173    174 # Present the request to the resource.   175    176   "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR \   177 | "$SHOWMAIL" \   178 > out6.tmp   179    180    grep -q 'METHOD:REPLY' out6.tmp \   181 && grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out6.tmp \   182 && echo "Success" \   183 || echo "Failed"   184    185    "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \   186 |  tee out6f.tmp \   187 |  grep -q "^20141126T150000Z${TAB}20141126T154500Z" \   188 && echo "Success" \   189 || echo "Failed"   190    191    "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \   192 >  out6o.tmp   193    194    ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out6o.tmp" \   195 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out6o.tmp" \   196 && ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out6o.tmp" \   197 && echo "Success" \   198 || echo "Failed"   199    200 # Present the response to the organiser.   201    202   "$PERSON_SCRIPT" $ARGS < out6.tmp 2>> $ERROR \   203 | tee out7r.tmp \   204 | "$SHOWMAIL" \   205 > out7.tmp   206    207    "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \   208 >  out7f.tmp   209    210    grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out7f.tmp" \   211 && ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out7f.tmp" \   212 && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out7f.tmp" \   213 && ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out7f.tmp" \   214 && echo "Success" \   215 || echo "Failed"   216    217    [ ! -e "$STORE/$SENDER/counters/objects/event13@example.com/$USER" ] \   218 && echo "Success" \   219 || echo "Failed"   220    221    "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \   222 >  out7r.tmp   223    224    ! grep -q 'event13@example.com' "out7r.tmp" \   225 && echo "Success" \   226 || echo "Failed"   227    228 # Check the free/busy state of the resource again.   229    230   "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-sauna-all.txt" 2>> $ERROR \   231 | "$SHOWMAIL" \   232 > out6.tmp   233    234    grep -q 'METHOD:REPLY' out6.tmp \   235 && grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T150000Z/20141126T154500Z' out6.tmp \   236 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151000Z/20141126T154500Z' out6.tmp \   237 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T151500Z/20141126T154500Z' out6.tmp \   238 && ! grep -q 'FREEBUSY;FBTYPE=BUSY:20141126T153000Z/20141126T154500Z' out6.tmp \   239 && echo "Success" \   240 || echo "Failed"