[CalendarServer-changes] [14634] CalendarServer/trunk/txdav
source_changes at macosforge.org
source_changes at macosforge.org
Mon Mar 30 09:59:34 PDT 2015
Revision: 14634
http://trac.calendarserver.org//changeset/14634
Author: sagen at apple.com
Date: 2015-03-30 09:59:34 -0700 (Mon, 30 Mar 2015)
Log Message:
-----------
Fix default calendar related unit tests to work with trash
Modified Paths:
--------------
CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
CalendarServer/trunk/txdav/common/datastore/sql.py
Modified: CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2015-03-30 16:19:36 UTC (rev 14633)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2015-03-30 16:59:34 UTC (rev 14634)
@@ -1218,12 +1218,14 @@
home = yield self.transactionUnderTest().calendarHomeWithUID("home_defaults")
self.assertEqual(home._default_events, default_events._resourceID)
self.assertEqual(home._default_tasks, default_tasks._resourceID)
- yield home.removeCalendarWithName("calendar_1-vtodo", bypassTrash=True)
+ yield home.removeCalendarWithName("calendar_1-vtodo", bypassTrash=False)
yield self.commit()
home = yield self.transactionUnderTest().calendarHomeWithUID("home_defaults")
- self.assertEqual(home._default_events, default_events._resourceID)
- self.assertEqual(home._default_tasks, None)
+ default_events = yield home.defaultCalendar("VEVENT", create=False)
+ self.assertTrue(default_events is not None)
+ default_tasks = yield home.defaultCalendar("VTODO", create=False)
+ self.assertTrue(default_tasks is None)
default_tasks2 = yield home.defaultCalendar("VTODO")
self.assertTrue(default_tasks2 is not None)
@@ -1290,19 +1292,19 @@
calendar1 = yield home.calendarWithName("calendar_1")
default_events = yield home.defaultCalendar("VEVENT")
self.assertTrue(default_events is not None)
- self.assertEqual(home._default_events, calendar1._resourceID)
+ self.assertEqual(default_events._resourceID, calendar1._resourceID)
yield self.commit()
home = yield self.homeUnderTest(name="home_defaults")
calendar1 = yield home.calendarWithName("calendar_1")
- yield calendar1.remove(bypassTrash=True)
+ yield calendar1.remove(bypassTrash=False)
yield self.commit()
home = yield self.homeUnderTest(name="home_defaults")
- self.assertEqual(home._default_events, None)
- self.assertEqual(home._default_tasks, None)
- calendars = yield home.listCalendars()
- self.assertEqual(calendars, ["inbox", ])
+ default_events = yield home.defaultCalendar("VEVENT", create=False)
+ self.assertEqual(default_events, None)
+ default_tasks = yield home.defaultCalendar("VTODO", create=False)
+ self.assertEqual(default_tasks, None)
yield self.commit()
home = yield self.homeUnderTest(name="home_defaults")
@@ -1314,11 +1316,40 @@
calendar1 = yield home.calendarWithName(default_events.name())
default_events = yield home.defaultCalendar("VEVENT")
self.assertTrue(default_events is not None)
- self.assertEqual(home._default_events, calendar1._resourceID)
+ self.assertEqual(default_events._resourceID, calendar1._resourceID)
yield self.commit()
@inlineCallbacks
+ def test_defaultCalendar_delete_and_recover(self):
+ """
+ Make sure a default_events calendar is re-assigned after recovering from trash
+ """
+
+ if config.EnableTrashCollection:
+ home = yield self.homeUnderTest(name="home_defaults")
+ calendar1 = yield home.calendarWithName("calendar_1")
+ default_events = yield home.defaultCalendar("VEVENT")
+ self.assertEqual(default_events._resourceID, calendar1._resourceID)
+ yield self.commit()
+
+ home = yield self.homeUnderTest(name="home_defaults")
+ calendar1 = yield home.calendarWithName("calendar_1")
+ yield calendar1.remove(bypassTrash=False)
+ default_events = yield home.defaultCalendar("VEVENT", create=False)
+ self.assertTrue(default_events is None)
+ yield self.commit()
+
+ home = yield self.homeUnderTest(name="home_defaults")
+ trashChildren = yield home.children(onlyInTrash=True)
+ calendar1 = trashChildren[0]
+ yield calendar1.fromTrash()
+ default_events = yield home.defaultCalendar("VEVENT")
+ self.assertEqual(default_events._resourceID, calendar1._resourceID)
+ yield self.commit()
+
+
+ @inlineCallbacks
def test_resourceLock(self):
"""
Test CommonObjectResource.lock to make sure it locks, raises on missing resource,
Modified: CalendarServer/trunk/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/sql.py 2015-03-30 16:19:36 UTC (rev 14633)
+++ CalendarServer/trunk/txdav/common/datastore/sql.py 2015-03-30 16:59:34 UTC (rev 14634)
@@ -3518,10 +3518,7 @@
)
newName = "{}-{}".format(self._name[:36], str(uuid4()))
yield self.rename(newName)
- # yield self.notifyPropertyChanged()
- # yield self.invalidateQueryCache()
yield self._deletedSyncToken()
- # yield self._home.notifyChanged()
# Update _children cache to reflect moving to trash
try:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150330/2202e7d6/attachment.html>
More information about the calendarserver-changes
mailing list