[Checkins] SVN: Products.GenericSetup/trunk/Products/GenericSetup/
- register GenericSetup import and export steps globally
Yvo Schubbe
y.2007- at wcm-solutions.de
Fri Dec 21 06:51:04 EST 2007
Log message for revision 82385:
- register GenericSetup import and export steps globally
Changed:
U Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
U Products.GenericSetup/trunk/Products/GenericSetup/configure.zcml
U Products.GenericSetup/trunk/Products/GenericSetup/tests/test_stepzcml.py
U Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
-=-
Modified: Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2007-12-21 11:26:05 UTC (rev 82384)
+++ Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2007-12-21 11:51:03 UTC (rev 82385)
@@ -2,7 +2,7 @@
GenericSetup 1.4.0 (unreleased)
- - The 'step_registries' export step is now registered globally.
+ - All GenericSetup import and export steps are now registered globally.
- Remove duplicated test (https://bugs.launchpad.net/zope-cmf/+bug/174910)
Modified: Products.GenericSetup/trunk/Products/GenericSetup/configure.zcml
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/configure.zcml 2007-12-21 11:26:05 UTC (rev 82384)
+++ Products.GenericSetup/trunk/Products/GenericSetup/configure.zcml 2007-12-21 11:51:03 UTC (rev 82385)
@@ -66,4 +66,47 @@
handler="Products.GenericSetup.tool.exportStepRegistries"
/>
+ <genericsetup:importStep
+ name="toolset"
+ title="Required Tools"
+ description="Create required tools, replacing any of the wrong class, and remove forbidden ones."
+ handler="Products.GenericSetup.tool.importToolset"
+ />
+
+ <genericsetup:exportStep
+ name="toolset"
+ title="Required Tools"
+ description="Export required / forbidden tools."
+ handler="Products.GenericSetup.tool.exportToolset"
+ />
+
+ <genericsetup:importStep
+ name="rolemap"
+ title="Role / Permission Map"
+ description="Import custom roles and non-default role-permission mappings."
+ handler="Products.GenericSetup.rolemap.importRolemap"
+ />
+
+ <genericsetup:exportStep
+ name="rolemap"
+ title="Role / Permission Map"
+ description="Export custom roles and non-default role-permission mappings."
+ handler="Products.GenericSetup.rolemap.exportRolemap"
+ />
+
+ <genericsetup:importStep
+ name="componentregistry"
+ title="Local Component Registry"
+ description="Import local component registry configuration."
+ handler="Products.GenericSetup.components.importComponentRegistry">
+ <depends name="toolset"/>
+ </genericsetup:importStep>
+
+ <genericsetup:exportStep
+ name="componentregistry"
+ title="Local Component Registry"
+ description="Export local component registry configuration."
+ handler="Products.GenericSetup.components.exportComponentRegistry"
+ />
+
</configure>
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_stepzcml.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_stepzcml.py 2007-12-21 11:26:05 UTC (rev 82384)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_stepzcml.py 2007-12-21 11:51:03 UTC (rev 82385)
@@ -11,12 +11,15 @@
#
##############################################################################
"""Unit tests for import/export step zcml module.
+
+$Id$
"""
+
import unittest
-from Products.GenericSetup.zcml import cleanUpImportSteps
+from zope.testing.cleanup import cleanUp
+
import Products.GenericSetup
from Products.GenericSetup.registry import _import_step_registry
-from Products.GenericSetup.testing import ExportImportZCMLLayer
from Products.Five import zcml
EMPTY_ZCML = '''<configure xmlns:genericsetup="http://namespaces.zope.org/genericsetup">
@@ -32,13 +35,12 @@
</configure>'''
class ImportStepTests(unittest.TestCase):
- layer = ExportImportZCMLLayer
def setUp(self):
zcml.load_config('meta.zcml', Products.GenericSetup)
def tearDown(self):
- cleanUpImportSteps()
+ cleanUp()
def testEmptyImport(self):
zcml.load_string(EMPTY_ZCML)
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2007-12-21 11:26:05 UTC (rev 82384)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2007-12-21 11:51:03 UTC (rev 82385)
@@ -239,13 +239,13 @@
self.assertEqual( len(_before_import_events), 1)
self.assertEqual(_before_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_before_import_events[0].steps, ['simple'])
- self.assertEqual(_before_import_events[0].full_import, True)
+ self.assertEqual(_before_import_events[0].full_import, False)
global _after_import_events
self.assertEqual( len(_after_import_events), 1)
self.assertEqual(_after_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_after_import_events[0].steps, ['simple'])
- self.assertEqual(_after_import_events[0].full_import, True)
+ self.assertEqual(_after_import_events[0].full_import, False)
def test_runImportStep_dependencies( self ):
@@ -276,13 +276,13 @@
self.assertEqual( len(_before_import_events), 1)
self.assertEqual(_before_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_before_import_events[0].steps, ['dependable', 'dependent'])
- self.assertEqual(_before_import_events[0].full_import, True)
+ self.assertEqual(_before_import_events[0].full_import, False)
global _after_import_events
self.assertEqual( len(_after_import_events), 1)
self.assertEqual(_after_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_after_import_events[0].steps, ['dependable', 'dependent'])
- self.assertEqual(_after_import_events[0].full_import, True)
+ self.assertEqual(_after_import_events[0].full_import, False)
def test_runImportStep_skip_dependencies( self ):
@@ -389,7 +389,7 @@
result = tool.runAllImportStepsFromProfile('snapshot-dummy')
- self.assertEqual( len( result[ 'steps' ] ), 0 )
+ self.assertEqual( len(result['steps']), 3 )
def test_runAllImportSteps_sorted_default_purge( self ):
@@ -408,17 +408,17 @@
result = tool.runAllImportStepsFromProfile(PROFILE_ID)
- self.assertEqual( len( result[ 'steps' ] ), 3 )
+ self.assertEqual( len(result['steps']), 6 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'purging' )
+ self.assertEqual( result['steps'][3], 'purging' )
self.assertEqual( result[ 'messages' ][ 'purging' ]
, 'Purged' )
- self.assertEqual( result[ 'steps' ][ 1 ], 'dependable' )
+ self.assertEqual( result['steps'][4], 'dependable' )
self.assertEqual( result[ 'messages' ][ 'dependable' ]
, 'Underscored title' )
- self.assertEqual( result[ 'steps' ][ 2 ], 'dependent' )
+ self.assertEqual( result['steps'][5], 'dependent' )
self.assertEqual( result[ 'messages' ][ 'dependent' ]
, 'Uppercased title' )
@@ -465,14 +465,14 @@
result = tool.runAllImportStepsFromProfile( 'snapshot-dummy', purge_old=True )
- self.assertEqual( len( result[ 'steps' ] ), 3 )
+ self.assertEqual( len(result['steps']), 6 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'purging' )
+ self.assertEqual( result['steps'][3], 'purging' )
self.assertEqual( result[ 'messages' ][ 'purging' ]
, 'Purged' )
- self.assertEqual( result[ 'steps' ][ 1 ], 'dependable' )
- self.assertEqual( result[ 'steps' ][ 2 ], 'dependent' )
+ self.assertEqual( result['steps'][4], 'dependable' )
+ self.assertEqual( result['steps'][5], 'dependent' )
self.failUnless( site.purged )
def test_runAllImportSteps_sorted_skip_purge( self ):
@@ -490,14 +490,14 @@
result = tool.runAllImportStepsFromProfile( 'snapshot-dummy', purge_old=False )
- self.assertEqual( len( result[ 'steps' ] ), 3 )
+ self.assertEqual( len(result['steps']), 6 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'purging' )
+ self.assertEqual( result['steps'][3], 'purging' )
self.assertEqual( result[ 'messages' ][ 'purging' ]
, 'Unpurged' )
- self.assertEqual( result[ 'steps' ][ 1 ], 'dependable' )
- self.assertEqual( result[ 'steps' ][ 2 ], 'dependent' )
+ self.assertEqual( result['steps'][4], 'dependable' )
+ self.assertEqual( result['steps'][5], 'dependent' )
self.failIf( site.purged )
def test_runAllImportStepsFromProfileWithoutDepends( self ):
@@ -592,8 +592,8 @@
result = tool.runAllExportSteps()
- self.assertEqual( len( result[ 'steps' ] ), 1 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'step_registries' )
+ self.assertEqual( len(result['steps'] ), 4 )
+ self.assertEqual( result['steps'][1], 'step_registries' )
self.assertEqual( result[ 'messages' ][ 'step_registries' ]
, None
)
@@ -609,15 +609,18 @@
result = tool.runAllExportSteps()
- self.assertEqual( len( result[ 'steps' ] ), 1 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'step_registries' )
+ self.assertEqual( len(result['steps']), 4 )
+ self.assertEqual( result['steps'][1], 'step_registries' )
self.assertEqual( result[ 'messages' ][ 'step_registries' ]
, None
)
fileish = StringIO( result[ 'tarball' ] )
- self._verifyTarballContents( fileish, [ 'import_steps.xml'
+ self._verifyTarballContents( fileish, [ 'componentregistry.xml'
+ , 'import_steps.xml'
, 'export_steps.xml'
+ , 'rolemap.xml'
+ , 'toolset.xml'
] )
self._verifyTarballEntryXML( fileish, 'import_steps.xml'
, _DEFAULT_STEP_REGISTRIES_IMPORT_XML )
@@ -646,7 +649,7 @@
result = tool.runAllExportSteps()
- self.assertEqual( len( result[ 'steps' ] ), 2 )
+ self.assertEqual( len(result['steps']), 5 )
self.failUnless( 'properties' in result[ 'steps' ] )
self.assertEqual( result[ 'messages' ][ 'properties' ]
@@ -660,9 +663,12 @@
fileish = StringIO( result[ 'tarball' ] )
- self._verifyTarballContents( fileish, [ 'import_steps.xml'
+ self._verifyTarballContents( fileish, [ 'componentregistry.xml'
+ , 'import_steps.xml'
, 'export_steps.xml'
, 'properties.ini'
+ , 'rolemap.xml'
+ , 'toolset.xml'
] )
self._verifyTarballEntryXML( fileish, 'import_steps.xml'
, _EXTRAS_STEP_REGISTRIES_IMPORT_XML )
@@ -673,7 +679,10 @@
def test_createSnapshot_default( self ):
_EXPECTED = [('import_steps.xml', _DEFAULT_STEP_REGISTRIES_IMPORT_XML),
- ('export_steps.xml', _DEFAULT_STEP_REGISTRIES_EXPORT_XML)]
+ ('export_steps.xml', _DEFAULT_STEP_REGISTRIES_EXPORT_XML),
+ ('rolemap.xml', 'dummy'),
+ ('toolset.xml', 'dummy'),
+ ('componentregistry.xml', 'dummy')]
site = self._makeSite()
site.setup_tool = self._makeOne('setup_tool')
@@ -687,8 +696,8 @@
result = tool.createSnapshot( 'default' )
- self.assertEqual( len( result[ 'steps' ] ), 1 )
- self.assertEqual( result[ 'steps' ][ 0 ], 'step_registries' )
+ self.assertEqual( len(result['steps']), 4 )
+ self.assertEqual( result['steps'][1], 'step_registries' )
self.assertEqual( result[ 'messages' ][ 'step_registries' ]
, None
)
@@ -896,26 +905,29 @@
site.setup_tool = self._makeOne('setup_tool')
tool = site.setup_tool
self.assertEqual(tool.listExportSteps(),
- (u'step_registries',))
+ (u'toolset', u'step_registries', u'rolemap',
+ u'componentregistry'))
tool._export_registry.registerStep(u'foo', handler='foo.export')
tool._export_registry.registerStep(u'toolset',
handler='toolset.export')
self.assertEqual(tool.listExportSteps(),
- (u'toolset', u'step_registries', u'foo'))
+ (u'toolset', u'foo', u'step_registries', u'rolemap',
+ u'componentregistry'))
def test_getSortedImportSteps(self):
site = self._makeSite()
site.setup_tool = self._makeOne('setup_tool')
tool = site.setup_tool
self.assertEqual(tool.getSortedImportSteps(),
- ())
+ (u'rolemap', u'toolset', u'componentregistry'))
tool._import_registry.registerStep(u'foo', handler='foo.import')
tool._import_registry.registerStep(u'toolset',
handler='toolset.import')
self.assertEqual(tool.getSortedImportSteps(),
- (u'foo', u'toolset'))
+ (u'rolemap', u'foo', u'toolset',
+ u'componentregistry'))
_DEFAULT_STEP_REGISTRIES_EXPORT_XML = """\
More information about the Checkins
mailing list