From 0cf9f5663a157f47c4a2d5d4c2c8692ec87717d0 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Tue, 12 May 2015 15:50:17 +0200 Subject: [PATCH] CMFActivity: remove broken tests --- product/CMFActivity/tests/testCMFActivity.py | 320 ------------------- 1 file changed, 320 deletions(-) diff --git a/product/CMFActivity/tests/testCMFActivity.py b/product/CMFActivity/tests/testCMFActivity.py index 05866e9993..9eddf4db40 100644 --- a/product/CMFActivity/tests/testCMFActivity.py +++ b/product/CMFActivity/tests/testCMFActivity.py @@ -1539,219 +1539,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor): message_list = activity_tool.getMessageList() self.assertEqual(len(message_list), 2) - def test_83_ActivityModificationsViaCMFActivityConnectionRolledBackOnErrorSQLDict(self, quiet=0, run=run_all_test): - """ - When an activity modifies tables through CMFActivity SQL connection and - raises, check that its changes are correctly rolled back. - """ - if not run: return - if not quiet: - message = '\nCheck activity modifications via CMFActivity connection are rolled back on error (SQLDict)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQLAndFail(self, object_list): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - active_process_uid=[None], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - serialization_tag_list=[''], - ) - # Mark first entry as failed - del object_list[0][3] - def dummy(self): - pass - try: - Organisation.modifySQLAndFail = modifySQLAndFail - Organisation.dummy = dummy - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - group_method_id = '%s/modifySQLAndFail' % (obj.getPath(), ) - obj.activate(activity='SQLDict', group_method_id=group_method_id).dummy() - obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation') - obj2.activate(activity='SQLDict', group_method_id=group_method_id).dummy() - self.commit() - self.flushAllActivities(silent=1, loop_size=100) - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'modifySQLAndFail') - delattr(Organisation, 'dummy') - - def test_84_ActivityModificationsViaCMFActivityConnectionRolledBackOnErrorSQLQueue(self, quiet=0, run=run_all_test): - """ - When an activity modifies tables through CMFActivity SQL connection and - raises, check that its changes are correctly rolled back. - """ - if not run: return - if not quiet: - message = '\nCheck activity modifications via CMFActivity connection are rolled back on error (SQLQueue)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQLAndFail(self): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - serialization_tag_list=[''] - ) - # Fail - raise ValueError, 'This method always fail' - try: - Organisation.modifySQLAndFail = modifySQLAndFail - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - obj.activate(activity='SQLQueue').modifySQLAndFail() - self.commit() - self.flushAllActivities(silent=1, loop_size=100) - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'modifySQLAndFail') - - def test_86_ActivityToolInvokeGroupFailureDoesNotCommitCMFActivitySQLConnectionSQLDict(self, quiet=0, run=run_all_test): - """ - Check that CMFActivity SQL connection is rollback if activity_tool.invokeGroup raises. - """ - if not run: return - if not quiet: - message = '\nCheck that activity modifications via CMFActivity connection are rolled back on ActivityTool error (SQLDict)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQLAndFail(self, *arg, **kw): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - serialization_tag_list=[''], - ) - # Fail - raise ValueError, 'This method always fail' - def dummy(self): - pass - invoke = activity_tool.__class__.invoke - invokeGroup = activity_tool.__class__.invokeGroup - try: - activity_tool.__class__.invoke = modifySQLAndFail - activity_tool.__class__.invokeGroup = modifySQLAndFail - Organisation.dummy = dummy - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - group_method_id = '%s/dummy' % (obj.getPath(), ) - obj.activate(activity='SQLDict', group_method_id=group_method_id).dummy() - obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation') - obj2.activate(activity='SQLDict', group_method_id=group_method_id).dummy() - self.commit() - self.flushAllActivities(silent=1, loop_size=100) - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'dummy') - activity_tool.__class__.invoke = invoke - activity_tool.__class__.invokeGroup = invokeGroup - - def test_87_ActivityToolInvokeFailureDoesNotCommitCMFActivitySQLConnectionSQLQueue(self, quiet=0, run=run_all_test): - """ - Check that CMFActivity SQL connection is rollback if activity_tool.invoke raises. - """ - if not run: return - if not quiet: - message = '\nCheck that activity modifications via CMFActivity connection are rolled back on ActivityTool error (SQLQueue)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQLAndFail(self, *args, **kw): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - serialization_tag_list=[''], - ) - # Fail - raise ValueError, 'This method always fail' - def dummy(self): - pass - invoke = activity_tool.__class__.invoke - invokeGroup = activity_tool.__class__.invokeGroup - try: - activity_tool.__class__.invoke = modifySQLAndFail - activity_tool.__class__.invokeGroup = modifySQLAndFail - Organisation.dummy = dummy - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - obj.activate(activity='SQLQueue').dummy() - self.commit() - self.flushAllActivities(silent=1, loop_size=100) - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'dummy') - activity_tool.__class__.invoke = invoke - activity_tool.__class__.invokeGroup = invokeGroup - def test_88_ProcessingMultipleMessagesMustRevertIndividualMessagesOnError(self, quiet=0, run=run_all_test): """ Check that, on queues which support it, processing a batch of multiple @@ -1920,113 +1707,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor): LOG('Testing... ',0,message) self.TryUserNotificationRaise('SQLQueue') - def test_94_ActivityToolCommitFailureDoesNotCommitCMFActivitySQLConnectionSQLDict(self, quiet=0, run=run_all_test): - """ - Check that CMFActivity SQL connection is rollback if transaction commit raises. - """ - if not run: return - if not quiet: - message = '\nCheck that activity modifications via CMFActivity connection are rolled back on commit error (SQLDict)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQL(self, object_list): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - ) - transaction.get().__class__.commit = fake_commit - commit = transaction.get().__class__.commit - def fake_commit(*args, **kw): - transaction.get().__class__.commit = commit - raise KeyError, 'always fail' - try: - Organisation.modifySQL = modifySQL - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - group_method_id = '%s/modifySQL' % (obj.getPath(), ) - obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation') - self.tic() - obj.activate(activity='SQLDict', group_method_id=group_method_id).modifySQL() - obj2.activate(activity='SQLDict', group_method_id=group_method_id).modifySQL() - self.commit() - try: - self.flushAllActivities(silent=1, loop_size=100) - finally: - transaction.get().__class__.commit = commit - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'modifySQL') - - def test_95_ActivityToolCommitFailureDoesNotCommitCMFActivitySQLConnectionSQLQueue(self, quiet=0, run=run_all_test): - """ - Check that CMFActivity SQL connection is rollback if activity_tool.invoke raises. - """ - if not run: return - if not quiet: - message = '\nCheck that activity modifications via CMFActivity connection are rolled back on commit error (SQLQueue)' - ZopeTestCase._print(message) - LOG('Testing... ',0,message) - self.tic() - activity_tool = self.getActivityTool() - def modifySQL(self, *args, **kw): - # Only create the dummy activity if none is present: we would just - # generate missleading errors (duplicate uid). - if activity_tool.countMessage(method_id='dummy_activity') == 0: - # Add a dumy activity which will not be executed - # Modified table does not matter - method_id = 'dummy_activity' - path = '/'.join(self.getPhysicalPath()) - message = Message(self, None, {}, method_id, (), {}) - pickled_message = pickle.dumps(message) - self.SQLDict_writeMessageList( - uid_list=[0], # This uid is never automaticaly assigned (starts at 1) - date_list=[DateTime().Date()], - path_list=[path], - method_id_list=[method_id], - message_list=[pickled_message], - priority_list=[1], - processing_node_list=[-2], - group_method_id_list=['\0'], - tag_list=[''], - order_validation_text_list=[''], - ) - transaction.get().__class__.commit = fake_commit - commit = transaction.get().__class__.commit - def fake_commit(self, *args, **kw): - transaction.get().__class__.commit = commit - raise KeyError, 'always fail' - try: - Organisation.modifySQL = modifySQL - obj = self.getPortal().organisation_module.newContent(portal_type='Organisation') - self.tic() - obj.activate(activity='SQLQueue').modifySQL() - self.commit() - try: - self.flushAllActivities(silent=1, loop_size=100) - finally: - transaction.get().__class__.commit = commit - self.assertEqual(activity_tool.countMessage(method_id='dummy_activity'), 0) - finally: - delattr(Organisation, 'modifySQL') - def TryActivityRaiseInCommitDoesNotStallActivityConection(self, activity): """ Check that an activity which commit raises (as would a regular conflict -- 2.30.9