From 58325e4824c412081f301b469eaa6ec26d6d9fce Mon Sep 17 00:00:00 2001 From: Nicolas Delaby <nicolas@nexedi.com> Date: Thu, 16 Dec 2010 11:01:34 +0000 Subject: [PATCH] * Run activities after ingestion. Because discoverMedata may change the portal_type of ingested Event. * Get the last event according creation_date * It has been decided to no hide portal_type added in Subject or in Body parts of message. getTitle() == 'Visit:Company A' even if 'Visit:' is a keyword to help contribution_tool to Construct Visit portal_type during ingestion process. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@41493 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testCRM.py | 54 ++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py index 29cd2071c5..9583c99a45 100644 --- a/product/ERP5/tests/testCRM.py +++ b/product/ERP5/tests/testCRM.py @@ -573,63 +573,85 @@ class TestCRMMailIngestion(BaseTestCRM): Make sure that ingested email will be correctly converted to appropriate portal type by email metadata. """ + def getLastCreatedEvent(module): + object_list = module.contentValues() + object_list.sort(key=lambda e:e.getCreationDate()) + return object_list[-1] + + portal = self.portal message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'Visit:Company A') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Visit') - self.assertEqual(document.getTitle(), 'Company A') message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'Fax:Company B') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Fax Message') - self.assertEqual(document.getTitle(), 'Company B') message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'TEST:Company B') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Mail Message') - self.assertEqual(document.getTitle(), 'TEST:Company B') message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'visit:Company A') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Visit') - self.assertEqual(document.getTitle(), 'Company A') message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'phone:Company B') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = portal.event_module[portal.event_module.objectIds()[-1]] self.assertEqual(document.getPortalType(), 'Phone Call') - self.assertEqual(document.getTitle(), 'Company B') message = email.message_from_string(self._readTestData('simple')) message.replace_header('subject', 'LETTER:Company C') data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Letter') - self.assertEqual(document.getTitle(), 'Company C') message = email.message_from_string(self._readTestData('simple')) body = message.get_payload() message.set_payload('Visit:%s' % body) data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Visit') - self.assertEqual(document.getTextContent(), body) message = email.message_from_string(self._readTestData('simple')) body = message.get_payload() message.set_payload('PHONE CALL:%s' % body) data = message.as_string() - document = self._ingestMail(data=data) + self._ingestMail(data=data) + transaction.commit() + self.tic() + document = getLastCreatedEvent(portal.event_module) self.assertEqual(document.getPortalType(), 'Phone Call') - self.assertEqual(document.getTextContent(), body) def test_forwarder_mail(self): """ -- 2.30.9