[Erp5-report] r31853 leonardo - /erp5/trunk/products/ERP5/tests/testCRM.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jan 20 22:01:29 CET 2010
Author: leonardo
Date: Wed Jan 20 22:01:29 2010
New Revision: 31853
URL: http://svn.erp5.org?rev=31853&view=rev
Log:
Add email lookup tests
Modified:
erp5/trunk/products/ERP5/tests/testCRM.py
Modified: erp5/trunk/products/ERP5/tests/testCRM.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testCRM.py?rev=31853&r1=31852&r2=31853&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testCRM.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testCRM.py [utf8] Wed Jan 20 22:01:29 2010
@@ -408,6 +408,30 @@
file_name='postfix_mail.eml', mime_type='message/rfc822', data='Test'
))
+ def test_Base_getEntityListFromFromHeader(self):
+ expected_values = (
+ ('me at erp5.org', ['person_module/me']),
+ ('me at erp5.org, he at erp5.org', ['person_module/me', 'person_module/he']),
+ ('Sender <sender at customer.com>', ['person_module/sender']),
+ # tricks to confuse the e-mail parser:
+ # a comma in the name
+ ('"Sender," <sender at customer.com>, he at erp5.org', ['person_module/sender',
+ 'person_module/he']),
+ # multiple e-mails in the "Name" part that shouldn't be parsed
+ ('"me at erp5.org,sender at customer.com," <he at erp5.org>', ['person_module/he']),
+ # a < sign
+ ('"He<" <he at erp5.org>', ['person_module/he']),
+ )
+ portal = self.portal
+ Base_getEntityListFromFromHeader = portal.Base_getEntityListFromFromHeader
+ pc = self.portal.portal_catalog
+ for header, expected_paths in expected_values:
+ paths = [entity.getRelativeUrl()
+ for entity in portal.Base_getEntityListFromFromHeader(header)]
+ self.assertEquals(paths, expected_paths,
+ '%r should return %r, but returned %r' %
+ (header, expected_paths, paths))
+
def test_document_creation(self):
# CRM email ingestion creates a Mail Message in event_module
event = self._ingestMail('simple')
@@ -415,6 +439,11 @@
self.assertEquals(event, self.portal.event_module.contentValues()[0])
self.assertEquals('Mail Message', event.getPortalType())
self.assertEquals('message/rfc822', event.getContentType())
+ # check if parsing of metadata from content is working
+ content_dict = {'source_list': ['person_module/sender'],
+ 'destination_list': ['person_module/me',
+ 'person_module/he']}
+ self.assertEquals(event.getPropertyDictFromContent(), content_dict)
def test_title(self):
# title is found automatically, based on the Subject: header in the mail
More information about the Erp5-report
mailing list