[CalendarServer-changes] [1841]

source_changes at macosforge.org source_changes at macosforge.org
Tue Sep 4 13:54:31 PDT 2007


Revision: 1841
          http://trac.macosforge.org/projects/calendarserver/changeset/1841
Author:   cdaboo at apple.com
Date:     2007-09-04 13:54:29 -0700 (Tue, 04 Sep 2007)

Log Message:
-----------
Fixes, plus some tests for REQUEST.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/better-itip-1835/twistedcaldav/itip.py

Added Paths:
-----------
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/1.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/2.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/3.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/4.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/5.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/6.ics
    CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecurrequest.xml

Removed Paths:
-------------
    CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecur.xml

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/1.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/1.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/1.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,18 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+METHOD:REQUEST
+PRODID:-//ORACLE//NONSGML Windows Desktop Calendar 10.1.2.0.5.278//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+DTSTART:20060208T200000Z
+DTEND:20060208T210000Z
+ATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+RRULE:FREQ=WEEKLY;COUNT=20
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/2.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/2.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/2.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//ORACLE//NONSGML Windows Desktop Calendar 10.1.2.0.5.278//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+DTSTART:20060208T200000Z
+DTEND:20060208T210000Z
+ATTENDEE;PARTSTAT=ACCEPTED;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+RRULE:FREQ=WEEKLY;COUNT=20
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/3.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/3.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/3.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+METHOD:REPLY
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+DTSTART:20060208T200000Z
+DTEND:20060208T210000Z
+ATTENDEE;PARTSTAT=ACCEPTED;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+REQUEST-STATUS:2.0\; Success.
+RRULE:FREQ=WEEKLY;COUNT=20
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/4.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/4.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/4.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,20 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+METHOD:REQUEST
+PRODID:-//ORACLE//NONSGML Windows Desktop Calendar 10.1.2.0.5.278//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+DTSTART:20060208T210000Z
+DTEND:20060208T220000Z
+ATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+RECURRENCE-ID:20060215T200000Z
+RRULE:FREQ=WEEKLY;COUNT=20
+SEQUENCE:1
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/5.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/5.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/5.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,33 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//ORACLE//NONSGML Windows Desktop Calendar 10.1.2.0.5.278//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+DTSTART:20060208T200000Z
+DTEND:20060208T210000Z
+ATTENDEE;PARTSTAT=ACCEPTED;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+RRULE:FREQ=WEEKLY;COUNT=20
+SEQUENCE:1
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+RECURRENCE-ID:20060215T200000Z
+DTSTART:20060208T210000Z
+DTEND:20060208T220000Z
+ATTENDEE;PARTSTAT=ACCEPTED;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+RRULE:FREQ=WEEKLY;COUNT=20
+SEQUENCE:1
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/6.ics
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/6.ics	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/Resource/scheduleautorecurrequest/6.ics	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,21 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+METHOD:REPLY
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:20060110T231240Z-4011c71-187-6f73-1
+RECURRENCE-ID:20060215T200000Z
+DTSTART:20060208T210000Z
+DTEND:20060208T220000Z
+ATTENDEE;PARTSTAT=ACCEPTED;CN=Resource 01:$rcuaddralt1:
+CREATED:20060110T231240Z
+DESCRIPTION:+1 605 990 0100\nAccess: 879307#
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=Cyrus Daboo:$cuaddralt1:
+REQUEST-STATUS:2.0\; Success.
+RRULE:FREQ=WEEKLY;COUNT=20
+SEQUENCE:1
+SUMMARY:TC Realtime
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR

Deleted: CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecur.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecur.xml	2007-09-04 17:19:41 UTC (rev 1840)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecur.xml	2007-09-04 20:54:29 UTC (rev 1841)
@@ -1,640 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- Copyright (c) 2006-2007 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.
- You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- DRI: Cyrus Daboo, cdaboo at apple.com
- -->
-
-<caldavtest>
-	<description>Test iTIP with recurrence instances</description>
-
-	<start>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/$outbox:/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/$inbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/$outbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/$inbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/calendar/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name='POST recurring' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel one instance' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel multiple instances' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/5.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel wrong SEQUENCE' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel no match UID' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/8.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST recurring with overridden instances' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/9.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel one overridden instance' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/11.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/12.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel multiple instances' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$cuaddralt1:</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$rcuaddralt1:</value>
-				</header>
-				<ruri>$pathprefix:/$outbox:/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleautorecur/13.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>4</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>No items in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$rpathprefix1:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$rpathprefix1:/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleautorecur/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/$inbox:/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/$outbox:/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/$inbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/$outbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/$inbox:/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>$rpathprefix1:/calendar/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Added: CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecurrequest.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecurrequest.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/better-itip-1837/scripts/tests/schedulepostautorecurrequest.xml	2007-09-04 20:54:29 UTC (rev 1841)
@@ -0,0 +1,214 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2007 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.
+ You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ DRI: Cyrus Daboo, cdaboo at apple.com
+ -->
+
+<caldavtest>
+	<description>Test iTIP with recurrence instances</description>
+
+	<start>
+		<request>
+			<method>DELETEALL</method>
+			<ruri>$pathprefix:/$outbox:/</ruri>
+		</request>
+		<request>
+			<method>DELETEALL</method>
+			<ruri>$pathprefix:/$inbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/$outbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/$inbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/calendar/</ruri>
+		</request>
+	</start>
+	
+	<test-suite name='POST recurring' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Do POST</description>
+			<request>
+				<method>POST</method>
+				<header>
+					<name>Originator</name>
+					<value>$cuaddralt1:</value>
+				</header>
+				<header>
+					<name>Recipient</name>
+					<value>$rcuaddralt1:</value>
+				</header>
+				<ruri>$pathprefix:/$outbox:/</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/scheduleautorecurrequest/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>DELAY</method>
+				<ruri>6</ruri>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>No items in resource01 Inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<ruri>$rpathprefix1:/$inbox:/</ruri>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>count</name>
+						<value>0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>One item in resource01 Calendar</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>GETNEW</method>
+				<ruri>$rpathprefix1:/calendar/</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/scheduleautorecurrequest/2.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>One item in user01 Inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>GETNEW</method>
+				<ruri>$pathprefix:/$inbox:/</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/scheduleautorecurrequest/3.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='POST modify one instance' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Do POST</description>
+			<request>
+				<method>POST</method>
+				<header>
+					<name>Originator</name>
+					<value>$cuaddralt1:</value>
+				</header>
+				<header>
+					<name>Recipient</name>
+					<value>$rcuaddralt1:</value>
+				</header>
+				<ruri>$pathprefix:/$outbox:/</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/scheduleautorecurrequest/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>DELAY</method>
+				<ruri>4</ruri>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>No items in resource01 Inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<ruri>$rpathprefix1:/$inbox:/</ruri>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>count</name>
+						<value>0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>One item in resource01 Calendar</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>GETNEW</method>
+				<ruri>$rpathprefix1:/calendar/</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/scheduleautorecurrequest/5.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>One item in user01 Inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>GETNEW</method>
+				<ruri>$pathprefix:/$inbox:/</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/scheduleautorecurrequest/6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end>
+		<request>
+			<method>DELETEALL</method>
+			<ruri>$pathprefix:/$outbox:/</ruri>
+		</request>
+		<request>
+			<method>DELETEALL</method>
+			<ruri>$pathprefix:/$inbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/$outbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/$inbox:/</ruri>
+		</request>
+		<request user="$useradmin:" pswd="$pswdadmin:">
+			<method>DELETEALL</method>
+			<ruri>$rpathprefix1:/calendar/</ruri>
+		</request>
+	</end>
+	
+</caldavtest>

Modified: CalendarServer/branches/users/cdaboo/better-itip-1835/twistedcaldav/itip.py
===================================================================
--- CalendarServer/branches/users/cdaboo/better-itip-1835/twistedcaldav/itip.py	2007-09-04 17:19:41 UTC (rev 1840)
+++ CalendarServer/branches/users/cdaboo/better-itip-1835/twistedcaldav/itip.py	2007-09-04 20:54:29 UTC (rev 1841)
@@ -334,7 +334,7 @@
         check_reply = False
         if calmatch:
             # See whether the new component is older than any existing ones and throw it away if so
-            newinfo = getSyncInfo(calendar)
+            newinfo = getSyncInfo(child.fp.basename(), calendar)
             cal = updatecal.iCalendar(calmatch)
             info = getSyncInfo(calmatch, cal)
             if compareSyncInfo(info, newinfo) < 0:
@@ -1110,7 +1110,14 @@
     
     # FIXME: going to ignore VTIMEZONE - i.e. will assume that the component being added
     # use a TZID that is already specified in the old component set.
-    
+
+    # We will update the SEQUENCE on the master to the highest value of the current one on the master
+    # or the ones in the components we are changing.
+    existing_master = oldcal.masterComponent()
+    max_sequence = existing_master.propertyValue("SEQUENCE")
+    if max_sequence is None:
+        max_sequence = 0
+
     for component in newcal.subcomponents():
         if component.name() == "VTIMEZONE":
             continue
@@ -1120,7 +1127,14 @@
         if old_component:
             oldcal.removeComponent(old_component)
         oldcal.addComponent(component)
+        max_sequence = max(max_sequence, component.propertyValue("SEQUENCE"))
 
+    seq = existing_master.getProperty("SEQUENCE")
+    if seq:
+        seq.setValue(max_sequence)
+    else:
+        existing_master.addProperty(Property("SEQUENCE", max_sequence))
+
 def getAllInfo(collection, calendar, ignore):
     """
     Find each component in the calendar collection that has a matching UID with

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070904/26778cc6/attachment.html


More information about the calendarserver-changes mailing list