[Erp5-report] r41769 jm - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Sun Dec 26 18:54:57 CET 2010
Author: jm
Date: Sun Dec 26 18:54:56 2010
New Revision: 41769
URL: http://svn.erp5.org?rev=41769&view=rev
Log:
testBusinessTemplate: ignore errors from PortalTranforms
Modified:
erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=41769&r1=41768&r2=41769&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Sun Dec 26 18:54:56 2010
@@ -28,7 +28,7 @@
##############################################################################
import unittest
-
+import logging
import transaction
from Testing import ZopeTestCase
@@ -62,6 +62,10 @@ WORKFLOW_TYPE = 'erp5_workflow'
class DummyTypeProvider(TypeProvider):
id = 'dummy_type_provider'
+from Products.MimetypesRegistry.common import MimeTypeException
+from Products.PortalTransforms.Transform import Transform
+Transform_tr_init = Transform._tr_init
+Transform_manage_beforeDelete = Transform.manage_beforeDelete
class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor):
"""
@@ -93,6 +97,32 @@ class TestBusinessTemplate(ERP5TypeTestC
"""
return 1
+ ## Ignore errors from PortalTransforms (e.g. missing binaries)
+
+ def _catch_log_errors(self):
+ LogInterceptor._catch_log_errors(self)
+ level = self.level
+ def _tr_init(*args, **kw):
+ self.level = logging.ERROR
+ try:
+ Transform_tr_init(*args, **kw)
+ finally:
+ self.level = level
+ Transform._tr_init = _tr_init
+ def manage_beforeDelete(self, *args, **kw):
+ try:
+ Transform_manage_beforeDelete(self, *args, **kw)
+ except MimeTypeException:
+ assert self.output == 'BROKEN'
+ Transform.manage_beforeDelete = manage_beforeDelete
+
+ def _ignore_log_errors(self):
+ Transform._tr_init = Transform_tr_init
+ Transform.manage_beforeDelete = Transform_manage_beforeDelete
+ LogInterceptor._ignore_log_errors(self)
+
+ ###
+
def afterSetUp(self):
self.login()
portal = self.getPortal()
@@ -222,11 +252,7 @@ class TestBusinessTemplate(ERP5TypeTestC
"""
bt = sequence.get('copy_bt')
self.assertEquals(bt.getTitle(), 'erp5_core')
- # Ignore log, because PortalTransforms outputs an ERROR when it can't load
- # a transform due to missing binary.
- self._ignore_log_errors()
bt.build()
- self._catch_log_errors()
def stepInstallCopyCoreBusinessTemplate(self, sequence=None,
sequence_list=None, **kw):
@@ -236,11 +262,7 @@ class TestBusinessTemplate(ERP5TypeTestC
bt = sequence.get('copy_bt')
self.assertEquals(bt.getTitle(), 'erp5_core')
self.assertEquals(bt.getInstallationState(), 'not_installed')
- # Ignore log, because PortalTransforms outputs an ERROR when it can't load
- # a transform due to missing binary.
- self._ignore_log_errors()
bt.install()
- self._catch_log_errors()
def stepCheckOriginalAndCopyBusinessTemplate(self, sequence=None,
sequence_list=None, **kw):
More information about the Erp5-report
mailing list