[CalendarServer-changes] [8691] CalendarServer/branches/users/glyph/migrate-merge
source_changes at macosforge.org
source_changes at macosforge.org
Thu Feb 16 04:28:31 PST 2012
Revision: 8691
http://trac.macosforge.org/projects/calendarserver/changeset/8691
Author: glyph at apple.com
Date: 2012-02-16 04:28:30 -0800 (Thu, 16 Feb 2012)
Log Message:
-----------
unit-level test for migrateHome
Modified Paths:
--------------
CalendarServer/branches/users/glyph/migrate-merge/txdav/caldav/datastore/test/test_util.py
Property Changed:
----------------
CalendarServer/branches/users/glyph/migrate-merge/
Modified: CalendarServer/branches/users/glyph/migrate-merge/txdav/caldav/datastore/test/test_util.py
===================================================================
--- CalendarServer/branches/users/glyph/migrate-merge/txdav/caldav/datastore/test/test_util.py 2012-02-16 12:27:32 UTC (rev 8690)
+++ CalendarServer/branches/users/glyph/migrate-merge/txdav/caldav/datastore/test/test_util.py 2012-02-16 12:28:30 UTC (rev 8691)
@@ -18,6 +18,7 @@
Tests for txdav.caldav.datastore.util.
"""
+from twisted.trial.unittest import TestCase as BaseTestCase
from twext.web2.http_headers import MimeType
from twisted.internet.defer import inlineCallbacks
@@ -25,8 +26,10 @@
from twistedcaldav.ical import Component
from twistedcaldav.test.util import TestCase
+from txdav.common.datastore.test.util import buildStore, populateCalendarsFrom, CommonCommonTests
+
from txdav.caldav.datastore.util import dropboxIDFromCalendarObject,\
- StorageTransportBase
+ StorageTransportBase, migrateHome
class DropboxIDTests(TestCase):
"""
@@ -305,3 +308,49 @@
+class HomeMigrationTests(CommonCommonTests, BaseTestCase):
+ """
+ Tests for L{migrateHome}.
+ """
+
+ @inlineCallbacks
+ def setUp(self):
+ yield super(HomeMigrationTests, self).setUp()
+ self.theStore = yield buildStore(self, self.notifierFactory)
+
+
+ def storeUnderTest(self):
+ return self.theStore
+
+
+ @inlineCallbacks
+ def test_migrateEmptyHome(self):
+ """
+ Migrating an empty home into an existing home should destroy all the existing home's calendars.
+ """
+ yield populateCalendarsFrom({
+ "empty_home": {},
+ "non_empty_home": {
+ "calendar": {},
+ "inbox": {},
+ # XXX: implementation is configuration-sensitive regarding the
+ # 'tasks' calendar and it shouldn't be.
+ "tasks": {}
+ }
+ }, self.storeUnderTest())
+ txn = self.transactionUnderTest()
+ emptyHome = yield txn.calendarHomeWithUID("empty_home")
+ self.assertIdentical((yield emptyHome.calendarWithName("calendar")),
+ None)
+ nonEmpty = yield txn.calendarHomeWithUID("non_empty_home")
+ yield migrateHome(emptyHome, nonEmpty)
+ yield self.commit()
+ txn = self.transactionUnderTest()
+ emptyHome = yield txn.calendarHomeWithUID("empty_home")
+ nonEmpty = yield txn.calendarHomeWithUID("non_empty_home")
+ self.assertIdentical((yield nonEmpty.calendarWithName("inbox")),
+ None)
+ self.assertIdentical((yield nonEmpty.calendarWithName("calendar")),
+ None)
+
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120216/873d5177/attachment-0001.html>
More information about the calendarserver-changes
mailing list