[CalendarServer-changes] [107] CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test

source_changes at macosforge.org source_changes at macosforge.org
Thu Sep 7 08:23:59 PDT 2006


Revision: 107
Author:   cdaboo at apple.com
Date:     2006-09-07 08:23:57 -0700 (Thu, 07 Sep 2006)

Log Message:
-----------
Fixing tests for new deferred behavior.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_calendarquery.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_collectioncontents.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_freebusyquery.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_mkcalendar.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_multiget.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_options.py
    CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_props.py

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_calendarquery.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_calendarquery.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_calendarquery.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -24,8 +24,9 @@
 from twisted.web2.iweb import IResponse
 from twisted.web2.stream import MemoryStream
 from twisted.web2.dav import davxml
-from twisted.web2.dav.test.util import SimpleRequest
+from twisted.web2.dav.fileop import rmdir
 from twisted.web2.dav.util import davXMLFromStream
+from twisted.web2.test.test_server import SimpleRequest
 
 import twistedcaldav.test.util
 from twistedcaldav import caldavxml
@@ -93,7 +94,7 @@
 
         def got_xml(doc):
             if not isinstance(doc.root_element, davxml.MultiStatus):
-                self.fail("REPORT response XML root element is not multistatus: %r" % (multistatus,))
+                self.fail("REPORT response XML root element is not multistatus: %r" % (doc.root_element,))
 
             for response in doc.root_element.childrenOfType(davxml.PropertyStatusResponse):
                 properties_to_find = [p.qname() for p in calendar_properties]
@@ -156,7 +157,6 @@
         Event by UID.
         (CalDAV-access-09, section 7.6.6)
         """
-        cal_uri = "/calendar_query_uid/"
         uid = "C3189A88-1ED0-11D9-A5E0-000A958A3252"
 
         return self.simple_event_query(
@@ -203,7 +203,7 @@
 
         def got_xml(doc):
             if not isinstance(doc.root_element, davxml.MultiStatus):
-                self.fail("REPORT response XML root element is not multistatus: %r" % (multistatus,))
+                self.fail("REPORT response XML root element is not multistatus: %r" % (doc.root_element,))
 
             for response in doc.root_element.childrenOfType(davxml.PropertyStatusResponse):
                 for propstat in response.childrenOfType(davxml.PropertyStatus):
@@ -211,10 +211,8 @@
 
                     if status.code != responsecode.OK:
                         self.fail("REPORT failed (status %s) to locate properties: %r"
-                                  % (status.code, properties))
+                                  % (status.code, propstat))
 
-                    caldata = propstat.childOfType(davxml.PropertyContainer).childOfType(caldavxml.CalendarData)
-
                     properties = propstat.childOfType(davxml.PropertyContainer).children
 
                     for property in properties:
@@ -275,8 +273,8 @@
 
                 return davXMLFromStream(response.stream).addCallback(got_xml)
 
-            return self.send(request, do_test, calendar_path)
+            return self.send(request, do_test)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
 
-        return self.send(request, do_report, calendar_path)
+        return self.send(request, do_report)

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_collectioncontents.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_collectioncontents.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_collectioncontents.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -24,7 +24,7 @@
 from twisted.web2.stream import MemoryStream, FileStream
 from twisted.web2.http_headers import MimeType
 from twisted.web2.dav.fileop import rmdir
-from twisted.web2.dav.test.util import SimpleRequest
+from twisted.web2.test.test_server import SimpleRequest
 
 from twistedcaldav.ical import Component
 from twistedcaldav.static import CalDAVFile
@@ -56,13 +56,12 @@
                     self.fail("Incorrect response to nested MKCOL: %s" % (response.code,))
 
             nested_uri  = os.path.join(calendar_uri, "nested")
-            nested_path = os.path.join(self.docroot, nested_uri[1:])
 
             request = SimpleRequest(self.site, "MKCOL", nested_uri)
-            self.send(request, mkcol_cb, nested_path)
+            self.send(request, mkcol_cb)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
-        return self.send(request, mkcalendar_cb, calendar_path)
+        return self.send(request, mkcalendar_cb)
 
     def test_bogus_file(self):
         """
@@ -70,9 +69,11 @@
         """
         # FIXME: Should FileStream be OK here?
         dst_file = file(__file__)
-        try: stream = FileStream(dst_file)
-        finally: dst_file.close()
-        return self._test_file_in_calendar("bogus file in calendar", (stream, responsecode.FORBIDDEN))
+        try:
+            stream = FileStream(dst_file)
+            return self._test_file_in_calendar("bogus file in calendar", (stream, responsecode.FORBIDDEN))
+        finally:
+            dst_file.close()
 
     def test_monolithic_ical(self):
         """
@@ -80,9 +81,11 @@
         """
         # FIXME: Should FileStream be OK here?
         dst_file = file(os.path.join(self.data_dir, "Holidays.ics"))
-        try: stream = FileStream(dst_file)
-        finally: dst_file.close()
-        return self._test_file_in_calendar("monolithic iCalendar file in calendar", (stream, responsecode.FORBIDDEN))
+        try:
+            stream = FileStream(dst_file)
+            return self._test_file_in_calendar("monolithic iCalendar file in calendar", (stream, responsecode.FORBIDDEN))
+        finally:
+            dst_file.close()
 
     def test_single_events(self):
         """
@@ -146,17 +149,16 @@
                         self.fail("Incorrect response to %s: %s (!= %s)" % (what, response.code, response_code))
 
                 dst_uri  = os.path.join(calendar_uri, "dst%d.ics" % (c,))
-                dst_path = os.path.join(self.docroot, dst_uri[1:])
     
                 request = SimpleRequest(self.site, "PUT", dst_uri)
                 request.headers.setHeader("if-none-match", "*")
                 request.headers.setHeader("content-type", MimeType("text", "calendar"))
                 request.stream = stream
-                ds.append(self.send(request, put_cb, dst_path))
+                ds.append(self.send(request, put_cb))
 
                 c += 1
 
             return DeferredList(ds)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
-        return self.send(request, mkcalendar_cb, calendar_path)
+        return self.send(request, mkcalendar_cb)

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_freebusyquery.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_freebusyquery.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_freebusyquery.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -27,8 +27,8 @@
 from twisted.web2.stream import MemoryStream
 from twisted.web2.dav import davxml
 from twisted.web2.dav.fileop import rmdir
-from twisted.web2.dav.test.util import SimpleRequest
 from twisted.web2.dav.util import davXMLFromStream
+from twisted.web2.test.test_server import SimpleRequest
 
 import twistedcaldav.test.util
 from twistedcaldav import caldavxml

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_mkcalendar.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_mkcalendar.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_mkcalendar.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -15,6 +15,8 @@
 #
 # DRI: Wilfredo Sanchez, wsanchez at apple.com
 ##
+from twisted.internet.defer import waitForDeferred
+from twisted.internet.defer import deferredGenerator
 
 import os
 
@@ -23,7 +25,7 @@
 from twisted.web2.stream import MemoryStream
 from twisted.web2.dav import davxml
 from twisted.web2.dav.fileop import rmdir
-from twisted.web2.dav.test.util import SimpleRequest
+from twisted.web2.test.test_server import SimpleRequest
 
 import twistedcaldav.test.util
 from twistedcaldav import caldavxml
@@ -61,7 +63,7 @@
                           % (response.code,))
 
         request = SimpleRequest(self.site, "MKCALENDAR", uri)
-        return self.send(request, do_test, path)
+        return self.send(request, do_test)
 
     def test_make_calendar_with_props(self):
         """
@@ -86,12 +88,18 @@
                 (davxml.DisplayName.qname(), "Lisa's Events"),
                 (caldavxml.CalendarDescription.qname(), "Calendar restricted to events."),
             ):
-                stored = str(resource.readProperty(qname, None))
+                stored = waitForDeferred(resource.readProperty(qname, None))
+                yield stored
+                stored = stored.getResult()
+                stored = str(stored)
                 if stored != value:
                     self.fail("MKCALENDAR failed to set property %s: %s != %s"
                               % (qname, stored, value))
 
-            supported_components = resource.readProperty(caldavxml.SupportedCalendarComponentSet, None).children
+            supported_components = waitForDeferred(resource.readProperty(caldavxml.SupportedCalendarComponentSet, None))
+            yield supported_components
+            supported_components = supported_components.getResult()
+            supported_components = supported_components.children
             if len(supported_components) != 1:
                 self.fail("MKCALENDAR failed to set property %s: len(%s) != 1"
                           % (caldavxml.SupportedCalendarComponentSet.qname(), supported_components))
@@ -100,9 +108,14 @@
                           % (caldavxml.SupportedCalendarComponentSet.qname(),
                              supported_components[0].toxml(), caldavxml.CalendarComponent(name="VEVENT").toxml()))
 
-            tz = resource.readProperty(caldavxml.CalendarTimeZone, None).calendar()
+            tz = waitForDeferred(resource.readProperty(caldavxml.CalendarTimeZone, None))
+            yield tz
+            tz = tz.getResult()
+            tz = tz.calendar()
             self.failUnless(tz.resourceType() == "VTIMEZONE")
             self.failUnless(tuple(tz.subcomponents())[0].propertyValue("TZID") == "US-Eastern")
+        
+        do_test = deferredGenerator(do_test)
 
         mk = caldavxml.MakeCalendar(
             davxml.Set(
@@ -141,7 +154,7 @@
 
         request = SimpleRequest(self.site, "MKCALENDAR", uri)
         request.stream = MemoryStream(mk.toxml())
-        return self.send(request, do_test, path)
+        return self.send(request, do_test)
 
     def test_make_calendar_no_parent(self):
         """
@@ -159,7 +172,7 @@
             # FIXME: Check for CalDAV:calendar-collection-location-ok element
 
         request = SimpleRequest(self.site, "MKCALENDAR", uri)
-        return self.send(request, do_test, path)
+        return self.send(request, do_test)
 
     def test_make_calendar_on_resource(self):
         """
@@ -181,7 +194,7 @@
             # FIXME: Check for DAV:resource-must-be-null element
 
         request = SimpleRequest(self.site, "MKCALENDAR", uri)
-        return self.send(request, do_test, path)
+        return self.send(request, do_test)
 
     def test_make_calendar_in_calendar(self):
         """
@@ -208,7 +221,7 @@
             nested_path = os.path.join(self.docroot, nested_uri[1:])
 
             request = SimpleRequest(self.site, "MKCALENDAR", nested_uri)
-            self.send(request, do_test, nested_path)
+            self.send(request, do_test)
 
         request = SimpleRequest(self.site, "MKCALENDAR", first_uri)
-        return self.send(request, next, first_path)
+        return self.send(request, next)

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_multiget.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_multiget.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_multiget.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -24,8 +24,8 @@
 from twisted.web2.stream import MemoryStream
 from twisted.web2.dav import davxml
 from twisted.web2.dav.fileop import rmdir
-from twisted.web2.dav.test.util import SimpleRequest
 from twisted.web2.dav.util import davXMLFromStream
+from twisted.web2.test.test_server import SimpleRequest
 
 import twistedcaldav.test.util
 from twistedcaldav import caldavxml
@@ -115,7 +115,11 @@
             
             for response in doc.root_element.childrenOfType(davxml.StatusResponse):
                 href = str(response.childOfType(davxml.HRef))
-                status = response.childOfType(davxml.Status)
+                propstatus = response.childOfType(davxml.PropertyStatus)
+                if propstatus is not None:
+                    status = propstatus.childOfType(davxml.Status)
+                else:
+                    status = response.childOfType(davxml.Status)
                 if status.code != responsecode.OK:
                     if href in okhrefs:
                         self.fail("REPORT failed (status %s) to locate properties: %r"
@@ -165,8 +169,8 @@
 
                 return davXMLFromStream(response.stream).addCallback(got_xml)
 
-            return self.send(request, do_test, calendar_path)
+            return self.send(request, do_test)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
 
-        return self.send(request, do_report, calendar_path)
+        return self.send(request, do_report)

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_options.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_options.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_options.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -17,7 +17,7 @@
 ##
 
 from twisted.web2.iweb import IResponse
-from twisted.web2.dav.test.util import SimpleRequest
+from twisted.web2.test.test_server import SimpleRequest
 
 import twistedcaldav.test.util
 

Modified: CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_props.py
===================================================================
--- CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_props.py	2006-09-07 15:16:54 UTC (rev 106)
+++ CalendarServer/branches/users/cdaboo/acl-merge/twistedcaldav/test/test_props.py	2006-09-07 15:23:57 UTC (rev 107)
@@ -23,8 +23,8 @@
 from twisted.web2 import responsecode
 from twisted.web2.iweb import IResponse
 from twisted.web2.dav import davxml
-from twisted.web2.dav.test.util import SimpleRequest
 from twisted.web2.dav.util import davXMLFromStream
+from twisted.web2.test.test_server import SimpleRequest
 from twistedcaldav import caldavxml
 
 import twistedcaldav.test.util
@@ -139,10 +139,10 @@
 
             request = SimpleRequest(self.site, "PROPFIND", calendar_uri)
             request.stream = MemoryStream(query.toxml())
-            return self.send(request, propfind_cb, calendar_path)
+            return self.send(request, propfind_cb)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
-        return self.send(request, mkcalendar_cb, calendar_path)
+        return self.send(request, mkcalendar_cb)
 
     def test_all_props(self):
         """
@@ -205,8 +205,8 @@
 
             request = SimpleRequest(self.site, "PROPFIND", calendar_uri)
             request.stream = MemoryStream(query.toxml())
-            return self.send(request, propfind_cb, calendar_path)
+            return self.send(request, propfind_cb)
 
         request = SimpleRequest(self.site, "MKCALENDAR", calendar_uri)
-        return self.send(request, mkcalendar_cb, calendar_path)
+        return self.send(request, mkcalendar_cb)
         

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


More information about the calendarserver-changes mailing list