[Checkins]
SVN: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/
first upgradeDepends unit test and fixes for the 2 bugs it
exposed :)
Rob Miller
ra at burningman.com
Wed Aug 6 20:12:43 EDT 2008
Log message for revision 89477:
first upgradeDepends unit test and fixes for the 2 bugs it exposed :)
Changed:
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py
-=-
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py 2008-08-07 00:01:35 UTC (rev 89476)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py 2008-08-07 00:12:42 UTC (rev 89477)
@@ -145,7 +145,7 @@
def test_registerUpgradeStep(self):
"""
- Use the genericsetup:upgradeStep directive::
+ Use the standalone genericsetup:upgradeStep directive::
>>> import Products.GenericSetup
>>> from Products.Five import zcml
@@ -187,7 +187,49 @@
>>> cleanUp()
"""
+def test_registerUpgradeDepends(self):
+ """
+ Use the standalone genericsetup:upgradeDepends directive::
+ >>> import Products.GenericSetup
+ >>> from Products.Five import zcml
+ >>> configure_zcml = '''
+ ... <configure
+ ... xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
+ ... i18n_domain="foo">
+ ... <genericsetup:upgradeDepends
+ ... title="Upgrade Foo Product"
+ ... description="Upgrades Foo from 1.0 to 1.1."
+ ... source="1.0"
+ ... destination="1.1"
+ ... sortkey="1"
+ ... profile="default"
+ ... />
+ ... </configure>'''
+ >>> zcml.load_config('meta.zcml', Products.GenericSetup)
+ >>> zcml.load_string(configure_zcml)
+
+ Make sure the upgrade step is registered correctly::
+
+ >>> from Products.GenericSetup.upgrade import _upgrade_registry
+ >>> profile_steps = _upgrade_registry.getUpgradeStepsForProfile('default')
+ >>> keys = profile_steps.keys()
+ >>> len(keys)
+ 1
+ >>> step = profile_steps[keys[0]]
+ >>> step.source
+ ('1', '0')
+ >>> step.dest
+ ('1', '1')
+ >>> step.steps
+ []
+
+ Clean up and make sure the cleanup works::
+
+ >>> from zope.testing.cleanup import cleanUp
+ >>> cleanUp()
+ """
+
def test_registerUpgradeSteps(self):
"""
Use the nested genericsetup:upgradeSteps directive::
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py 2008-08-07 00:01:35 UTC (rev 89476)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py 2008-08-07 00:12:42 UTC (rev 89477)
@@ -145,7 +145,7 @@
"""
def __init__(self, title, profile, source, dest, desc, steps=[],
run_deps=False, purge=False, checker=None, sortkey=0):
- super(UpgradeStep, self).__init__(title, profile, source, dest,
+ super(UpgradeDepends, self).__init__(title, profile, source, dest,
desc, checker, sortkey)
self.steps = steps
self.run_deps = run_deps
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py 2008-08-07 00:01:35 UTC (rev 89476)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py 2008-08-07 00:12:42 UTC (rev 89477)
@@ -300,7 +300,7 @@
step = UpgradeDepends(title, profile, source, destination, description,
import_steps, run_deps, purge, checker, sortkey)
_context.action(
- discriminator = ('upgradeDepends', source, destination, import_steps,
+ discriminator = ('upgradeDepends', source, destination, str(import_steps),
checker, sortkey),
callable = _registerUpgradeStep,
args = (step,),
@@ -344,7 +344,7 @@
self.sortkey))))
_context.action(
discriminator = ('upgradeDepends', self.source, self.dest,
- import_steps, self.sortkey),
+ str(import_steps), self.sortkey),
callable = _registerNestedUpgradeStep,
args = (step, self.id)
)
More information about the Checkins
mailing list