[Checkins] SVN: Products.GenericSetup/trunk/Products/GenericSetup/ - Don't create empty 'import_steps.xml' and 'export_steps.xml' files.

Yvo Schubbe y.2007- at wcm-solutions.de
Fri Dec 7 14:09:56 EST 2007


Log message for revision 82190:
  - Don't create empty 'import_steps.xml' and 'export_steps.xml' files.
  

Changed:
  U   Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
  U   Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
  U   Products.GenericSetup/trunk/Products/GenericSetup/tool.py

-=-
Modified: Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt	2007-12-07 16:13:51 UTC (rev 82189)
+++ Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt	2007-12-07 19:09:56 UTC (rev 82190)
@@ -2,6 +2,8 @@
 
   GenericSetup 1.4.0 (unreleased)
 
+    - Don't create empty 'import_steps.xml' and 'export_steps.xml' files.
+
     - Fix relative paths for profile dependencies.
 
     - Add support for context dependencies in profiles.

Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py	2007-12-07 16:13:51 UTC (rev 82189)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py	2007-12-07 19:09:56 UTC (rev 82190)
@@ -547,13 +547,30 @@
 
         self.assertRaises( ValueError, tool.runExportStep, 'nonesuch' )
 
-    def test_runExportStep_step_registry( self ):
+    def test_runExportStep_step_registry_empty(self):
+        site = self._makeSite()
+        site.setup_tool = self._makeOne('setup_tool')
+        tool = site.setup_tool
 
-        from test_registry import _EMPTY_IMPORT_XML
+        result = tool.runExportStep( 'step_registries' )
 
+        self.assertEqual( len( result[ 'steps' ] ), 1 )
+        self.assertEqual( result[ 'steps' ][ 0 ], 'step_registries' )
+        self.assertEqual( result[ 'messages' ][ 'step_registries' ]
+                        , None
+                        )
+        fileish = StringIO( result[ 'tarball' ] )
+
+        self._verifyTarballContents( fileish, [ 'export_steps.xml'
+                                              ] )
+        self._verifyTarballEntryXML( fileish, 'export_steps.xml'
+                                   , _DEFAULT_STEP_REGISTRIES_EXPORT_XML )
+
+    def test_runExportStep_step_registry_default(self):
         site = self._makeSite()
         site.setup_tool = self._makeOne('setup_tool')
         tool = site.setup_tool
+        tool._import_registry.registerStep('foo', handler='foo.bar')
 
         result = tool.runExportStep( 'step_registries' )
 
@@ -568,17 +585,34 @@
                                               , 'export_steps.xml'
                                               ] )
         self._verifyTarballEntryXML( fileish, 'import_steps.xml'
-                                   , _EMPTY_IMPORT_XML )
+                                   , _DEFAULT_STEP_REGISTRIES_IMPORT_XML )
         self._verifyTarballEntryXML( fileish, 'export_steps.xml'
                                    , _DEFAULT_STEP_REGISTRIES_EXPORT_XML )
 
-    def test_runAllExportSteps_default( self ):
+    def test_runAllExportSteps_empty(self):
+        site = self._makeSite()
+        site.setup_tool = self._makeOne('setup_tool')
+        tool = site.setup_tool
 
-        from test_registry import _EMPTY_IMPORT_XML
+        result = tool.runAllExportSteps()
 
+        self.assertEqual( len( result[ 'steps' ] ), 1 )
+        self.assertEqual( result[ 'steps' ][ 0 ], 'step_registries' )
+        self.assertEqual( result[ 'messages' ][ 'step_registries' ]
+                        , None
+                        )
+        fileish = StringIO( result[ 'tarball' ] )
+
+        self._verifyTarballContents( fileish, [ 'export_steps.xml'
+                                              ] )
+        self._verifyTarballEntryXML( fileish, 'export_steps.xml'
+                                   , _DEFAULT_STEP_REGISTRIES_EXPORT_XML )
+
+    def test_runAllExportSteps_default(self):
         site = self._makeSite()
         site.setup_tool = self._makeOne('setup_tool')
         tool = site.setup_tool
+        tool._import_registry.registerStep('foo', handler='foo.bar')
 
         result = tool.runAllExportSteps()
 
@@ -593,14 +627,11 @@
                                               , 'export_steps.xml'
                                               ] )
         self._verifyTarballEntryXML( fileish, 'import_steps.xml'
-                                   , _EMPTY_IMPORT_XML )
+                                   , _DEFAULT_STEP_REGISTRIES_IMPORT_XML )
         self._verifyTarballEntryXML( fileish, 'export_steps.xml'
                                    , _DEFAULT_STEP_REGISTRIES_EXPORT_XML )
 
     def test_runAllExportSteps_extras( self ):
-
-        from test_registry import _EMPTY_IMPORT_XML
-
         site = self._makeSite()
         site.setup_tool = self._makeOne('setup_tool')
         tool = site.setup_tool
@@ -645,18 +676,13 @@
                                 , _PROPERTIES_INI % site.title  )
 
     def test_createSnapshot_default( self ):
+        _EXPECTED = [('import_steps.xml', _DEFAULT_STEP_REGISTRIES_IMPORT_XML),
+                     ('export_steps.xml', _DEFAULT_STEP_REGISTRIES_EXPORT_XML)]
 
-        from test_registry import _EMPTY_IMPORT_XML
-
-        _EXPECTED = [ ( 'import_steps.xml', _EMPTY_IMPORT_XML )
-                    , ( 'export_steps.xml'
-                      , _DEFAULT_STEP_REGISTRIES_EXPORT_XML
-                      )
-                    ]
-
         site = self._makeSite()
         site.setup_tool = self._makeOne('setup_tool')
         tool = site.setup_tool
+        tool._import_registry.registerStep('foo', handler='foo.bar')
 
         self.assertEqual( len( tool.listSnapshotInfo() ), 0 )
 
@@ -683,10 +709,9 @@
 
         fileobj = snapshot._getOb( 'import_steps.xml' )
         self.assertEqual( normalize_xml( fileobj.read() ),
-                          _EMPTY_IMPORT_XML )
+                          _DEFAULT_STEP_REGISTRIES_IMPORT_XML )
 
         fileobj = snapshot._getOb( 'export_steps.xml' )
-
         self.assertEqual( normalize_xml( fileobj.read() ),
                           _DEFAULT_STEP_REGISTRIES_EXPORT_XML )
 
@@ -896,6 +921,15 @@
 </export-steps>
 """
 
+_DEFAULT_STEP_REGISTRIES_IMPORT_XML = """\
+<?xml version="1.0"?>
+<import-steps>
+ <import-step id="foo" handler="foo.bar" title="foo">
+  
+ </import-step>
+</import-steps>
+"""
+
 _EXTRAS_STEP_REGISTRIES_IMPORT_XML = """\
 <?xml version="1.0"?>
 <import-steps>

Modified: Products.GenericSetup/trunk/Products/GenericSetup/tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tool.py	2007-12-07 16:13:51 UTC (rev 82189)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tool.py	2007-12-07 19:09:56 UTC (rev 82190)
@@ -72,14 +72,22 @@
     setup_tool = context.getSetupTool()
     logger = context.getLogger('registries')
 
-    import_steps_xml = setup_tool.getImportStepRegistry().generateXML()
-    context.writeDataFile('import_steps.xml', import_steps_xml, 'text/xml')
+    import_step_registry = setup_tool.getImportStepRegistry()
+    if len(import_step_registry.listSteps()) > 0:
+        import_steps_xml = import_step_registry.generateXML()
+        context.writeDataFile('import_steps.xml', import_steps_xml, 'text/xml')
+        logger.info('Local import steps exported.')
+    else:
+        logger.info('No local import steps.')
 
-    export_steps_xml = setup_tool.getExportStepRegistry().generateXML()
-    context.writeDataFile('export_steps.xml', export_steps_xml, 'text/xml')
+    export_step_registry = setup_tool.getExportStepRegistry()
+    if len(export_step_registry.listSteps()) > 0:
+        export_steps_xml = export_step_registry.generateXML()
+        context.writeDataFile('export_steps.xml', export_steps_xml, 'text/xml')
+        logger.info('Local export steps exported.')
+    else:
+        logger.info('No local export steps.')
 
-    logger.info('Step registries exported.')
-
 def importToolset(context):
 
     """ Import required / forbidden tools from XML file.



More information about the Checkins mailing list