[Checkins]
SVN: GenericSetup/branches/wichert-events/tests/test_tool.py
Add some tests for our new events
Wichert Akkerman
wichert at wiggy.net
Sun Nov 4 11:54:41 EST 2007
Log message for revision 81475:
Add some tests for our new events
Changed:
U GenericSetup/branches/wichert-events/tests/test_tool.py
-=-
Modified: GenericSetup/branches/wichert-events/tests/test_tool.py
===================================================================
--- GenericSetup/branches/wichert-events/tests/test_tool.py 2007-11-04 16:21:08 UTC (rev 81474)
+++ GenericSetup/branches/wichert-events/tests/test_tool.py 2007-11-04 16:54:40 UTC (rev 81475)
@@ -21,6 +21,10 @@
from StringIO import StringIO
+from zope.component import adapter
+from zope.component import provideHandler
+from zope.component.globalregistry import base as base_registry
+
from Acquisition import aq_base
from OFS.Folder import Folder
@@ -38,7 +42,20 @@
from common import TarballTester
from conformance import ConformsToISetupTool
+from Products.GenericSetup.interfaces import IBeforeProfileImportEvent
+from Products.GenericSetup.interfaces import IProfileImportedEvent
+_before_import_events = []
+ at adapter(IBeforeProfileImportEvent)
+def handleBeforeProfileImportEvent(event):
+ _before_import_events.append(event)
+
+_after_import_events = []
+ at adapter(IProfileImportedEvent)
+def handleProfileImportedEvent(event):
+ _after_import_events.append(event)
+
+
class SetupToolTests(FilesystemTestBase, TarballTester, ConformsToISetupTool):
layer = ExportImportZCMLLayer
@@ -49,10 +66,18 @@
self._profile_registry_info = profile_registry._profile_info
self._profile_registry_ids = profile_registry._profile_ids
profile_registry.clear()
+ global _before_import_events
+ global _after_import_events
+ _before_import_events = []
+ provideHandler(handleBeforeProfileImportEvent)
+ _after_import_events = []
+ provideHandler(handleProfileImportedEvent)
def beforeTearDown(self):
profile_registry._profile_info = self._profile_registry_info
profile_registry._profile_ids = self._profile_registry_ids
+ base_registry.unregisterHandler(handleBeforeProfileImportEvent)
+ base_registry.unregisterHandler(handleProfileImportedEvent)
FilesystemTestBase.beforeTearDown(self)
def _getTargetClass(self):
@@ -192,6 +217,18 @@
self.assertEqual( site.title, TITLE.upper() )
+ 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].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].steps, ['simple'])
+ self.assertEqual(_after_import_events[0].full_import, True)
+
def test_runImportStep_dependencies( self ):
TITLE = 'original title'
@@ -217,6 +254,19 @@
, 'Uppercased title' )
self.assertEqual( site.title, TITLE.replace( ' ', '_' ).upper() )
+ 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].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].steps, ['dependable', 'dependent'])
+ self.assertEqual(_after_import_events[0].full_import, True)
+
+
def test_runImportStep_skip_dependencies( self ):
TITLE = 'original title'
@@ -240,6 +290,18 @@
self.assertEqual( site.title, TITLE.upper() )
+ 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].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].steps, ['dependent'])
+ self.assertEqual(_after_import_events[0].full_import, False)
+
def test_runImportStep_default_purge( self ):
site = self._makeSite()
More information about the Checkins
mailing list