Revision: 3639 http://trac.macosforge.org/projects/calendarserver/changeset/3639 Author: cdaboo@apple.com Date: 2009-02-05 07:00:40 -0800 (Thu, 05 Feb 2009) Log Message: ----------- Tests for errors when cancelling two or more instances. Modified Paths: -------------- CalDAVTester/trunk/scripts/tests/impliciterrors.xml Added Paths: ----------- CalDAVTester/trunk/Resource/implicit/errors/4.ics CalDAVTester/trunk/Resource/implicit/errors/5.xml CalDAVTester/trunk/Resource/implicit/errors/6.xml CalDAVTester/trunk/Resource/implicit/errors/7.ics CalDAVTester/trunk/Resource/implicit/errors/8.ics CalDAVTester/trunk/Resource/implicit/errors/9.ics Added: CalDAVTester/trunk/Resource/implicit/errors/4.ics =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/4.ics (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/4.ics 2009-02-05 15:00:40 UTC (rev 3639) @@ -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:20060101T100000 +DURATION:PT1H +SUMMARY:event 4 +UID:event4@ninevah.local +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2: +RRULE:FREQ=DAILY;COUNT=5 +END:VEVENT +END:VCALENDAR Added: CalDAVTester/trunk/Resource/implicit/errors/5.xml =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/5.xml (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/5.xml 2009-02-05 15:00:40 UTC (rev 3639) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:"> +<D:prop> +<D:resourcetype/> +<D:getetag/> +</D:prop> +</D:propfind> Added: CalDAVTester/trunk/Resource/implicit/errors/6.xml =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/6.xml (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/6.xml 2009-02-05 15:00:40 UTC (rev 3639) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> +<D:prop> +<D:getetag/> +<C:schedule-tag/> +</D:prop> +</D:propfind> Added: CalDAVTester/trunk/Resource/implicit/errors/7.ics =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/7.ics (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/7.ics 2009-02-05 15:00:40 UTC (rev 3639) @@ -0,0 +1,37 @@ +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:20060101T100000 +DURATION:PT1H +SUMMARY:event 4 +UID:event4@ninevah.local +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2: +RRULE:FREQ=DAILY;COUNT=5 +EXDATE:20060102T150000Z +EXDATE:20060103T150000Z +END:VEVENT +END:VCALENDAR Added: CalDAVTester/trunk/Resource/implicit/errors/8.ics =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/8.ics (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/8.ics 2009-02-05 15:00:40 UTC (rev 3639) @@ -0,0 +1,37 @@ +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:20060101T100000 +DURATION:PT1H +SUMMARY:event 4 +UID:event4@ninevah.local +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2: +RRULE:FREQ=DAILY;COUNT=5 +EXDATE:20060103T150000Z +EXDATE:20060102T150000Z +END:VEVENT +END:VCALENDAR Added: CalDAVTester/trunk/Resource/implicit/errors/9.ics =================================================================== --- CalDAVTester/trunk/Resource/implicit/errors/9.ics (rev 0) +++ CalDAVTester/trunk/Resource/implicit/errors/9.ics 2009-02-05 15:00:40 UTC (rev 3639) @@ -0,0 +1,38 @@ +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:20060101T100000 +DURATION:PT1H +SUMMARY:event 4 +UID:event4@ninevah.local +ORGANIZER;CN=$username1::$cuaddr1: +ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1: +ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2: +RRULE:FREQ=DAILY;COUNT=5 +EXDATE:20060102T150000Z +EXDATE:20060103T150000Z +EXDATE:20060105T150000Z +END:VEVENT +END:VCALENDAR Modified: CalDAVTester/trunk/scripts/tests/impliciterrors.xml =================================================================== --- CalDAVTester/trunk/scripts/tests/impliciterrors.xml 2009-02-04 22:12:20 UTC (rev 3638) +++ CalDAVTester/trunk/scripts/tests/impliciterrors.xml 2009-02-05 15:00:40 UTC (rev 3639) @@ -3,7 +3,7 @@ <!DOCTYPE caldavtest SYSTEM "caldavtest.dtd"> <!-- - Copyright (c) 2006-2008 Apple Inc. All rights reserved. + Copyright (c) 2006-2009 Apple Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -94,6 +94,199 @@ </test> </test-suite> + <test-suite name='Two EXDATEs' ignore='no'> + <test name='1'> + <description>Organizer creates recurring event with Attendee</description> + <request print-response='no'> + <method>PUT</method> + <ruri>$calendarpath1:/3.ics</ruri> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/4.ics</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + <grabheader> + <name>Schedule-Tag</name> + <variable>$schedule-tag-organizer:</variable> + </grabheader> + </request> + </test> + <test name='2'> + <description>Attendee Inbox Item</description> + <request user="$userid2:" pswd="$pswd2:" print-response='no'> + <method>PROPFIND</method> + <ruri>$inboxpath2:/</ruri> + <header> + <name>Depth</name> + <value>1</value> + </header> + <data> + <content-type>application/xml; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/6.xml</filepath> + </data> + <verify> + <callback>multistatusItems</callback> + <arg> + <name>count</name> + <value>1</value> + </arg> + </verify> + </request> + </test> + <test name='3'> + <description>Organizer deletes two recurring instances</description> + <request print-response='no'> + <method>PUT</method> + <ruri>$calendarpath1:/3.ics</ruri> + <header> + <name>If-Schedule-Tag-Match</name> + <value>$schedule-tag-organizer:</value> + </header> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/7.ics</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + <grabheader> + <name>Schedule-Tag</name> + <variable>$schedule-tag-organizer:</variable> + </grabheader> + </request> + </test> + <test name='4'> + <description>Attendee Inbox Item</description> + <request user="$userid2:" pswd="$pswd2:" print-response='no'> + <method>PROPFIND</method> + <ruri>$inboxpath2:/</ruri> + <header> + <name>Depth</name> + <value>1</value> + </header> + <data> + <content-type>application/xml; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/5.xml</filepath> + </data> + <verify> + <callback>multistatusItems</callback> + <arg> + <name>count</name> + <value>3</value> + </arg> + </verify> + </request> + </test> + <test name='5'> + <description>Organizer switches EXDATE order</description> + <request print-response='no'> + <method>PUT</method> + <ruri>$calendarpath1:/3.ics</ruri> + <header> + <name>If-Schedule-Tag-Match</name> + <value>$schedule-tag-organizer:</value> + </header> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/8.ics</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + <grabheader> + <name>Schedule-Tag</name> + <variable>$schedule-tag-organizer:</variable> + </grabheader> + </request> + </test> + <test name='6'> + <description>Attendee Inbox Item</description> + <request user="$userid2:" pswd="$pswd2:" print-response='no'> + <method>PROPFIND</method> + <ruri>$inboxpath2:/</ruri> + <header> + <name>Depth</name> + <value>1</value> + </header> + <data> + <content-type>application/xml; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/5.xml</filepath> + </data> + <verify> + <callback>multistatusItems</callback> + <arg> + <name>count</name> + <value>3</value> + </arg> + </verify> + </request> + </test> + <test name='7'> + <description>Organizer deletes one more recurring instance</description> + <request print-response='no'> + <method>PUT</method> + <ruri>$calendarpath1:/3.ics</ruri> + <header> + <name>If-Schedule-Tag-Match</name> + <value>$schedule-tag-organizer:</value> + </header> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/9.ics</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + <grabheader> + <name>Schedule-Tag</name> + <variable>$schedule-tag-organizer:</variable> + </grabheader> + </request> + </test> + <test name='8'> + <description>Attendee Inbox Item</description> + <request user="$userid2:" pswd="$pswd2:" print-response='no'> + <method>PROPFIND</method> + <ruri>$inboxpath2:/</ruri> + <header> + <name>Depth</name> + <value>1</value> + </header> + <data> + <content-type>application/xml; charset=utf-8</content-type> + <filepath>Resource/implicit/errors/5.xml</filepath> + </data> + <verify> + <callback>multistatusItems</callback> + <arg> + <name>count</name> + <value>5</value> + </arg> + </verify> + </request> + </test> + <test name='9'> + <description>Clean-up</description> + <request user="$userid1:" pswd="$pswd1:"> + <method>DELETEALL</method> + <ruri>$calendarpath1:/</ruri> + </request> + <request user="$userid1:" pswd="$pswd1:"> + <method>DELETEALL</method> + <ruri>$inboxpath1:/</ruri> + </request> + <request user="$userid2:" pswd="$pswd2:"> + <method>DELETEALL</method> + <ruri>$calendarpath2:/</ruri> + </request> + <request user="$userid2:" pswd="$pswd2:"> + <method>DELETEALL</method> + <ruri>$inboxpath2:/</ruri> + </request> + </test> + </test-suite> <end/> </caldavtest>