[Checkins] SVN: Products.GenericSetup/trunk/Products/GenericSetup/
Merge wichert-sane-contextid branch
Wichert Akkerman
wichert at wiggy.net
Mon Nov 19 17:35:32 EST 2007
Log message for revision 81937:
Merge wichert-sane-contextid branch
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-11-19 21:44:20 UTC (rev 81936)
+++ Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2007-11-19 22:35:31 UTC (rev 81937)
@@ -2,6 +2,8 @@
GenericSetup 1.4 (unreleased)
+ - Be more careful in checking context id validity.
+
- Fire events before and after importing.
- Use zcml to register import and export steps.
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2007-11-19 21:44:20 UTC (rev 81936)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2007-11-19 22:35:31 UTC (rev 81937)
@@ -141,6 +141,15 @@
, 'profile-foo'
)
+ def test_setBaselineContext_empty_string( self ):
+
+ tool = self._makeOne('setup_tool')
+
+ self.assertRaises( KeyError
+ , tool.setBaselineContext
+ , ''
+ )
+
def test_setBaselineContext( self ):
from Products.GenericSetup.tool import IMPORT_STEPS_XML
@@ -194,7 +203,7 @@
tool = self._makeOne('setup_tool').__of__( site )
- self.assertRaises( ValueError, tool.runImportStepFromProfile,
+ self.assertRaises( KeyError, tool.runImportStepFromProfile,
'', 'nonesuch' )
def test_runImportStep_simple( self ):
@@ -207,7 +216,7 @@
registry = tool.getImportStepRegistry()
registry.registerStep( 'simple', '1', _uppercaseSiteTitle )
- result = tool.runImportStepFromProfile( '', 'simple' )
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'simple' )
self.assertEqual( len( result[ 'steps' ] ), 1 )
@@ -219,13 +228,13 @@
global _before_import_events
self.assertEqual( len(_before_import_events), 1)
- self.assertEqual(_before_import_events[0].profile_id, '')
+ 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)
global _after_import_events
self.assertEqual( len(_after_import_events), 1)
- self.assertEqual(_after_import_events[0].profile_id, '')
+ 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)
@@ -241,7 +250,7 @@
registry.registerStep( 'dependent', '1'
, _uppercaseSiteTitle, ( 'dependable', ) )
- result = tool.runImportStepFromProfile( '', 'dependent' )
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'dependent' )
self.assertEqual( len( result[ 'steps' ] ), 2 )
@@ -256,13 +265,13 @@
global _before_import_events
self.assertEqual( len(_before_import_events), 1)
- self.assertEqual(_before_import_events[0].profile_id, '')
+ 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)
global _after_import_events
self.assertEqual( len(_after_import_events), 1)
- self.assertEqual(_after_import_events[0].profile_id, '')
+ 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)
@@ -279,7 +288,7 @@
registry.registerStep( 'dependent', '1'
, _uppercaseSiteTitle, ( 'dependable', ) )
- result = tool.runImportStepFromProfile( '', 'dependent',
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'dependent',
run_dependencies=False )
self.assertEqual( len( result[ 'steps' ] ), 1 )
@@ -292,13 +301,13 @@
global _before_import_events
self.assertEqual( len(_before_import_events), 1)
- self.assertEqual(_before_import_events[0].profile_id, '')
+ self.assertEqual(_before_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_before_import_events[0].steps, ['dependent'])
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, '')
+ self.assertEqual(_after_import_events[0].profile_id, 'snapshot-dummy')
self.assertEqual(_after_import_events[0].steps, ['dependent'])
self.assertEqual(_after_import_events[0].full_import, False)
@@ -310,7 +319,7 @@
registry = tool.getImportStepRegistry()
registry.registerStep( 'purging', '1', _purgeIfRequired )
- result = tool.runImportStepFromProfile( '', 'purging' )
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'purging' )
self.assertEqual( len( result[ 'steps' ] ), 1 )
self.assertEqual( result[ 'steps' ][ 0 ], 'purging' )
@@ -325,7 +334,7 @@
registry = tool.getImportStepRegistry()
registry.registerStep( 'purging', '1', _purgeIfRequired )
- result = tool.runImportStepFromProfile( '', 'purging',
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'purging',
purge_old=True )
self.assertEqual( len( result[ 'steps' ] ), 1 )
@@ -341,7 +350,7 @@
registry = tool.getImportStepRegistry()
registry.registerStep( 'purging', '1', _purgeIfRequired )
- result = tool.runImportStepFromProfile( '', 'purging',
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'purging',
purge_old=False )
self.assertEqual( len( result[ 'steps' ] ), 1 )
@@ -360,7 +369,7 @@
registry.registerStep( 'dependent', '1'
, _uppercaseSiteTitle, ( 'purging', ) )
- result = tool.runImportStepFromProfile( '', 'dependent',
+ result = tool.runImportStepFromProfile( 'snapshot-dummy', 'dependent',
purge_old=False )
self.failIf( site.purged )
@@ -369,14 +378,14 @@
site = self._makeSite()
tool = self._makeOne('setup_tool').__of__( site )
- result = tool.runAllImportStepsFromProfile('')
+ result = tool.runAllImportStepsFromProfile('snapshot-dummy')
self.assertEqual( len( result[ 'steps' ] ), 0 )
def test_runAllImportSteps_sorted_default_purge( self ):
TITLE = 'original title'
- PROFILE_ID = 'testing'
+ PROFILE_ID = 'snapshot-testing'
site = self._makeSite( TITLE )
tool = self._makeOne('setup_tool').__of__( site )
@@ -414,7 +423,7 @@
def test_runAllImportSteps_unicode_profile_id_creates_reports( self ):
TITLE = 'original title'
- PROFILE_ID = u'testing'
+ PROFILE_ID = u'snapshot-testing'
site = self._makeSite( TITLE )
tool = self._makeOne('setup_tool').__of__( site )
@@ -445,7 +454,7 @@
registry.registerStep( 'purging', '1'
, _purgeIfRequired )
- result = tool.runAllImportStepsFromProfile( '', purge_old=True )
+ result = tool.runAllImportStepsFromProfile( 'snapshot-dummy', purge_old=True )
self.assertEqual( len( result[ 'steps' ] ), 3 )
@@ -470,7 +479,7 @@
registry.registerStep( 'purging', '1'
, _purgeIfRequired )
- result = tool.runAllImportStepsFromProfile( '', purge_old=False )
+ result = tool.runAllImportStepsFromProfile( 'snapshot-dummy', purge_old=False )
self.assertEqual( len( result[ 'steps' ] ), 3 )
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tool.py 2007-11-19 21:44:20 UTC (rev 81936)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tool.py 2007-11-19 22:35:31 UTC (rev 81937)
@@ -954,11 +954,13 @@
should_purge = (info.get('type') != EXTENSION)
return DirectoryImportContext(self, path, should_purge, encoding)
- # else snapshot
- context_id = context_id[len('snapshot-'):]
- if should_purge is None:
- should_purge = True
- return SnapshotImportContext(self, context_id, should_purge, encoding)
+ elif context_id.startswith('snapshot-'):
+ context_id = context_id[len('snapshot-'):]
+ if should_purge is None:
+ should_purge = True
+ return SnapshotImportContext(self, context_id, should_purge, encoding)
+ else:
+ raise KeyError, 'Unknown context %s' % context_id
security.declarePrivate('_updateImportStepsRegistry')
def _updateImportStepsRegistry(self, context, encoding):
More information about the Checkins
mailing list