[CalendarServer-changes] [5590] CalendarServer/branches/users/wsanchez/transations/twistedcaldav/ test/test_collectioncontents.py

source_changes at macosforge.org source_changes at macosforge.org
Tue May 11 21:43:37 PDT 2010


Revision: 5590
          http://trac.macosforge.org/projects/calendarserver/changeset/5590
Author:   glyph at apple.com
Date:     2010-05-11 21:43:35 -0700 (Tue, 11 May 2010)
Log Message:
-----------
remove dependence on 'os' module.

Modified Paths:
--------------
    CalendarServer/branches/users/wsanchez/transations/twistedcaldav/test/test_collectioncontents.py

Modified: CalendarServer/branches/users/wsanchez/transations/twistedcaldav/test/test_collectioncontents.py
===================================================================
--- CalendarServer/branches/users/wsanchez/transations/twistedcaldav/test/test_collectioncontents.py	2010-05-11 09:55:35 UTC (rev 5589)
+++ CalendarServer/branches/users/wsanchez/transations/twistedcaldav/test/test_collectioncontents.py	2010-05-12 04:43:35 UTC (rev 5590)
@@ -14,9 +14,7 @@
 # limitations under the License.
 ##
 
-import os
-
-from twisted.internet.defer import DeferredList, succeed
+from twisted.internet.defer import DeferredList
 from twext.python.filepath import CachingFilePath as FilePath
 from twext.web2 import responsecode
 from twext.web2.iweb import IResponse
@@ -36,8 +34,9 @@
     """
     PUT request
     """
-    data_dir = FilePath(__file__).sibling("data").path
 
+    dataPath = FilePath(__file__).sibling("data")
+
     def setUp(self):
         # Need to fake out memcache
         def _getFakeMemcacheProtocol(self):
@@ -46,7 +45,7 @@
                 result = self._memcacheProtocol = Memcacher.memoryCacher()
             return result
 
-        self.patch(MemcacheLock, "_getMemcacheProtocol", 
+        self.patch(MemcacheLock, "_getMemcacheProtocol",
                    _getFakeMemcacheProtocol)
 
         # Need to not do implicit behavior during these tests
@@ -67,7 +66,8 @@
         Make (regular) collection in calendar
         """
         calendar_path, calendar_uri = self.mkdtemp("collection_in_calendar")
-        os.rmdir(calendar_path)
+        calPath = FilePath(calendar_path)
+        calPath.remove()
 
         def mkcalendar_cb(response):
             response = IResponse(response)
@@ -81,7 +81,7 @@
                 if response.code != responsecode.FORBIDDEN:
                     self.fail("Incorrect response to nested MKCOL: %s" % (response.code,))
 
-            nested_uri  = os.path.join(calendar_uri, "nested")
+            nested_uri = "/".join([calendar_uri, "nested"])
 
             request = SimpleRequest(self.site, "MKCOL", nested_uri)
             self.send(request, mkcol_cb)
@@ -101,27 +101,37 @@
         finally:
             dst_file.close()
 
+    def openHolidays(self):
+        """
+        Open the 'Holidays.ics' calendar.
+
+        @return: an open file pointing at the start of Holidays.ics
+
+        @rtype: C{file}
+        """
+        f = self.dataPath.child("Holidays.ics").open()
+        self.addCleanup(f.close)
+        return f
+
+
     def test_monolithic_ical(self):
         """
         Monolithic iCalendar file in calendar collection
         """
         # FIXME: Should FileStream be OK here?
-        dst_file = file(os.path.join(self.data_dir, "Holidays.ics"))
-        try:
-            stream = FileStream(dst_file)
-            return self._test_file_in_calendar("monolithic iCalendar file in calendar", (stream, responsecode.FORBIDDEN))
-        finally:
-            dst_file.close()
+        dst_file = self.openHolidays()
+        stream = FileStream(dst_file)
+        return self._test_file_in_calendar("monolithic iCalendar file in calendar", (stream, responsecode.FORBIDDEN))
 
+
     def test_single_events(self):
         """
         Single events in calendar collection
         """
         work = []
 
-        stream = file(os.path.join(self.data_dir, "Holidays.ics"))
-        try: calendar = Component.fromStream(stream)
-        finally: stream.close()
+        stream = self.openHolidays()
+        calendar = Component.fromStream(stream)
 
         for subcomponent in calendar.subcomponents():
             if subcomponent.name() == "VEVENT":
@@ -132,20 +142,24 @@
 
         return self._test_file_in_calendar("single event in calendar", *work)
 
+
     def test_duplicate_uids(self):
         """
         Mutiple resources with the same UID.
         """
-        stream = file(os.path.join(self.data_dir, "Holidays", "C318AA54-1ED0-11D9-A5E0-000A958A3252.ics"))
+        stream = self.dataPath.child(
+            "Holidays").child(
+            "C318AA54-1ED0-11D9-A5E0-000A958A3252.ics").open()
         try: calendar = str(Component.fromStream(stream))
         finally: stream.close()
 
         return self._test_file_in_calendar(
             "mutiple resources with the same UID",
-            (MemoryStream(calendar), responsecode.CREATED  ),
+            (MemoryStream(calendar), responsecode.CREATED),
             (MemoryStream(calendar), responsecode.FORBIDDEN),
         )
 
+
     def _test_file_in_calendar(self, what, *work):
         """
         Creates a calendar collection, then PUTs a resource into that collection
@@ -153,7 +167,8 @@
         PUT request matches the given response_code.
         """
         calendar_path, calendar_uri = self.mkdtemp("calendar")
-        os.rmdir(calendar_path)
+        calPath = FilePath(calendar_path)
+        calPath.remove()
 
         def mkcalendar_cb(response):
             response = IResponse(response)
@@ -161,7 +176,7 @@
             if response.code != responsecode.CREATED:
                 self.fail("MKCALENDAR failed: %s" % (response.code,))
 
-            if not os.path.isdir(calendar_path):
+            if not calPath.isdir():
                 self.fail("MKCALENDAR did not create a collection")
 
             ds = []
@@ -170,12 +185,11 @@
             for stream, response_code in work:
                 def put_cb(response, stream=stream, response_code=response_code):
                     response = IResponse(response)
-    
+
                     if response.code != response_code:
                         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_uri = "/".join([calendar_uri, "dst%d.ics" % (c,)])
                 request = SimpleRequest(self.site, "PUT", dst_uri)
                 request.headers.setHeader("if-none-match", "*")
                 request.headers.setHeader("content-type", MimeType("text", "calendar"))
@@ -193,11 +207,9 @@
         """
         Make sure database files are not listed as children.
         """
-        colpath = self.site.resource.fp.path
-        fd = open(os.path.join(colpath, "._bogus"), "w")
-        fd.close()
-        fd = open(os.path.join(colpath, "bogus"), "w")
-        fd.close()
+        colpath = self.site.resource.fp
+        colpath.child("._bogus").touch()
+        colpath.child("bogus").touch()
         children = self.site.resource.listChildren()
         self.assertTrue("bogus" in children)
         self.assertFalse("._bogus" in children)
@@ -207,7 +219,8 @@
         Make (regular) collection in calendar
         """
         calendar_path, calendar_uri = self.mkdtemp("dot_file_in_calendar")
-        os.rmdir(calendar_path)
+        calPath = FilePath(calendar_path)
+        calPath.remove()
 
         def mkcalendar_cb(response):
             response = IResponse(response)
@@ -221,11 +234,14 @@
                 if response.code != responsecode.FORBIDDEN:
                     self.fail("Incorrect response to dot file PUT: %s" % (response.code,))
 
-            stream = file(os.path.join(self.data_dir, "Holidays", "C318AA54-1ED0-11D9-A5E0-000A958A3252.ics"))
+            stream = self.dataPath.child(
+                "Holidays").child(
+                "C318AA54-1ED0-11D9-A5E0-000A958A3252.ics"
+            ).open()
             try: calendar = str(Component.fromStream(stream))
             finally: stream.close()
 
-            event_uri  = os.path.join(calendar_uri, ".event.ics")
+            event_uri = "/".join([calendar_uri, ".event.ics"])
 
             request = SimpleRequest(self.site, "PUT", event_uri)
             request.headers.setHeader("content-type", MimeType("text", "calendar"))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100511/e33c4104/attachment.html>


More information about the calendarserver-changes mailing list