From 3c8a4ab52961764f21c121b944921b34e6f7c52d Mon Sep 17 00:00:00 2001 From: Cyrus Daboo Date: Thu, 18 Oct 2012 15:40:28 +0000 Subject: [PATCH 1/4] Remove some debug settings. git-svn-id: https://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@9952 e27351fd-9f3e-4f54-a53b-843176b1656c --- scripts/tests/CalDAV/implicitfreebusy.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tests/CalDAV/implicitfreebusy.xml b/scripts/tests/CalDAV/implicitfreebusy.xml index 2ed35f7c..bff5669c 100644 --- a/scripts/tests/CalDAV/implicitfreebusy.xml +++ b/scripts/tests/CalDAV/implicitfreebusy.xml @@ -354,7 +354,7 @@ - + Organizer invites Resource @@ -464,7 +464,7 @@ Resource has data - + GETNEW $rcalendarpath1:/ From 9057f9e24686ab36363e4d08e279f1ddb2cc2a81 Mon Sep 17 00:00:00 2001 From: Cyrus Daboo Date: Mon, 22 Oct 2012 16:20:00 +0000 Subject: [PATCH 2/4] Do proper clean-up. git-svn-id: https://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@9957 e27351fd-9f3e-4f54-a53b-843176b1656c --- scripts/tests/CardDAV/errorcondition.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tests/CardDAV/errorcondition.xml b/scripts/tests/CardDAV/errorcondition.xml index 4eddbc59..3cc4c2b2 100644 --- a/scripts/tests/CardDAV/errorcondition.xml +++ b/scripts/tests/CardDAV/errorcondition.xml @@ -239,7 +239,7 @@ PUT with bad PHOTO property - + PUT $addressbookpath1:/17.vcf From 6c542017f6d5ea565f6da239aae8565ddf79c1e8 Mon Sep 17 00:00:00 2001 From: Cyrus Daboo Date: Tue, 23 Oct 2012 20:12:28 +0000 Subject: [PATCH 3/4] Clean-up and documentation update. git-svn-id: https://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@9972 e27351fd-9f3e-4f54-a53b-843176b1656c --- README.txt | 222 +++++++++++++++++++++++++++++++--------------- src/caldavtest.py | 10 --- 2 files changed, 150 insertions(+), 82 deletions(-) diff --git a/README.txt b/README.txt index a8f4a796..869fbbcb 100644 --- a/README.txt +++ b/README.txt @@ -111,7 +111,14 @@ caldavtest.dtd: set of features. ELEMENT - feature that server has to support for this entire test + feature that server must support for this entire test + script to run. + + ELEMENT + set of features. + + ELEMENT + feature that server must not support for this entire test script to run. ELEMENT @@ -131,11 +138,26 @@ caldavtest.dtd: defines a group of tests to be run. The suite is given a name and has an 'ignore' attribute that can be used to disable it. + ATTRIBUTE name + name/description of test-suite. + ATTRIBUTE ignore + if set to 'yes' then the entire test-suite will be skipped. + ATTRIBUTE only + if set to 'yes' then all other test-suites (except others with + the same attribute value set) will be skipped. + ELEMENT set of features. ELEMENT - feature that server has to support for this test + feature that server must support for this test + suite to run. + + ELEMENT + set of features. + + ELEMENT + feature that server must not support for this test suite to run. ELEMENT @@ -146,13 +168,37 @@ caldavtest.dtd: value greater than 1. Timing information about the test can be printed out by setting the 'stats' attribute to 'yes'. + ATTRIBUTE name + name of test. + ATTRIBUTE count + number of times to run the test. This allows tests to be + easily repeated. + ATTRIBUTE stats + if set to 'yes' then timing information for the test will be + printed. + ATTRIBUTE ignore + if set to 'yes' then the entire test will be skipped. + ELEMENT set of features. ELEMENT - feature that server has to support for this test + feature that server must support for this test to run. + ELEMENT + set of features. + + ELEMENT + feature that server must not support for this test + to run. + + ELEMENT + detailed description of the test. + + ELEMENT + halt tests and wait for user input. Useful for stopping tests to set a + break point or examine server state, and then continue on. ELEMENT defines an HTTP request to send to the server. Attributes on the @@ -177,80 +223,112 @@ caldavtest.dtd: if set to 'yes' then the HTTP response (header and body) is printed along with test results. - ELEMENT - the HTTP method for this request. There are some 'special' methods that do some useful 'compound' operations: - 1) DELETEALL - deletes all resources within the collections specified by the elements. - 2) DELAY - pause for the number of seconds specified by the element. - 3) GETNEW - get the data from the newest resource in the collection specified by the element and put its URI - into the $ variable for later use in an element. - 3) WAITCOUNT - wait until at least a certain number of resources appear in a collection. - - ELEMENT - the URI of the request. Multiple 's are allowed with DELETEALL only. - The characters "**" may be used to cause a random uuid to be inserted where - those two characters appear. The characters "##" may be used to insert the - current test count iteration where those two characters occur. - - ELEMENT
- can be used to specify additional headers in the request. - - ELEMENT - the header name. - - ELEMENT - the header value. - - ELEMENT - used to specify the source and nature of data used in the - request body, if there is one. - - ATTRIBUTE substitutions - if set to 'yes' then '$host:' and '$calendarhome1:' - substitutions will be performed on the data before it is sent - in the request. - - ATTRIBUTE generate - if set to 'yes' then a basic calendar data "fuzzing" is done to - the source data to make it unique and up to date. - - ELEMENT - the MIME content type for the request body. - - ELEMENT - the relative path for the file containing the request body - data. - - ELEMENT - if present, used to specify a procedures for verifying that the - request executed as expected. - - ELEMENT - the name of the verification method to execute. + ELEMENT + set of features. + + ELEMENT + feature that server must support for this request + to run. - ELEMENT - arguments sent to the verification method. + ELEMENT + set of features. + + ELEMENT + feature that server must not support for this request + to run. + ELEMENT + the HTTP method for this request. There are some 'special' methods that do some useful 'compound' operations: + 1) DELETEALL - deletes all resources within the collections specified by the elements. + 2) DELAY - pause for the number of seconds specified by the element. + 3) GETNEW - get the data from the newest resource in the collection specified by the element and put its URI + into the $ variable for later use in an element. + 4) WAITCOUNT - wait until at least a certain number of resources appear in a collection. + + ELEMENT + the URI of the request. Multiple 's are allowed with DELETEALL only. + The characters "**" may be used to cause a random uuid to be inserted where + those two characters appear. The characters "##" may be used to insert the + current test count iteration where those two characters occur. + + ELEMENT
+ can be used to specify additional headers in the request. + ELEMENT - the name of the argument. - + the header name. + ELEMENT - values for the argument. - - ELEMENT - if present, this stores the value of the specified header - returned in the response in a named variable which can be used - in subsequent requests. - - ELEMENT - if present, this stores the value of the specified property - returned in a PROPFIND response in a named variable which can - be used in subsequent requests. - - ELEMENT - if present, this stores the text representation of an XML - element extracted from the response body in a named variable - which can be used in subsequent requests. + the header value. + + ELEMENT + used to specify the source and nature of data used in the + request body, if there is one. + + ATTRIBUTE substitutions + if set to 'yes' then '$xxx:' style variable substitutions + will be performed on the data before it is sent in the request. + ATTRIBUTE generate + if set to 'yes' then a basic calendar data "fuzzing" is done to + the source data to make it unique and up to date. + + ELEMENT + the MIME content type for the request body. + + ELEMENT + the relative path for the file containing the request body + data. + + ELEMENT + if present, used to specify a procedures for verifying that the + request executed as expected. + + ELEMENT + set of features. + ELEMENT + feature that server must support for this verification + to be checked. + + ELEMENT + set of features. + + ELEMENT + feature that server must not support for this verification + to be checked. + + ELEMENT + the name of the verification method to execute. + + ELEMENT + arguments sent to the verification method. + + ELEMENT + the name of the argument. + + ELEMENT + values for the argument. + + ELEMENT + if present, this stores the value of the actual request URI + used in a named variable which can be used in subsequent requests. + Useful for capturing URIs when the GETNEW method is used. + + ELEMENT + if present, this stores the value of the specified header + returned in the response in a named variable which can be used + in subsequent requests. + + ELEMENT + if present, this stores the value of the specified property + returned in a PROPFIND response in a named variable which can + be used in subsequent requests. + + ELEMENT + if present, this stores the text representation of an XML + element extracted from the response body in a named variable + which can be used in subsequent requests. + + VERIFICATION Methods acltems: diff --git a/src/caldavtest.py b/src/caldavtest.py index f5ee3779..a7afda3c 100644 --- a/src/caldavtest.py +++ b/src/caldavtest.py @@ -499,16 +499,6 @@ def dorequest(self, req, details=False, doverify=True, forceverify=False, stats= else: return False, "Count did not change", None, None - elif req.method == "BREAK": - # Useful for setting a break point - return True, "", None, None - - elif req.method == "PAUSE": - # Useful for pausing at a particular point - print "Paused" - sys.stdin.readline() - return True, "", None, None - result = True resulttxt = "" response = None From 77c9d874d2f0b9620c71389b64959c5d45bdf2ff Mon Sep 17 00:00:00 2001 From: Cyrus Daboo Date: Tue, 23 Oct 2012 20:13:16 +0000 Subject: [PATCH 4/4] Test for correct PARTSTAT updating when attendee overrides an instance. git-svn-id: https://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@9973 e27351fd-9f3e-4f54-a53b-843176b1656c --- .../partstatchange/organizernorefresh/1.ics | 35 ++ .../partstatchange/organizernorefresh/10.ics | 49 +++ .../partstatchange/organizernorefresh/2.ics | 35 ++ .../partstatchange/organizernorefresh/3.ics | 36 ++ .../partstatchange/organizernorefresh/4.ics | 35 ++ .../partstatchange/organizernorefresh/5.ics | 35 ++ .../partstatchange/organizernorefresh/6.ics | 47 ++ .../partstatchange/organizernorefresh/7.ics | 47 ++ .../partstatchange/organizernorefresh/8.ics | 36 ++ .../partstatchange/organizernorefresh/9.ics | 49 +++ .../implicit/partstatchange/recur/10.ics | 44 +- .../implicit/partstatchange/recur/11.ics | 21 +- .../implicit/partstatchange/recur/12.ics | 49 +-- .../implicit/partstatchange/recur/13.ics | 37 ++ .../implicit/partstatchange/recur/14.ics | 51 +++ .../tests/CalDAV/implicitpartstatchange.xml | 400 ++++++++++++++++-- 16 files changed, 926 insertions(+), 80 deletions(-) create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/1.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/10.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/2.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/3.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/4.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/5.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/6.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/7.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/8.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/organizernorefresh/9.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/recur/13.ics create mode 100644 Resource/CalDAV/implicit/partstatchange/recur/14.ics diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/1.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/1.ics new file mode 100644 index 00000000..8c9cc289 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/1.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +VERSION:2.0 +BEGIN:VTIMEZONE +LAST-MODIFIED:20040110T032845Z +TZID:US/Eastern +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +DTSTAMP:20051222T205953Z +CREATED:20060101T150000Z +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +SUMMARY:event 1 +UID:event6@ninevah.local +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2: +RRULE:FREQ=DAILY +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/10.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/10.ics new file mode 100644 index 00000000..5d6e1d25 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/10.ics @@ -0,0 +1,49 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;SCHEDULE-STATUS=1.2;EMAIL=$email1::$cuaddrurn1: +RRULE:FREQ=DAILY +SEQUENCE:1 +SUMMARY:event 1 - 2 +END:VEVENT +BEGIN:VEVENT +UID:event6@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T100000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;SCHEDULE-STATUS=1.2;EMAIL=$email1::$cuaddrurn1: +SEQUENCE:1 +SUMMARY:event 1 - 2 +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/2.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/2.ics new file mode 100644 index 00000000..a7d64bb5 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/2.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/3.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/3.ics new file mode 100644 index 00000000..ba05d2df --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/3.ics @@ -0,0 +1,36 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +TRANSP:TRANSPARENT +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/4.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/4.ics new file mode 100644 index 00000000..910a77a3 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/4.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2: +CREATED:20060101T151000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1::$cuaddr1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/5.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/5.ics new file mode 100644 index 00000000..43d282ec --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/5.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/6.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/6.ics new file mode 100644 index 00000000..9c2b8e4b --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/6.ics @@ -0,0 +1,47 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2: +CREATED:20060101T151000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1::$cuaddr1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +END:VEVENT +BEGIN:VEVENT +UID:event6@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T100000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;PARTSTAT=DECLINED:$cuaddr2: +CREATED:20060101T151000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1::$cuaddr1: +SUMMARY:event 1 +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/7.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/7.ics new file mode 100644 index 00000000..eb9c9f40 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/7.ics @@ -0,0 +1,47 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SUMMARY:event 1 +RRULE:FREQ=DAILY +END:VEVENT +BEGIN:VEVENT +UID:event6@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T100000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SUMMARY:event 1 +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/8.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/8.ics new file mode 100644 index 00000000..7d6a799f --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/8.ics @@ -0,0 +1,36 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1::$cuaddr1: +SEQUENCE:1 +SUMMARY:event 1 - 2 +RRULE:FREQ=DAILY +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/organizernorefresh/9.ics b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/9.ics new file mode 100644 index 00000000..1327ac28 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/organizernorefresh/9.ics @@ -0,0 +1,49 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event6@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SEQUENCE:1 +SUMMARY:event 1 - 2 +RRULE:FREQ=DAILY +END:VEVENT +BEGIN:VEVENT +UID:event6@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T100000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T100000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SEQUENCE:1 +SUMMARY:event 1 - 2 +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/recur/10.ics b/Resource/CalDAV/implicit/partstatchange/recur/10.ics index 9fce4ca7..517c8f53 100644 --- a/Resource/CalDAV/implicit/partstatchange/recur/10.ics +++ b/Resource/CalDAV/implicit/partstatchange/recur/10.ics @@ -1,17 +1,10 @@ BEGIN:VCALENDAR +VERSION:2.0 CALSCALE:GREGORIAN PRODID:-//Example Inc.//Example Calendar//EN -VERSION:2.0 BEGIN:VTIMEZONE -LAST-MODIFIED:20040110T032845Z TZID:US/Eastern -BEGIN:DAYLIGHT -DTSTART:20000404T020000 -RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 -TZNAME:EDT -TZOFFSETFROM:-0500 -TZOFFSETTO:-0400 -END:DAYLIGHT +LAST-MODIFIED:20040110T032845Z BEGIN:STANDARD DTSTART:20001026T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 @@ -19,19 +12,38 @@ TZNAME:EST TZOFFSETFROM:-0400 TZOFFSETTO:-0500 END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT -DTSTAMP:20051222T205953Z -CREATED:20060101T150000Z +UID:event1@ninevah.local DTSTART;TZID=US/Eastern:$now.year.1:0101T120000 DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +RRULE:FREQ=DAILY;COUNT=100 SEQUENCE:2 SUMMARY:event 1 +END:VEVENT +BEGIN:VEVENT UID:event1@ninevah.local -ORGANIZER;CN=$username1::$cuaddr1: -ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: -ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2: -RRULE:FREQ=DAILY;COUNT=100 -EXDATE:$now.year.1:0102T170000Z +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T120000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T120000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +SEQUENCE:2 +SUMMARY:event 1 END:VEVENT END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/recur/11.ics b/Resource/CalDAV/implicit/partstatchange/recur/11.ics index f360ceaa..80b7d210 100644 --- a/Resource/CalDAV/implicit/partstatchange/recur/11.ics +++ b/Resource/CalDAV/implicit/partstatchange/recur/11.ics @@ -1,7 +1,7 @@ BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN -PRODID:-//Example Inc.//Example Calendar//EN +PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN BEGIN:VTIMEZONE TZID:US/Eastern LAST-MODIFIED:20040110T032845Z @@ -25,13 +25,26 @@ UID:event1@ninevah.local DTSTART;TZID=US/Eastern:$now.year.1:0101T120000 DURATION:PT1H ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: -ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2:;SCHEDULE-STATUS=1.2:$cuaddrurn2: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: CREATED:20060101T150000Z DTSTAMP:20051222T205953Z -EXDATE:$now.year.1:0102T170000Z -ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: RRULE:FREQ=DAILY;COUNT=100 SEQUENCE:2 SUMMARY:event 1 END:VEVENT +BEGIN:VEVENT +UID:event1@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T120000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T120000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: +SEQUENCE:2 +SUMMARY:event 1 +TRANSP:TRANSPARENT +END:VEVENT END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/recur/12.ics b/Resource/CalDAV/implicit/partstatchange/recur/12.ics index 6c3952a9..a6ad6ea7 100644 --- a/Resource/CalDAV/implicit/partstatchange/recur/12.ics +++ b/Resource/CalDAV/implicit/partstatchange/recur/12.ics @@ -1,17 +1,10 @@ BEGIN:VCALENDAR -VERSION:2.0 CALSCALE:GREGORIAN -PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN +PRODID:-//Example Inc.//Example Calendar//EN +VERSION:2.0 BEGIN:VTIMEZONE -TZID:US/Eastern LAST-MODIFIED:20040110T032845Z -BEGIN:STANDARD -DTSTART:20001026T020000 -RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 -TZNAME:EST -TZOFFSETFROM:-0400 -TZOFFSETTO:-0500 -END:STANDARD +TZID:US/Eastern BEGIN:DAYLIGHT DTSTART:20000404T020000 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 @@ -19,32 +12,26 @@ TZNAME:EDT TZOFFSETFROM:-0500 TZOFFSETTO:-0400 END:DAYLIGHT +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD END:VTIMEZONE BEGIN:VEVENT -UID:event1@ninevah.local +DTSTAMP:20051222T205953Z +CREATED:20060101T150000Z DTSTART;TZID=US/Eastern:$now.year.1:0101T120000 DURATION:PT1H -ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: -ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: -CREATED:20060101T150000Z -DTSTAMP:20051222T205953Z -ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: -RRULE:FREQ=DAILY;COUNT=100 -SEQUENCE:2 +SEQUENCE:3 SUMMARY:event 1 -END:VEVENT -BEGIN:VEVENT UID:event1@ninevah.local -RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T120000 -DTSTART;TZID=US/Eastern:$now.year.1:0102T120000 -DURATION:PT1H -ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: -ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: -CREATED:20060101T150000Z -DTSTAMP:20051222T205953Z -ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: -STATUS:CANCELLED -SEQUENCE:2 -SUMMARY:event 1 +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2: +RRULE:FREQ=DAILY;COUNT=100 +EXDATE:$now.year.1:0102T170000Z END:VEVENT END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/recur/13.ics b/Resource/CalDAV/implicit/partstatchange/recur/13.ics new file mode 100644 index 00000000..735e37f4 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/recur/13.ics @@ -0,0 +1,37 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//Example Inc.//Example Calendar//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event1@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T120000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2:;SCHEDULE-STATUS=1.2:$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +EXDATE:$now.year.1:0102T170000Z +ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1: +RRULE:FREQ=DAILY;COUNT=100 +SEQUENCE:3 +SUMMARY:event 1 +END:VEVENT +END:VCALENDAR diff --git a/Resource/CalDAV/implicit/partstatchange/recur/14.ics b/Resource/CalDAV/implicit/partstatchange/recur/14.ics new file mode 100644 index 00000000..b390f154 --- /dev/null +++ b/Resource/CalDAV/implicit/partstatchange/recur/14.ics @@ -0,0 +1,51 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN +BEGIN:VTIMEZONE +TZID:US/Eastern +LAST-MODIFIED:20040110T032845Z +BEGIN:STANDARD +DTSTART:20001026T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:EST +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:20000404T020000 +RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 +TZNAME:EDT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +UID:event1@ninevah.local +DTSTART;TZID=US/Eastern:$now.year.1:0101T120000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: +RRULE:FREQ=DAILY;COUNT=100 +SEQUENCE:3 +SUMMARY:event 1 +END:VEVENT +BEGIN:VEVENT +UID:event1@ninevah.local +RECURRENCE-ID;TZID=US/Eastern:$now.year.1:0102T120000 +DTSTART;TZID=US/Eastern:$now.year.1:0102T120000 +DURATION:PT1H +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1: +ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2: +CREATED:20060101T150000Z +DTSTAMP:20051222T205953Z +ORGANIZER;CN=$username1:;EMAIL=$email1:;SCHEDULE-STATUS=1.2:$cuaddrurn1: +STATUS:CANCELLED +SEQUENCE:3 +SUMMARY:event 1 +TRANSP:TRANSPARENT +END:VEVENT +END:VCALENDAR diff --git a/scripts/tests/CalDAV/implicitpartstatchange.xml b/scripts/tests/CalDAV/implicitpartstatchange.xml index 30e28729..7e28a73d 100644 --- a/scripts/tests/CalDAV/implicitpartstatchange.xml +++ b/scripts/tests/CalDAV/implicitpartstatchange.xml @@ -614,7 +614,7 @@ - Organizer removes override without cancel - fail + Organizer removes override without cancel PUT $calendarpath1:/1.ics @@ -624,10 +624,6 @@ statusCode - - status - 403 - @@ -640,31 +636,20 @@ calendarDataMatch filepath - Resource/CalDAV/implicit/partstatchange/recur/8.ics + Resource/CalDAV/implicit/partstatchange/recur/10.ics - Attendee No Inbox Item - - PROPFIND + Attendee One Inbox Item + + WAITCOUNT 1 + $inboxpath2:/ + + + DELETEALL $inboxpath2:/ -
- Depth - 1 -
- - text/xml; charset=utf-8 - Resource/Common/PROPFIND/count.xml - - - multistatusItems - - count - 0 - -
@@ -676,7 +661,7 @@ calendarDataMatch filepath - Resource/CalDAV/implicit/partstatchange/recur/7.ics + Resource/CalDAV/implicit/partstatchange/recur/11.ics @@ -688,7 +673,7 @@ $calendarpath1:/1.ics text/calendar; charset=utf-8 - Resource/CalDAV/implicit/partstatchange/recur/10.ics + Resource/CalDAV/implicit/partstatchange/recur/12.ics statusCode @@ -704,7 +689,7 @@ calendarDataMatch filepath - Resource/CalDAV/implicit/partstatchange/recur/11.ics + Resource/CalDAV/implicit/partstatchange/recur/13.ics @@ -729,7 +714,7 @@ calendarDataMatch filepath - Resource/CalDAV/implicit/partstatchange/recur/12.ics + Resource/CalDAV/implicit/partstatchange/recur/14.ics @@ -754,7 +739,6 @@ DELETEALL - $inboxpath1:/ DELETEALL @@ -767,6 +751,364 @@ + + + Organizer invites Attendee + + PUT + $calendarpath1:/6.ics + + text/calendar; charset=utf-8 + Resource/CalDAV/implicit/partstatchange/organizernorefresh/1.ics + + + statusCode + + + + + Organizer checks data + + GET + $calendarpath1:/6.ics + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/2.ics + + + + Schedule-Tag + $schedule-tag-organizer: + + + + + Attendee Inbox Item + + PROPFIND + $inboxpath2:/ +
+ Depth + 1 +
+ + application/xml; charset=utf-8 + Resource/Common/PROPFIND/Count.xml + + + multistatusItems + + count + 1 + + +
+
+ + Attendee has data + + GETNEW + $calendarpath2:/ + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/3.ics + + + + + + Attendee deletes Inbox Item + + GETNEW + $inboxpath2:/ + + statusCode + + + + DELETE + $ + + statusCode + + status + 204 + + + + + + Attendee -> Accepted + + GETNEW + $calendarpath2:/ + + statusCode + + + + PUT + $ + + text/calendar; charset=utf-8 + Resource/CalDAV/implicit/partstatchange/organizernorefresh/4.ics + + + statusCode + + + + + Organizer Inbox Item + + PROPFIND + $inboxpath1:/ +
+ Depth + 1 +
+ + application/xml; charset=utf-8 + Resource/Common/PROPFIND/Count.xml + + + multistatusItems + + count + 1 + + +
+
+ + Organizer data changed + + GET + $calendarpath1:/6.ics + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/5.ics + + + + + + Organizer deletes Inbox Item + + GETNEW + $inboxpath1:/ + + statusCode + + + + DELETE + $ + + statusCode + + status + 204 + + + + + + Attendee -> Declines an instance + + GETNEW + $calendarpath2:/ + + statusCode + + + + PUT + $ + + text/calendar; charset=utf-8 + Resource/CalDAV/implicit/partstatchange/organizernorefresh/6.ics + + + statusCode + + + + + Organizer Inbox Item + + PROPFIND + $inboxpath1:/ +
+ Depth + 1 +
+ + application/xml; charset=utf-8 + Resource/Common/PROPFIND/Count.xml + + + multistatusItems + + count + 1 + + +
+
+ + Organizer data changed + + GET + $calendarpath1:/6.ics + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/7.ics + + + + + + Organizer deletes Inbox Item + + GETNEW + $inboxpath1:/ + + statusCode + + + + DELETE + $ + + statusCode + + status + 204 + + + + + + Organizer changes old data with valid Schedule-Tag match + + PUT + $calendarpath1:/6.ics +
+ If-Schedule-Tag-Match + $schedule-tag-organizer: +
+ + text/calendar; charset=utf-8 + Resource/CalDAV/implicit/partstatchange/organizernorefresh/8.ics + + + statusCode + + status + 204 + + +
+
+ + Organizer checks data + + GET + $calendarpath1:/6.ics + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/9.ics + + + + Schedule-Tag + $schedule-tag-organizer: + + + + + Attendee Inbox Item + + PROPFIND + $inboxpath2:/ +
+ Depth + 1 +
+ + application/xml; charset=utf-8 + Resource/Common/PROPFIND/Count.xml + + + multistatusItems + + count + 1 + + +
+
+ + Attendee has data + + GETNEW + $calendarpath2:/ + + calendarDataMatch + + filepath + Resource/CalDAV/implicit/partstatchange/organizernorefresh/10.ics + + + + + + Attendee deletes Inbox Item + + GETNEW + $inboxpath2:/ + + statusCode + + + + DELETE + $ + + statusCode + + status + 204 + + + + + + Clean-up + + DELETEALL + $calendarpath1:/ + $inboxpath1:/ + + + DELETEALL + $calendarpath2:/ + $inboxpath2:/ + + +
+