[CalendarServer-changes] [4073] CalendarServer/branches/users/sagen/resource-delegates-4066
source_changes at macosforge.org
source_changes at macosforge.org
Thu Apr 23 17:40:57 PDT 2009
Revision: 4073
http://trac.macosforge.org/projects/calendarserver/changeset/4073
Author: sagen at apple.com
Date: 2009-04-23 17:40:57 -0700 (Thu, 23 Apr 2009)
Log Message:
-----------
Ignore old proxy db if a new one is already in place -- the new one was generated from XML.
Modified Paths:
--------------
CalendarServer/branches/users/sagen/resource-delegates-4066/calendarserver/provision/test/test_root.py
CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/test_upgrade.py
CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/util.py
CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/upgrade.py
Modified: CalendarServer/branches/users/sagen/resource-delegates-4066/calendarserver/provision/test/test_root.py
===================================================================
--- CalendarServer/branches/users/sagen/resource-delegates-4066/calendarserver/provision/test/test_root.py 2009-04-23 23:47:07 UTC (rev 4072)
+++ CalendarServer/branches/users/sagen/resource-delegates-4066/calendarserver/provision/test/test_root.py 2009-04-24 00:40:57 UTC (rev 4073)
@@ -49,7 +49,10 @@
return 1
class RootTests(TestCase):
+
def setUp(self):
+ super(RootTests, self).setUp()
+
self.docroot = self.mktemp()
os.mkdir(self.docroot)
Modified: CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/test_upgrade.py 2009-04-23 23:47:07 UTC (rev 4072)
+++ CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/test_upgrade.py 2009-04-24 00:40:57 UTC (rev 4073)
@@ -16,6 +16,7 @@
from twistedcaldav.config import config
from twistedcaldav.directory.calendaruserproxy import CalendarUserProxyDatabase
+from twistedcaldav.resource import ResourceInfoDatabase
from twistedcaldav.upgrade import UpgradeError, upgradeData, updateFreeBusySet
from twistedcaldav.test.util import TestCase
from calendarserver.tools.util import getDirectory
@@ -132,28 +133,7 @@
self.assertFalse(os.path.exists(os.path.join(config.DocumentRoot, "principals",)))
self.assertTrue(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
- def test_partialUpgrade(self):
- """
- Test the behavior of a partial upgrade (one where /principals exists but the proxy db does not) from old server to new.
- """
- self.setUpInitialStates()
-
- config.DocumentRoot = self.olddocrootnodb
- config.DataRoot = self.newdataroot
-
- # Check pre-conditions
- self.assertTrue(os.path.exists(os.path.join(config.DocumentRoot, "principals")))
- self.assertTrue(os.path.isdir(os.path.join(config.DocumentRoot, "principals")))
- self.assertFalse(os.path.exists(os.path.join(config.DocumentRoot, "principals", CalendarUserProxyDatabase.dbOldFilename)))
- self.assertFalse(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
-
- upgradeData(config)
-
- # Check post-conditions
- self.assertFalse(os.path.exists(os.path.join(config.DocumentRoot, "principals",)))
- self.assertFalse(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
-
def test_noUpgrade(self):
"""
Test the behavior of running on a new server (i.e. no upgrade needed).
@@ -174,31 +154,7 @@
self.assertFalse(os.path.exists(os.path.join(config.DocumentRoot, "principals",)))
self.assertTrue(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
- def test_failedUpgrade(self):
- """
- Test the behavior of failed upgrade from old server to new where proxy DB exists in two locations.
- """
- self.setUpInitialStates()
-
- config.DocumentRoot = self.olddocroot
- config.DataRoot = self.existingdataroot
-
- # Check pre-conditions
- self.assertTrue(os.path.exists(os.path.join(config.DocumentRoot, "principals")))
- self.assertTrue(os.path.isdir(os.path.join(config.DocumentRoot, "principals")))
- self.assertTrue(os.path.exists(os.path.join(config.DocumentRoot, "principals", CalendarUserProxyDatabase.dbOldFilename)))
- self.assertTrue(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
-
- self.assertRaises(UpgradeError, upgradeData, config)
-
- # Check post-conditions
- self.assertTrue(os.path.exists(os.path.join(config.DocumentRoot, "principals")))
- self.assertTrue(os.path.isdir(os.path.join(config.DocumentRoot, "principals")))
- self.assertTrue(os.path.exists(os.path.join(config.DocumentRoot, "principals", CalendarUserProxyDatabase.dbOldFilename)))
- self.assertTrue(os.path.exists(os.path.join(config.DataRoot, CalendarUserProxyDatabase.dbFilename)))
-
-
def test_freeBusyUpgrade(self):
"""
Test the updating of calendar-free-busy-set xattrs on inboxes
@@ -379,7 +335,11 @@
},
CalendarUserProxyDatabase.dbFilename :
{
- "@contents" : "",
+ "@contents" : None,
+ },
+ ResourceInfoDatabase.dbFilename :
+ {
+ "@contents" : None,
}
}
@@ -479,7 +439,11 @@
},
CalendarUserProxyDatabase.dbFilename :
{
- "@contents" : "",
+ "@contents" : None,
+ },
+ ResourceInfoDatabase.dbFilename :
+ {
+ "@contents" : None,
}
}
@@ -595,7 +559,11 @@
},
CalendarUserProxyDatabase.dbFilename :
{
- "@contents" : "",
+ "@contents" : None,
+ },
+ ResourceInfoDatabase.dbFilename :
+ {
+ "@contents" : None,
}
}
@@ -712,7 +680,11 @@
},
CalendarUserProxyDatabase.dbFilename :
{
- "@contents" : "",
+ "@contents" : None,
+ },
+ ResourceInfoDatabase.dbFilename :
+ {
+ "@contents" : None,
}
}
@@ -799,7 +771,11 @@
},
CalendarUserProxyDatabase.dbFilename :
{
- "@contents" : "",
+ "@contents" : None,
+ },
+ ResourceInfoDatabase.dbFilename :
+ {
+ "@contents" : None,
}
}
Modified: CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/util.py
===================================================================
--- CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/util.py 2009-04-23 23:47:07 UTC (rev 4072)
+++ CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/test/util.py 2009-04-24 00:40:57 UTC (rev 4073)
@@ -94,12 +94,16 @@
if childStructure.has_key("@contents"):
# This is a file
- with open(childPath) as child:
- contents = child.read()
- if contents != childStructure["@contents"]:
- print "Contents mismatch:", childPath
- print "Expected:\n%s\n\nActual:\n%s\n" % (childStructure["@contents"], contents)
- return False
+ if childStructure["@contents"] is None:
+ # We don't care about the contents
+ pass
+ else:
+ with open(childPath) as child:
+ contents = child.read()
+ if contents != childStructure["@contents"]:
+ print "Contents mismatch:", childPath
+ print "Expected:\n%s\n\nActual:\n%s\n" % (childStructure["@contents"], contents)
+ return False
else:
# This is a directory
@@ -126,6 +130,7 @@
if actual:
# There are unexpected children
+ print "Unexpected:", actual
return False
return True
Modified: CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/upgrade.py 2009-04-23 23:47:07 UTC (rev 4072)
+++ CalendarServer/branches/users/sagen/resource-delegates-4066/twistedcaldav/upgrade.py 2009-04-24 00:40:57 UTC (rev 4073)
@@ -198,24 +198,20 @@
def doProxyDatabaseMoveUpgrade(config, uid=-1, gid=-1):
+ # See if the new one is already present
+ newDbPath = os.path.join(config.DataRoot,
+ CalendarUserProxyDatabase.dbFilename)
+ if os.path.exists(newDbPath):
+ # Nothing to be done, it's already in the new location
+ return
+
# See if the old DB is present
oldDbPath = os.path.join(config.DocumentRoot, "principals",
CalendarUserProxyDatabase.dbOldFilename)
if not os.path.exists(oldDbPath):
- # Nothing to be done
+ # Nothing to be moved
return
- # See if the new one is already present
- newDbPath = os.path.join(config.DataRoot,
- CalendarUserProxyDatabase.dbFilename)
- if os.path.exists(newDbPath):
- # We have a problem - both the old and new ones exist. Stop the server
- # from starting up and alert the admin to this condition
- raise UpgradeError(
- "Upgrade Error: unable to move the old calendar user proxy database at '%s' to '%s' because the new database already exists."
- % (oldDbPath, newDbPath,)
- )
-
# Now move the old one to the new location
try:
if not os.path.exists(config.DataRoot):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090423/f94a7afb/attachment-0001.html>
More information about the calendarserver-changes
mailing list