[CalendarServer-changes] [14365] CalendarServer/branches/release/CalendarServer-5.4-dev

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 3 18:14:15 PST 2015


Revision: 14365
          http://trac.calendarserver.org//changeset/14365
Author:   cdaboo at apple.com
Date:     2015-02-03 18:14:15 -0800 (Tue, 03 Feb 2015)
Log Message:
-----------
More fixes for missing sharers.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-5.4-dev/twext/web2/dav/resource.py
    CalendarServer/branches/release/CalendarServer-5.4-dev/twistedcaldav/test/test_sharing.py

Modified: CalendarServer/branches/release/CalendarServer-5.4-dev/twext/web2/dav/resource.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.4-dev/twext/web2/dav/resource.py	2015-02-04 02:09:55 UTC (rev 14364)
+++ CalendarServer/branches/release/CalendarServer-5.4-dev/twext/web2/dav/resource.py	2015-02-04 02:14:15 UTC (rev 14365)
@@ -693,7 +693,7 @@
         def gotChildren(listChildrenResult):
             children[:] = list(listChildrenResult)
             getChild()
-        maybeDeferred(self.listChildren).addCallback(gotChildren)
+        maybeDeferred(self.listChildren).addCallback(gotChildren).addErrback(completionDeferred.errback)
 
         return completionDeferred
 

Modified: CalendarServer/branches/release/CalendarServer-5.4-dev/twistedcaldav/test/test_sharing.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.4-dev/twistedcaldav/test/test_sharing.py	2015-02-04 02:09:55 UTC (rev 14364)
+++ CalendarServer/branches/release/CalendarServer-5.4-dev/twistedcaldav/test/test_sharing.py	2015-02-04 02:14:15 UTC (rev 14365)
@@ -220,6 +220,65 @@
 
 
     @inlineCallbacks
+    def _doPROPFINDHome(self, resultcode=responsecode.MULTI_STATUS):
+        body = """<?xml version="1.0" encoding="UTF-8"?>
+<A:propfind xmlns:A="DAV:">
+  <A:prop>
+    <A:add-member/>
+    <C:allowed-sharing-modes xmlns:C="http://calendarserver.org/ns/"/>
+    <D:autoprovisioned xmlns:D="http://apple.com/ns/ical/"/>
+    <E:bulk-requests xmlns:E="http://me.com/_namespace/"/>
+    <D:calendar-color xmlns:D="http://apple.com/ns/ical/"/>
+    <B:calendar-description xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <B:calendar-free-busy-set xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <D:calendar-order xmlns:D="http://apple.com/ns/ical/"/>
+    <B:calendar-timezone xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <A:current-user-privilege-set/>
+    <B:default-alarm-vevent-date xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <B:default-alarm-vevent-datetime xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <A:displayname/>
+    <C:getctag xmlns:C="http://calendarserver.org/ns/"/>
+    <C:invite xmlns:C="http://calendarserver.org/ns/"/>
+    <D:language-code xmlns:D="http://apple.com/ns/ical/"/>
+    <D:location-code xmlns:D="http://apple.com/ns/ical/"/>
+    <A:owner/>
+    <C:pre-publish-url xmlns:C="http://calendarserver.org/ns/"/>
+    <C:publish-url xmlns:C="http://calendarserver.org/ns/"/>
+    <C:push-transports xmlns:C="http://calendarserver.org/ns/"/>
+    <C:pushkey xmlns:C="http://calendarserver.org/ns/"/>
+    <A:quota-available-bytes/>
+    <A:quota-used-bytes/>
+    <D:refreshrate xmlns:D="http://apple.com/ns/ical/"/>
+    <A:resource-id/>
+    <A:resourcetype/>
+    <B:schedule-calendar-transp xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <B:schedule-default-calendar-URL xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <C:source xmlns:C="http://calendarserver.org/ns/"/>
+    <C:subscribed-strip-alarms xmlns:C="http://calendarserver.org/ns/"/>
+    <C:subscribed-strip-attachments xmlns:C="http://calendarserver.org/ns/"/>
+    <C:subscribed-strip-todos xmlns:C="http://calendarserver.org/ns/"/>
+    <B:supported-calendar-component-set xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <B:supported-calendar-component-sets xmlns:B="urn:ietf:params:xml:ns:caldav"/>
+    <A:supported-report-set/>
+    <A:sync-token/>
+  </A:prop>
+</A:propfind>
+"""
+        request = SimpleStoreRequest(self, "PROPFIND", "/calendars/__uids__/user02/", content=body, authid="user02")
+        request.headers.setHeader("content-type", MimeType("text", "xml"))
+        request.headers.setHeader("depth", "1")
+        response = yield self.send(request)
+        response = IResponse(response)
+        self.assertEqual(response.code, resultcode)
+
+        if response.stream:
+            data = yield allDataFromStream(response.stream)
+            returnValue(data)
+        else:
+            returnValue(None)
+
+
+    @inlineCallbacks
     def _getResource(self):
         request = SimpleStoreRequest(self, "GET", "/calendars/__uids__/user01/calendar/")
         resource = yield request.locateResource("/calendars/__uids__/user01/calendar/")
@@ -1342,6 +1401,9 @@
         self.directory.destroyRecord("users", "user01")
         self.patch(FakePrincipal, "invalid_names", set(("user01",)))
 
+        data = yield self._doPROPFINDHome()
+        self.assertTrue(data is not None)
+
         resource = (yield self._getResourceSharer(href))
         propInvite = yield resource.inviteProperty(FakeRequest())
         self.assertEquals(propInvite, None)
@@ -1394,6 +1456,9 @@
         self.directory.destroyRecord("users", "user01")
         self.patch(FakePrincipal, "invalid_names", set(("user01",)))
 
+        data = yield self._doPROPFINDHome()
+        self.assertTrue(data is not None)
+
         resource = (yield self._getResourceSharer(href))
         propInvite = yield resource.inviteProperty(FakeRequest())
         self.assertEquals(propInvite, None)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150203/2637a89b/attachment.html>


More information about the calendarserver-changes mailing list