[CalendarServer-changes] [12799] CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common /datastore/upgrade/sql/upgrades

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 4 14:51:30 PST 2014


Revision: 12799
          http://trac.calendarserver.org//changeset/12799
Author:   cdaboo at apple.com
Date:     2014-03-04 14:51:30 -0800 (Tue, 04 Mar 2014)
Log Message:
-----------
Make sure pre-existing inbox items are always set to transparent.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/calendar_upgrade_from_5_to_6.py
    CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/test/test_upgrade_from_5_to_6.py

Modified: CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/calendar_upgrade_from_5_to_6.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/calendar_upgrade_from_5_to_6.py	2014-03-04 22:06:44 UTC (rev 12798)
+++ CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/calendar_upgrade_from_5_to_6.py	2014-03-04 22:51:30 UTC (rev 12799)
@@ -19,7 +19,8 @@
 
 from twisted.internet.defer import inlineCallbacks
 
-from txdav.common.datastore.sql_tables import schema, _BIND_MODE_OWN
+from txdav.common.datastore.sql_tables import schema, _BIND_MODE_OWN, \
+    _TRANSP_TRANSPARENT
 from txdav.common.datastore.upgrade.sql.upgrades.util import updateCalendarDataVersion, \
     updateAllCalendarHomeDataVersions
 
@@ -37,6 +38,8 @@
 
     sqlTxn = sqlStore.newTransaction()
     cb = schema.CALENDAR_BIND
+
+    # Fix shared calendar alarms which should default to "empty"
     yield Update(
         {
             cb.ALARM_VEVENT_TIMED: "empty",
@@ -46,6 +49,14 @@
         },
         Where=(cb.BIND_MODE != _BIND_MODE_OWN)
     ).on(sqlTxn)
+
+    # Fix inbox transparency which should always be True
+    yield Update(
+        {
+            cb.TRANSP: _TRANSP_TRANSPARENT,
+        },
+        Where=(cb.CALENDAR_RESOURCE_NAME == "inbox")
+    ).on(sqlTxn)
     yield sqlTxn.commit()
 
     # Always bump the DB value

Modified: CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/test/test_upgrade_from_5_to_6.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/test/test_upgrade_from_5_to_6.py	2014-03-04 22:06:44 UTC (rev 12798)
+++ CalendarServer/branches/release/CalendarServer-5.2-dev/txdav/common/datastore/upgrade/sql/upgrades/test/test_upgrade_from_5_to_6.py	2014-03-04 22:51:30 UTC (rev 12799)
@@ -63,6 +63,9 @@
         for vevent, timed, alarm in detailscalendar:
             yield calendar.setDefaultAlarm(alarm, vevent, timed)
 
+        inbox = yield self.calendarUnderTest(name="inbox", home="user01")
+        yield inbox.setUsedForFreeBusy(True)
+
         home2 = yield self.homeUnderTest(name="user02")
         shared_name2 = yield calendar.shareWith(home2, _BIND_MODE_WRITE)
         shared = yield self.calendarUnderTest(name=shared_name2, home="user02")
@@ -98,7 +101,7 @@
 
 
     @inlineCallbacks
-    def _upgrade_check(self, detailshome, detailscalendar, detailsshared, shared_name2, shared_name3):
+    def _upgrade_alarms_check(self, detailshome, detailscalendar, detailsshared, shared_name2, shared_name3):
 
         # Check each type of collection
         home = yield self.homeUnderTest(name="user01")
@@ -134,7 +137,23 @@
 
 
     @inlineCallbacks
+    def _upgrade_inbox_check(self, detailshome, detailscalendar, detailsshared, shared_name2, shared_name3):
+
+        calendar = yield self.calendarUnderTest(name="calendar_1", home="user01")
+        self.assertTrue(calendar.isUsedForFreeBusy())
+        inbox = yield self.calendarUnderTest(name="inbox", home="user01")
+        self.assertFalse(inbox.isUsedForFreeBusy())
+
+
+    @inlineCallbacks
     def test_defaultAlarmUpgrade(self):
         detailshome, detailscalendar, detailsshared, shared_name2, shared_name3 = (yield self._upgrade_setup())
         yield doUpgrade(self._sqlCalendarStore)
-        yield self._upgrade_check(detailshome, detailscalendar, detailsshared, shared_name2, shared_name3)
+        yield self._upgrade_alarms_check(detailshome, detailscalendar, detailsshared, shared_name2, shared_name3)
+
+
+    @inlineCallbacks
+    def test_inboxTranspUpgrade(self):
+        detailshome, detailscalendar, detailsshared, shared_name2, shared_name3 = (yield self._upgrade_setup())
+        yield doUpgrade(self._sqlCalendarStore)
+        yield self._upgrade_inbox_check(detailshome, detailscalendar, detailsshared, shared_name2, shared_name3)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140304/5c715bd7/attachment-0001.html>


More information about the calendarserver-changes mailing list