[CalendarServer-changes] [6363] CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/ datastore/test

source_changes at macosforge.org source_changes at macosforge.org
Thu Sep 23 18:44:24 PDT 2010


Revision: 6363
          http://trac.macosforge.org/projects/calendarserver/changeset/6363
Author:   glyph at apple.com
Date:     2010-09-23 18:44:20 -0700 (Thu, 23 Sep 2010)
Log Message:
-----------
more async calendar stuff

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/common.py
    CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_file.py
    CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_sql.py

Modified: CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/common.py
===================================================================
--- CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/common.py	2010-09-24 01:12:36 UTC (rev 6362)
+++ CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/common.py	2010-09-24 01:44:20 UTC (rev 6363)
@@ -174,11 +174,14 @@
         raise NotImplementedError()
 
 
+    @inlineCallbacks
     def homeUnderTest(self):
         """
         Get the calendar home detailed by C{requirements['home1']}.
         """
-        return self.transactionUnderTest().calendarHomeWithUID("home1")
+        returnValue(
+            (yield self.transactionUnderTest().calendarHomeWithUID("home1"))
+        )
 
 
     @inlineCallbacks
@@ -221,12 +224,13 @@
         self.assertProvides(ICalendarTransaction, txn)
 
 
+    @inlineCallbacks
     def test_homeProvides(self):
         """
         The calendar homes generated by the calendar store provide
         L{ICalendarHome} and its required attributes.
         """
-        self.assertProvides(ICalendarHome, self.homeUnderTest())
+        self.assertProvides(ICalendarHome, (yield self.homeUnderTest()))
 
 
     @inlineCallbacks
@@ -315,13 +319,14 @@
         self.assertEquals(calendar.notifierID(label="collection"), "CalDAV|home1/calendar_1")
 
 
+    @inlineCallbacks
     def test_calendarHomeWithUID_exists(self):
         """
         Finding an existing calendar home by UID results in an object that
         provides L{ICalendarHome} and has a C{uid()} method that returns the
         same value that was passed in.
         """
-        calendarHome = (self.transactionUnderTest()
+        calendarHome = (yield self.transactionUnderTest()
                         .calendarHomeWithUID("home1"))
         self.assertEquals(calendarHome.uid(), "home1")
         self.assertProvides(ICalendarHome, calendarHome)
@@ -428,16 +433,18 @@
         # right now
 
 
+    @inlineCallbacks
     def test_createCalendarWithName_exists(self):
         """
         L{ICalendarHome.createCalendarWithName} raises
         L{CalendarAlreadyExistsError} when the name conflicts with an already-
         existing 
         """
+        home = yield self.homeUnderTest()
         for name in home1_calendarNames:
             self.assertRaises(
                 HomeChildNameAlreadyExistsError,
-                self.homeUnderTest().createCalendarWithName, name
+                home.createCalendarWithName, name
             )
 
 
@@ -447,7 +454,7 @@
         L{ICalendarHome.removeCalendarWithName} removes a calendar that already
         exists.
         """
-        home = self.homeUnderTest()
+        home = yield self.homeUnderTest()
 
         # FIXME: test transactions
         for name in home1_calendarNames:
@@ -471,11 +478,12 @@
         )
 
 
+    @inlineCallbacks
     def test_removeCalendarWithName_absent(self):
         """
         Attempt to remove an non-existing calendar should raise.
         """
-        home = self.homeUnderTest()
+        home = yield self.homeUnderTest()
         self.assertRaises(NoSuchHomeChildError,
                           home.removeCalendarWithName, "xyzzy")
 
@@ -719,12 +727,13 @@
         )
 
 
+    @inlineCallbacks
     def test_calendarsAfterAddCalendar(self):
         """
         L{ICalendarHome.calendars} includes calendars recently added with
         L{ICalendarHome.createCalendarWithName}.
         """
-        home = self.homeUnderTest()
+        home = yield self.homeUnderTest()
         before = set(x.name() for x in home.calendars())
         home.createCalendarWithName("new-name")
         after = set(x.name() for x in home.calendars())
@@ -883,11 +892,12 @@
         self.assertProvides(IPropertyStore, properties)
 
 
+    @inlineCallbacks
     def test_homeProperties(self):
         """
         L{ICalendarHome.properties} returns a property store.
         """
-        self.checkPropertiesMethod(self.homeUnderTest())
+        self.checkPropertiesMethod((yield self.homeUnderTest()))
 
 
     @inlineCallbacks
@@ -1031,7 +1041,7 @@
             )
         )
         yield self.commit()
-        home = self.homeUnderTest()
+        home = yield self.homeUnderTest()
         cal = yield self.calendarUnderTest()
         fromName = cal.calendarObjectWithName(objName)
         fromDropbox = home.calendarObjectWithDropboxID("some-dropbox-id")
@@ -1139,9 +1149,10 @@
         t.loseConnection()
         yield self.commit()
         home = (yield self.homeUnderTest())
+        calendars = (yield home.calendars())
         self.assertEquals((yield home.calendarWithName("dropbox")), None)
         self.assertEquals(
-            set([n.name() for n in self.homeUnderTest().calendars()]),
+            set([n.name() for n in calendars]),
             set(home1_calendarNames))
 
 
@@ -1171,18 +1182,19 @@
             (yield home2.calendarWithName("calendar_1")), None)
 
 
+    @inlineCallbacks
     def test_dontLeakObjects(self):
         """
         Calendar objects in one user's calendar should not show up in another
         user's via uid or name queries.
         """
-        home1 = self.homeUnderTest()
-        home2 = self.transactionUnderTest().calendarHomeWithUID(
+        home1 = yield self.homeUnderTest()
+        home2 = yield self.transactionUnderTest().calendarHomeWithUID(
             "home2", create=True)
         calendar1 = yield home1.calendarWithName("calendar_1")
         calendar2 = yield home2.calendarWithName("calendar")
         objects = list(
-            (yield home2.calendarWithName("calendar").calendarObjects()))
+            (yield (yield home2.calendarWithName("calendar")).calendarObjects()))
         self.assertEquals(objects, [])
         for resourceName in self.requirements['home1']['calendar_1'].keys():
             obj = calendar1.calendarObjectWithName(resourceName)

Modified: CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_file.py
===================================================================
--- CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_file.py	2010-09-24 01:12:36 UTC (rev 6362)
+++ CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_file.py	2010-09-24 01:44:20 UTC (rev 6363)
@@ -22,9 +22,11 @@
 # deleted and replaced with either implementation-specific methods on
 # FileStorageTests, or implementation-agnostic methods on CommonTests.
 
-from twext.python.filepath import CachingFilePath as FilePath
 from twisted.trial import unittest
+from twisted.internet.defer import inlineCallbacks
 
+from twext.python.filepath import CachingFilePath as FilePath
+
 from twext.python.vcomponent import VComponent
 
 from txdav.common.icommondatastore import HomeChildNameNotAllowedError
@@ -471,10 +473,11 @@
                           self.storeRootPath)
 
 
+    @inlineCallbacks
     def test_calendarObjectsWithDotFile(self):
         """
         Adding a dotfile to the calendar home should not increase
         """
-        self.homeUnderTest()._path.child(".foo").createDirectory()
+        (yield self.homeUnderTest())._path.child(".foo").createDirectory()
         self.test_calendarObjects()
 

Modified: CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_sql.py	2010-09-24 01:12:36 UTC (rev 6362)
+++ CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_sql.py	2010-09-24 01:44:20 UTC (rev 6363)
@@ -119,27 +119,30 @@
                 "new.attachment")
         self.assertTrue(attachmentPath.isfile())
 
+
+    @inlineCallbacks
     def test_migrateCalendarFromFile(self):
         """
         C{_migrateCalendar()} can migrate a file-backed calendar to a database-
         backed calendar.
         """
-        fromCalendar = self.fileTransaction().calendarHomeWithUID(
-            "home1").calendarWithName("calendar_1")
-        toHome = self.transactionUnderTest().calendarHomeWithUID(
+        fromCalendar = yield (yield self.fileTransaction().calendarHomeWithUID(
+            "home1")).calendarWithName("calendar_1")
+        toHome = yield self.transactionUnderTest().calendarHomeWithUID(
             "new-home", create=True)
-        toCalendar = toHome.calendarWithName("calendar")
+        toCalendar = yield toHome.calendarWithName("calendar")
         _migrateCalendar(fromCalendar, toCalendar, lambda x: x.component())
         self.assertCalendarsSimilar(fromCalendar, toCalendar)
 
 
+    @inlineCallbacks
     def test_migrateHomeFromFile(self):
         """
         L{migrateHome} will migrate an L{ICalendarHome} provider from one
         backend to another; in this specific case, from the file-based backend
         to the SQL-based backend.
         """
-        fromHome = self.fileTransaction().calendarHomeWithUID("home1")
+        fromHome = yield self.fileTransaction().calendarHomeWithUID("home1")
 
         builtinProperties = [PropertyName.fromElement(ResourceType)]
 
@@ -148,10 +151,10 @@
 
         key = PropertyName.fromElement(GETContentLanguage)
         fromHome.properties()[key] = GETContentLanguage("C")
-        fromHome.calendarWithName("calendar_1").properties()[key] = (
+        (yield fromHome.calendarWithName("calendar_1")).properties()[key] = (
             GETContentLanguage("pig-latin")
         )
-        toHome = self.transactionUnderTest().calendarHomeWithUID(
+        toHome = yield self.transactionUnderTest().calendarHomeWithUID(
             "new-home", create=True
         )
         migrateHome(fromHome, toHome, lambda x: x.component())
@@ -160,7 +163,7 @@
                                if self.requirements['home1'][k] is not None]))
         for c in fromHome.calendars():
             self.assertPropertiesSimilar(
-                c, toHome.calendarWithName(c.name()),
+                c, (yield toHome.calendarWithName(c.name())),
                 builtinProperties
             )
         self.assertPropertiesSimilar(fromHome, toHome, builtinProperties)
@@ -253,8 +256,8 @@
         home1 = txn1.homeWithUID(ECALENDARTYPE, "uid1", create=True)
         home2 = txn2.homeWithUID(ECALENDARTYPE, "uid1", create=True)
         
-        adbk1 = home1.calendarWithName("calendar")
-        adbk2 = home2.calendarWithName("calendar")
+        adbk1 = yield home1.calendarWithName("calendar")
+        adbk2 = yield home2.calendarWithName("calendar")
         
         def _defer1():
             adbk1.createObjectResourceWithName("1.ics", VComponent.fromString(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100923/cd67ec3a/attachment-0001.html>


More information about the calendarserver-changes mailing list