[CalendarServer-changes] [11616] CalendarServer/trunk/txdav/caldav/datastore
source_changes at macosforge.org
source_changes at macosforge.org
Mon Aug 19 10:38:32 PDT 2013
Revision: 11616
http://trac.calendarserver.org//changeset/11616
Author: cdaboo at apple.com
Date: 2013-08-19 10:38:32 -0700 (Mon, 19 Aug 2013)
Log Message:
-----------
Make sure inbox exists after doing file store migration.
Modified Paths:
--------------
CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
CalendarServer/trunk/txdav/caldav/datastore/test/test_util.py
CalendarServer/trunk/txdav/caldav/datastore/util.py
Modified: CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2013-08-19 17:21:45 UTC (rev 11615)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2013-08-19 17:38:32 UTC (rev 11616)
@@ -444,7 +444,7 @@
)
yield migrateHome(fromHome, toHome, lambda x: x.component())
toCalendars = yield toHome.calendars()
- self.assertEquals(set([c.name() for c in toCalendars]),
+ self.assertEquals(set([c.name() for c in toCalendars if c.name() != "inbox"]),
set([k for k in self.requirements['home1'].keys()
if self.requirements['home1'][k] is not None]))
fromCalendars = yield fromHome.calendars()
@@ -474,7 +474,7 @@
)
supported_components = set()
- self.assertEqual(len(toCalendars), 3)
+ self.assertEqual(len(toCalendars), 4)
for calendar in toCalendars:
if calendar.name() == "inbox":
continue
@@ -502,7 +502,7 @@
)
supported_components = set()
- self.assertEqual(len(toCalendars), 2)
+ self.assertEqual(len(toCalendars), 3)
for calendar in toCalendars:
if calendar.name() == "inbox":
continue
Modified: CalendarServer/trunk/txdav/caldav/datastore/test/test_util.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/test_util.py 2013-08-19 17:21:45 UTC (rev 11615)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/test_util.py 2013-08-19 17:38:32 UTC (rev 11616)
@@ -354,20 +354,19 @@
}, self.storeUnderTest())
txn = self.transactionUnderTest()
emptyHome = yield txn.calendarHomeWithUID("empty_home")
- self.assertIdentical((yield emptyHome.calendarWithName("calendar")),
- None)
+ 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)
+ self.assertIdentical((yield nonEmpty.calendarWithName("calendar")), None)
+ self.assertNotIdentical((yield nonEmpty.calendarWithName("inbox")), None)
+ self.assertNotIdentical((yield nonEmpty.calendarWithName("other-default-calendar")), None)
+
@staticmethod
def sampleEvent(uid, summary=None):
"""
Modified: CalendarServer/trunk/txdav/caldav/datastore/util.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/util.py 2013-08-19 17:21:45 UTC (rev 11615)
+++ CalendarServer/trunk/txdav/caldav/datastore/util.py 2013-08-19 17:38:32 UTC (rev 11616)
@@ -356,8 +356,7 @@
@inlineCallbacks
-def migrateHome(inHome, outHome, getComponent=lambda x: x.component(),
- merge=False):
+def migrateHome(inHome, outHome, getComponent=lambda x: x.component(), merge=False):
"""
Copy all calendars and properties in the given input calendar home to the
given output calendar home.
@@ -373,7 +372,7 @@
a calendar in outHome).
@param merge: a boolean indicating whether to raise an exception when
- encounting a conflicting element of data (calendar or event), or to
+ encountering a conflicting element of data (calendar or event), or to
attempt to merge them together.
@return: a L{Deferred} that fires with C{None} when the migration is
@@ -398,8 +397,7 @@
yield d
outCalendar = yield outHome.calendarWithName(name)
try:
- yield _migrateCalendar(calendar, outCalendar, getComponent,
- merge=merge)
+ yield _migrateCalendar(calendar, outCalendar, getComponent, merge=merge)
except InternalDataStoreError:
log.error(
" Failed to migrate calendar: %s/%s" % (inHome.name(), name,)
@@ -408,6 +406,11 @@
# No migration for notifications, since they weren't present in earlier
# released versions of CalendarServer.
+ # May need to create inbox if it was not present in the original file store for some reason
+ inboxCalendar = yield outHome.calendarWithName("inbox")
+ if inboxCalendar is None:
+ yield outHome.createCalendarWithName("inbox")
+
# May need to split calendars by component type
if config.RestrictCalendarsToOneComponentType:
yield outHome.splitCalendars()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130819/62923df1/attachment.html>
More information about the calendarserver-changes
mailing list