[CalendarServer-changes] [1834]

source_changes at macosforge.org source_changes at macosforge.org
Fri Aug 31 10:40:22 PDT 2007


Revision: 1834
          http://trac.macosforge.org/projects/calendarserver/changeset/1834
Author:   cdaboo at apple.com
Date:     2007-08-31 10:40:21 -0700 (Fri, 31 Aug 2007)

Log Message:
-----------
Make sure deleting a resource causes the ctag on the parent collection to change.

Modified Paths:
--------------
    CalDAVTester/trunk/scripts/tests/schedulepostauto.xml
    CalendarServer/trunk/twistedcaldav/itip.py

Modified: CalDAVTester/trunk/scripts/tests/schedulepostauto.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/schedulepostauto.xml	2007-08-30 21:11:57 UTC (rev 1833)
+++ CalDAVTester/trunk/scripts/tests/schedulepostauto.xml	2007-08-31 17:40:21 UTC (rev 1834)
@@ -1217,6 +1217,44 @@
 
 	<test-suite name='POST cancel non-recurring' ignore='no'>
 		<test name='1' ignore='no'>
+			<description>getctag on resource01 Calendar</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$rpathprefix1:/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/ctag/1.xml</filepath>
+				</data>
+				<grabproperty>
+					<property>http://calendarserver.org/ns/getctag</property>
+					<variable>$calendarctag:</variable>
+				</grabproperty>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>getctag on resource01 inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$rpathprefix1:/$inbox:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/ctag/1.xml</filepath>
+				</data>
+				<grabproperty>
+					<property>http://calendarserver.org/ns/getctag</property>
+					<variable>$inboxctag:</variable>
+				</grabproperty>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
 			<description>Do POST</description>
 			<request>
 				<method>POST</method>
@@ -1242,7 +1280,7 @@
 				<ruri>6</ruri>
 			</request>
 		</test>
-		<test name='2' ignore='no'>
+		<test name='4' ignore='no'>
 			<description>No item in user01 Outbox</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
@@ -1260,7 +1298,7 @@
 				</verify>
 			</request>
 		</test>
-		<test name='3' ignore='no'>
+		<test name='5' ignore='no'>
 			<description>One item in user02 Inbox</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
@@ -1274,7 +1312,7 @@
 				</verify>
 			</request>
 		</test>
-		<test name='4' ignore='no'>
+		<test name='6' ignore='no'>
 			<description>No items in resource01 Inbox</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
@@ -1292,7 +1330,7 @@
 				</verify>
 			</request>
 		</test>
-		<test name='5' ignore='no'>
+		<test name='7' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
@@ -1310,7 +1348,7 @@
 				</verify>
 			</request>
 		</test>
-		<test name='6' ignore='no'>
+		<test name='8' ignore='no'>
 			<description>No item in resource01 Outbox</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
@@ -1328,7 +1366,7 @@
 				</verify>
 			</request>
 		</test>
-		<test name='7' ignore='no'>
+		<test name='9' ignore='no'>
 			<description>One item in user01 Inbox</description>
 			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
@@ -1342,6 +1380,50 @@
 				</verify>
 			</request>
 		</test>
+		<test name='10' ignore='no'>
+			<description>Test getctag on resource01 Calendar</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$rpathprefix1:/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/ctag/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>http://calendarserver.org/ns/getctag!$calendarctag:</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='11' ignore='no'>
+			<description>getctag on resource01 inbox</description>
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$rpathprefix1:/$inbox:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/ctag/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>http://calendarserver.org/ns/getctag!$inboxctag:</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
 	</test-suite>
 
 	<end>

Modified: CalendarServer/trunk/twistedcaldav/itip.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/itip.py	2007-08-30 21:11:57 UTC (rev 1833)
+++ CalendarServer/trunk/twistedcaldav/itip.py	2007-08-31 17:40:21 UTC (rev 1834)
@@ -670,7 +670,15 @@
     delchild = collection.getChild(name)
     index = collection.index()
     index.deleteResource(delchild.fp.basename())
+    
+    def _deletedResourced(result):
+        # Change CTag on the parent calendar collection
+        collection.updateCTag()
+        
+        return result
+
     d = maybeDeferred(delete, "", delchild.fp, "0")
+    d.addCallback(_deletedResourced)
     return d
 
 def canAutoRespond(calendar):

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


More information about the calendarserver-changes mailing list