[CalendarServer-changes] [4767] CalendarServer/branches/release/CalendarServer-2.4-dev

source_changes at macosforge.org source_changes at macosforge.org
Wed Nov 18 11:29:36 PST 2009


Revision: 4767
          http://trac.macosforge.org/projects/calendarserver/changeset/4767
Author:   glyph at apple.com
Date:     2009-11-18 11:29:35 -0800 (Wed, 18 Nov 2009)
Log Message:
-----------
Pulled up r4758 from trunk.

Revision Links:
--------------
    http://trac.macosforge.org/projects/calendarserver/changeset/4758

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/test/test_upgrade.py
    CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/upgrade.py

Property Changed:
----------------
    CalendarServer/branches/release/CalendarServer-2.4-dev/
    CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-privatecomments.txt
    CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-privatecomments.xml
    CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-schedulingchanges.txt
    CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-schedulingchanges.xml


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4439-4440,4448,4450,4464,4473-4475,4711-4712,4716-4717
   + /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4439-4440,4448,4450,4464,4473-4475,4711-4712,4716-4717,4758


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-privatecomments.txt
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4439-4440,4448,4450,4464,4473-4475,4717
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4439-4440,4448,4450,4464,4473-4475,4717,4758


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-privatecomments.xml
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4439-4440,4448,4450,4464,4473-4475,4717
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4439-4440,4448,4450,4464,4473-4475,4717,4758


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-schedulingchanges.txt
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4439-4440,4448,4450,4464,4473-4475,4717
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4439-4440,4448,4450,4464,4473-4475,4717,4758


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev/doc/Extensions/caldav-schedulingchanges.xml
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4439-4440,4448,4450,4464,4473-4475,4717
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4439-4440,4448,4450,4464,4473-4475,4717,4758

Modified: CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/test/test_upgrade.py	2009-11-18 19:20:04 UTC (rev 4766)
+++ CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/test/test_upgrade.py	2009-11-18 19:29:35 UTC (rev 4767)
@@ -224,6 +224,82 @@
         self.assertEquals(newValue, expected)
 
 
+    def verifyDirectoryComparison(self, before, after, reverify=False):
+        """
+        Verify that the hierarchy described by "before", when upgraded, matches
+        the hierarchy described by "after".
+
+        @param before: a dictionary of the format accepted by L{TestCase.createHierarchy}
+
+        @param after: a dictionary of the format accepted by L{TestCase.createHierarchy}
+
+        @param reverify: if C{True}, re-verify the hierarchy by upgrading a
+            second time and re-verifying the root again.
+
+        @raise twisted.trial.unittest.FailTest: if the test fails.
+
+        @return: C{None}
+        """
+        root = self.createHierarchy(before)
+
+        config.DocumentRoot = root
+        config.DataRoot = root
+
+        upgradeData(config)
+        self.assertTrue(self.verifyHierarchy(root, after))
+
+        if reverify:
+            # Ensure that repeating the process doesn't change anything
+            upgradeData(config)
+            self.assertTrue(self.verifyHierarchy(root, after))
+
+
+    def test_removeNotificationDirectories(self):
+        """
+        The upgrade process should remove unused notification directories in
+        users' calendar homes, as well as the XML files found therein.
+        """
+        self.setUpXMLDirectory()
+
+        before = {
+            "calendars": {
+                "users": {
+                    "wsanchez": {
+                        "calendar" : {},
+                        "notifications": {
+                            "sample-notification.xml": {
+                                "@contents":  "<?xml version='1.0'>\n<should-be-ignored />"
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        after = {
+            "calendars" : {
+                "__uids__" : {
+                    "64" : {
+                        "23" : {
+                            "6423F94A-6B76-4A3A-815B-D52CFD77935D" : {
+                                "calendar": {},
+                            }
+                        }
+                    }
+                }
+            },
+            ".calendarserver_version" : {
+                "@contents" : "1",
+            },
+            CalendarUserProxyDatabase.dbFilename : { "@contents" : None },
+            MailGatewayTokensDatabase.dbFilename : { "@contents" : None },
+            ResourceInfoDatabase.dbFilename : { "@contents" : None },
+            "tasks" : {"incoming" : {}}
+        }
+
+        self.verifyDirectoryComparison(before, after)
+
+
     def test_calendarsUpgradeWithTypes(self):
         """
         Verify that calendar homes in the /calendars/<type>/<shortname>/ form
@@ -358,20 +434,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
-
     def test_calendarsUpgradeWithOrphans(self):
         """
         Verify that calendar homes in the /calendars/<type>/<shortname>/ form
@@ -446,19 +511,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
     def test_calendarsUpgradeWithDuplicateOrphans(self):
         """
         Verify that calendar homes in the /calendars/<type>/<shortname>/ form
@@ -548,20 +603,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
-
     def test_calendarsUpgradeWithDSStore(self):
         """
         Verify that .DS_Store files don't hinder an upgrade
@@ -645,19 +689,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
     def test_calendarsUpgradeWithUIDs(self):
         """
         Verify that calendar homes in the /calendars/__uids__/<guid>/ form
@@ -760,18 +794,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
     def test_calendarsUpgradeWithUIDsMultilevel(self):
         """
         Verify that calendar homes in the /calendars/__uids__/XX/YY/<guid>/
@@ -890,19 +915,8 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after, reverify=True)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
-
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-        # Ensure that repeating the process doesn't change anything
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
     def test_calendarsUpgradeWithNoChange(self):
         """
         Verify that calendar homes in the /calendars/__uids__/XX/YY/<guid>/
@@ -1021,17 +1035,9 @@
             }
         }
 
-        root = self.createHierarchy(before)
+        self.verifyDirectoryComparison(before, after)
 
-        config.DocumentRoot = root
-        config.DataRoot = root
 
-        upgradeData(config)
-        self.assertTrue(self.verifyHierarchy(root, after))
-
-
-
-
     def test_calendarsUpgradeWithError(self):
         """
         Verify that a problem with one resource doesn't stop the process, but

Modified: CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/upgrade.py	2009-11-18 19:20:04 UTC (rev 4766)
+++ CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/upgrade.py	2009-11-18 19:29:35 UTC (rev 4767)
@@ -177,6 +177,10 @@
         try:
             for cal in os.listdir(homePath):
                 calPath = os.path.join(homePath, cal)
+                if cal == 'notifications':
+                    # Delete the old, now obsolete, notifications directory.
+                    rmdir(calPath)
+                    continue
                 log.debug("Upgrading calendar: %s" % (calPath,))
                 if not upgradeCalendarCollection(calPath, directory):
                     errorOccurred = True
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091118/ffe0bdb4/attachment-0001.html>


More information about the calendarserver-changes mailing list