[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