16 ORGANIZER;CN=Strunk:mailto:strunk@example.org
17 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
18 ATTENDEE;CN=One:mailto:one@example.org
19 ATTENDEE;CN=Two:mailto:two@example.org
20 DTSTART:20140716T120000Z
21 DTEND:20140716T130000Z
34 ORGANIZER;CN=Strunk:mailto:strunk@example.org
35 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
36 ATTENDEE;CN=Two:mailto:two@example.org
37 ATTENDEE;CN=Three:mailto:three@example.org
38 DTSTART:20140716T120000Z
39 DTEND:20140716T130000Z
50 'component' =>
'VEVENT',
51 'sender' =>
'mailto:strunk@example.org',
52 'senderName' =>
'Strunk',
53 'recipient' =>
'mailto:one@example.org',
54 'recipientName' =>
'One',
55 'significantChange' =>
true,
67 DTSTART:20140716T120000Z
68 DTEND:20140716T130000Z
69 ORGANIZER;CN=Strunk:mailto:strunk@example.org
70 ATTENDEE;CN=One:mailto:one@example.org
78 'method' =>
'REQUEST',
79 'component' =>
'VEVENT',
80 'sender' =>
'mailto:strunk@example.org',
81 'senderName' =>
'Strunk',
82 'recipient' =>
'mailto:two@example.org',
83 'recipientName' =>
'Two',
84 'significantChange' =>
false,
95 ORGANIZER;CN=Strunk:mailto:strunk@example.org
96 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
97 ATTENDEE;CN=Two;PARTSTAT=NEEDS-ACTION:mailto:two@example.org
98 ATTENDEE;CN=Three;PARTSTAT=NEEDS-ACTION:mailto:three@example.org
99 DTSTART:20140716T120000Z
100 DTEND:20140716T130000Z
108 'method' =>
'REQUEST',
109 'component' =>
'VEVENT',
110 'sender' =>
'mailto:strunk@example.org',
111 'senderName' =>
'Strunk',
112 'recipient' =>
'mailto:three@example.org',
113 'recipientName' =>
'Three',
114 'significantChange' =>
true,
125 ORGANIZER;CN=Strunk:mailto:strunk@example.org
126 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
127 ATTENDEE;CN=Two;PARTSTAT=NEEDS-ACTION:mailto:two@example.org
128 ATTENDEE;CN=Three;PARTSTAT=NEEDS-ACTION:mailto:three@example.org
129 DTSTART:20140716T120000Z
130 DTEND:20140716T130000Z
138 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
150 DTSTART:20140716T120000Z
151 DTEND:20140716T130000Z
163 ORGANIZER;CN=Strunk:mailto:strunk@example.org
164 ATTENDEE;CN=One:mailto:one@example.org
165 DTSTART:20140716T120000Z
166 DTEND:20140716T130000Z
176 'method' =>
'REQUEST',
177 'component' =>
'VEVENT',
178 'sender' =>
'mailto:strunk@example.org',
179 'senderName' =>
'Strunk',
180 'recipient' =>
'mailto:one@example.org',
181 'recipientName' =>
'One',
191 ORGANIZER;CN=Strunk:mailto:strunk@example.org
192 ATTENDEE;CN=One;PARTSTAT=NEEDS-ACTION:mailto:one@example.org
193 DTSTART:20140716T120000Z
194 DTEND:20140716T130000Z
203 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
215 ORGANIZER;CN=Strunk:mailto:strunk@example.org
216 ATTENDEE;CN=One:mailto:one@example.org
217 DTSTART:20140716T120000Z
218 DTEND:20140716T130000Z
230 DTSTART:20140716T120000Z
231 DTEND:20140716T130000Z
241 'method' =>
'CANCEL',
242 'component' =>
'VEVENT',
253 DTSTART:20140716T120000Z
254 DTEND:20140716T130000Z
255 ORGANIZER;CN=Strunk:mailto:strunk@example.org
256 ATTENDEE;CN=One:mailto:one@example.org
265 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
277 DTSTART:20140716T120000Z
278 DTEND:20140716T130000Z
290 DTSTART:20140716T120000Z
291 DTEND:20140716T130000Z
299 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
311 ORGANIZER;CN=Strunk:mailto:strunk@example.org
312 ATTENDEE;CN=One:mailto:one@example.org
313 DTSTART;TZID=America/Toronto:20140716T120000
314 DTEND;TZID=America/Toronto:20140716T130000
327 ORGANIZER;CN=Strunk:mailto:strunk@example.org
328 ATTENDEE;CN=One:mailto:one@example.org
329 DTSTART;TZID=America/Toronto:20140716T120000
330 DTEND;TZID=America/Toronto:20140716T130000
332 EXDATE;TZID=America/Toronto:20140724T120000
342 'method' =>
'REQUEST',
343 'component' =>
'VEVENT',
344 'sender' =>
'mailto:strunk@example.org',
345 'senderName' =>
'Strunk',
346 'recipient' =>
'mailto:one@example.org',
347 'recipientName' =>
'One',
357 ORGANIZER;CN=Strunk:mailto:strunk@example.org
358 ATTENDEE;CN=One;PARTSTAT=NEEDS-ACTION:mailto:one@example.org
359 DTSTART;TZID=America/Toronto:20140716T120000
360 DTEND;TZID=America/Toronto:20140716T130000
362 EXDATE;TZID=America/Toronto:20140724T120000
370 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
389 ORGANIZER;CN=Strunk:mailto:strunk@example.org
390 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
391 ATTENDEE;CN=One:mailto:one@example.org
392 ATTENDEE;CN=Two:mailto:two@example.org
393 DTSTART:20140716T120000Z
394 DTEND:20140716T130000Z
407 ORGANIZER;CN=Strunk:mailto:strunk@example.org
408 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
409 ATTENDEE;CN=Two:mailto:two@example.org
410 ATTENDEE;CN=Three:mailto:three@example.org
411 DTSTART:20140716T120000Z
412 DTEND:20140716T130000Z
422 'method' =>
'CANCEL',
423 'component' =>
'VEVENT',
424 'sender' =>
'mailto:strunk@example.org',
425 'senderName' =>
'Strunk',
426 'recipient' =>
'mailto:one@example.org',
427 'recipientName' =>
'One',
428 'significantChange' =>
true,
439 DTSTART:20140716T120000Z
440 DTEND:20140716T130000Z
441 ORGANIZER;CN=Strunk:mailto:strunk@example.org
442 ATTENDEE;CN=One:mailto:one@example.org
450 'method' =>
'REQUEST',
451 'component' =>
'VEVENT',
452 'sender' =>
'mailto:strunk@example.org',
453 'senderName' =>
'Strunk',
454 'recipient' =>
'mailto:two@example.org',
455 'recipientName' =>
'Two',
456 'significantChange' =>
true,
467 ORGANIZER;CN=Strunk:mailto:strunk@example.org
468 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
469 ATTENDEE;CN=Two;PARTSTAT=NEEDS-ACTION:mailto:two@example.org
470 ATTENDEE;CN=Three;PARTSTAT=NEEDS-ACTION:mailto:three@example.org
471 DTSTART:20140716T120000Z
472 DTEND:20140716T130000Z
480 'method' =>
'REQUEST',
481 'component' =>
'VEVENT',
482 'sender' =>
'mailto:strunk@example.org',
483 'senderName' =>
'Strunk',
484 'recipient' =>
'mailto:three@example.org',
485 'recipientName' =>
'Three',
486 'significantChange' =>
true,
497 ORGANIZER;CN=Strunk:mailto:strunk@example.org
498 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
499 ATTENDEE;CN=Two;PARTSTAT=NEEDS-ACTION:mailto:two@example.org
500 ATTENDEE;CN=Three;PARTSTAT=NEEDS-ACTION:mailto:three@example.org
501 DTSTART:20140716T120000Z
502 DTEND:20140716T130000Z
510 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
522 ORGANIZER;CN=Strunk:mailto:strunk@example.org
523 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
524 ATTENDEE;CN=One:mailto:one@example.org
525 DTSTART:20140716T120000Z
526 DTEND:20140716T130000Z
538 ORGANIZER;CN=Strunk:mailto:strunk@example.org
539 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
540 ATTENDEE;CN=One:mailto:one@example.org
541 DTSTART:20140716T120000Z
542 DTEND:20140716T130000Z
552 'method' =>
'REQUEST',
553 'component' =>
'VEVENT',
554 'sender' =>
'mailto:strunk@example.org',
555 'senderName' =>
'Strunk',
556 'recipient' =>
'mailto:one@example.org',
557 'recipientName' =>
'One',
558 'significantChange' =>
false,
568 ORGANIZER;CN=Strunk:mailto:strunk@example.org
569 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
570 ATTENDEE;CN=One;PARTSTAT=NEEDS-ACTION:mailto:one@example.org
571 DTSTART:20140716T120000Z
572 DTEND:20140716T130000Z
581 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
593 ORGANIZER;CN=Strunk:mailto:strunk@example.org
594 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
595 ATTENDEE;CN=One:mailto:one@example.org
596 DTSTART:20140716T120000Z
597 DTEND:20140716T130000Z
609 ORGANIZER;CN=Strunk:mailto:strunk@example.org
610 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
611 ATTENDEE;SCHEDULE-FORCE-SEND=REQUEST;CN=One:mailto:one@example.org
612 DTSTART:20140716T120000Z
613 DTEND:20140716T130000Z
623 'method' =>
'REQUEST',
624 'component' =>
'VEVENT',
625 'sender' =>
'mailto:strunk@example.org',
626 'senderName' =>
'Strunk',
627 'recipient' =>
'mailto:one@example.org',
628 'recipientName' =>
'One',
629 'significantChange' =>
true,
639 ORGANIZER;CN=Strunk:mailto:strunk@example.org
640 ATTENDEE;CN=Strunk;PARTSTAT=ACCEPTED:mailto:strunk@example.org
641 ATTENDEE;CN=One;PARTSTAT=NEEDS-ACTION:mailto:one@example.org
642 DTSTART:20140716T120000Z
643 DTEND:20140716T130000Z
652 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
665 ORGANIZER;CN=Strunk:mailto:strunk@example.org
666 ATTENDEE;CN=Strunk:mailto:strunk@example.org
667 ATTENDEE;CN=One:mailto:one@example.org
668 ATTENDEE;CN=Two:mailto:two@example.org
669 DTSTART:20140716T120000Z
670 DTEND:20140716T130000Z
683 DTSTART:20140716T120000Z
684 DTEND:20140716T130000Z
694 'method' =>
'CANCEL',
695 'component' =>
'VEVENT',
696 'sender' =>
'mailto:strunk@example.org',
697 'senderName' =>
'Strunk',
698 'recipient' =>
'mailto:one@example.org',
699 'recipientName' =>
'One',
700 'significantChange' =>
true,
712 DTSTART:20140716T120000Z
713 DTEND:20140716T130000Z
714 ORGANIZER;CN=Strunk:mailto:strunk@example.org
715 ATTENDEE;CN=One:mailto:one@example.org
723 'method' =>
'CANCEL',
724 'component' =>
'VEVENT',
725 'sender' =>
'mailto:strunk@example.org',
726 'senderName' =>
'Strunk',
727 'recipient' =>
'mailto:two@example.org',
728 'recipientName' =>
'Two',
729 'significantChange' =>
true,
741 DTSTART:20140716T120000Z
742 DTEND:20140716T130000Z
743 ORGANIZER;CN=Strunk:mailto:strunk@example.org
744 ATTENDEE;CN=Two:mailto:two@example.org
752 $result = $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
766 ORGANIZER;CN=Strunk:mailto:strunk@example.org
767 ATTENDEE;CN=Strunk;CUTYPE=INDIVIDUAL;EMAIL=strunk@example.org;PARTSTAT=ACCE
768 PTED:mailto:strunk@example.org
769 ATTENDEE;CN=One;CUTYPE=INDIVIDUAL;EMAIL=one@example.org;PARTSTAT=ACCEPTED;R
770 OLE=REQ-PARTICIPANT;SCHEDULE-STATUS=
"1.2;Message delivered locally":mailto
773 DTSTART:20141211T160000Z
774 DTEND:20141211T170000Z
776 EXDATE:20141225T160000Z,20150101T160000Z
777 EXDATE:20150108T160000Z
791 ORGANIZER;CN=Strunk:mailto:strunk@example.org
792 ATTENDEE;CN=Strunk;CUTYPE=INDIVIDUAL;EMAIL=strunk@example.org;PARTSTAT=ACCE
793 PTED:mailto:strunk@example.org
794 ATTENDEE;CN=One;CUTYPE=INDIVIDUAL;EMAIL=one@example.org;PARTSTAT=ACCEPTED;R
795 OLE=REQ-PARTICIPANT;SCHEDULE-STATUS=1.2:mailto:one@example.org
796 DTSTART:20141211T160000Z
797 DTEND:20141211T170000Z
799 EXDATE:20150101T160000Z
800 EXDATE:20150108T160000Z,20141225T160000Z
810 'method' =>
'REQUEST',
811 'component' =>
'VEVENT',
812 'sender' =>
'mailto:strunk@example.org',
813 'senderName' =>
'Strunk',
814 'recipient' =>
'mailto:one@example.org',
815 'recipientName' =>
'One',
816 'significantChange' =>
false,
826 ORGANIZER;CN=Strunk:mailto:strunk@example.org
827 ATTENDEE;CN=Strunk;CUTYPE=INDIVIDUAL;EMAIL=strunk@example.org;PARTSTAT=ACCE
828 PTED:mailto:strunk@example.org
829 ATTENDEE;CN=One;CUTYPE=INDIVIDUAL;EMAIL=one@example.org;PARTSTAT=ACCEPTED;R
830 OLE=REQ-PARTICIPANT:mailto:one@example.org
831 DTSTART:20141211T160000Z
832 DTEND:20141211T170000Z
834 EXDATE:20150101T160000Z
835 EXDATE:20150108T160000Z,20141225T160000Z
843 $this->
parse($oldMessage, $newMessage, $expected,
'mailto:strunk@example.org');
testInviteChangeFromNonSchedulingToSchedulingObject()
const VERSION
Full version number.
testInviteChangeSignificantChange()
This test is identical to the first test, except this time we change the DURATION property...
testInviteNoChangeForceSend()
testInviteChangeFromSchedulingToNonSchedulingObject()
testInviteChangeExdateOrder()
testInviteRemoveAttendees()
parse($oldMessage, $newMessage, $expected=[], $currentUser='mailto:one @example.org')
Utilities for testing the broker.