From 2e1db30851cb5e5a9a5549d43acd703c46ab8046 Mon Sep 17 00:00:00 2001 From: Nicolas Delaby <nicolas@nexedi.com> Date: Thu, 13 May 2010 09:41:23 +0000 Subject: [PATCH] * Use _getConversionServerDict method to read oood server configuration * replace text_format by content_type * Use FileUpload class to wrap files. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@35295 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testCRM.py | 47 +++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py index 8037bba3cc..d8fe16621f 100644 --- a/product/ERP5/tests/testCRM.py +++ b/product/ERP5/tests/testCRM.py @@ -33,16 +33,18 @@ import email.Header import transaction from Products.CMFCore.WorkflowCore import WorkflowException -from Products.ERP5Type.tests.utils import DummyMailHost -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5OOo.tests.testIngestion import conversion_server_host +from Products.ERP5Type.tests.utils import DummyMailHost, FileUpload +from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase,\ + _getConversionServerDict from Products.ERP5OOo.tests.testIngestion import FILE_NAME_REGULAR_EXPRESSION from Products.ERP5OOo.tests.testIngestion import REFERENCE_REGULAR_EXPRESSION -TEST_HOME = os.path.dirname(__file__) +def makeFilePath(name): + return os.path.join(os.path.dirname(__file__), 'test_data', 'crm_emails', name) -def openTestFile(filename): - return file(os.path.join(TEST_HOME, 'test_data', 'crm_emails', filename)) +def makeFileUpload(name): + path = makeFilePath(name) + return FileUpload(path, name) clear_module_name_list = """ campaign_module @@ -345,7 +347,7 @@ class TestCRM(BaseTestCRM): follow_up=ticket_url, title='Event Title', text_content='Event Content', - text_format='text/plain') + content_type='text/plain') transaction.commit() self.tic() self.assertEqual(len(event.getCausalityRelatedValueList()), 0) @@ -358,7 +360,7 @@ class TestCRM(BaseTestCRM): self.assertEqual(len(event.getCausalityRelatedValueList()), 1) new_event = event.getCausalityRelatedValue() self.assertEqual(new_event.getFollowUp(), ticket_url) - self.assertEqual(new_event.getTextFormat(), 'text/plain') + self.assertEqual(new_event.getContentType(), 'text/plain') self.assertEqual(new_event.getTextContent(), '> Event Content') self.assertEqual(new_event.getTitle(), 'Re: Event Title') @@ -458,13 +460,14 @@ class TestCRMMailIngestion(BaseTestCRM): self.assertEquals(len(self.portal.event_module), 1) self.assertEquals(event, self.portal.event_module.contentValues()[0]) self.assertEquals('Mail Message', event.getPortalType()) - self.assertEquals('message/rfc822', event.getContentType()) + self.assertEquals('text/plain', event.getContentType()) + self.assertEquals('message/rfc822', event._baseGetContentType()) # 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 event = self._ingestMail('simple') @@ -632,7 +635,7 @@ class TestCRMMailIngestion(BaseTestCRM): self.assertTrue('<form' not in document.getAttachmentData(4)) self.assertEquals('This is my content.\n*ERP5* is a Free _Software_\n', document.getAttachmentData(2)) - self.assertEquals('text/html', document.getTextFormat()) + self.assertEquals('text/html', document.getContentType()) self.assertEquals('\n<html>\n<head>\n\n<meta http-equiv="content-type"'\ ' content="text/html; charset=utf-8" />\n'\ '</head>\n<body text="#000000"'\ @@ -649,7 +652,7 @@ class TestCRMMailIngestion(BaseTestCRM): mixed_document.getTextContent()) self.assertEquals('Hi, this is the Message.\nERP5 is a free software.\n\n', mixed_document.getTextContent()) - self.assertEquals('text/plain', mixed_document.getTextFormat()) + self.assertEquals('text/plain', mixed_document.getContentType()) ## TODO: @@ -702,8 +705,9 @@ class TestCRMMailSend(BaseTestCRM): # set preference default_pref = self.portal.portal_preferences.default_site_preference - default_pref.setPreferredOoodocServerAddress(conversion_server_host[0]) - default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1]) + conversion_dict = _getConversionServerDict() + default_pref.setPreferredOoodocServerAddress(conversion_dict['hostname']) + default_pref.setPreferredOoodocServerPortNumber(conversion_dict['port']) default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION) default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION) if default_pref.getPreferenceState() == 'disabled': @@ -823,7 +827,7 @@ class TestCRMMailSend(BaseTestCRM): event = self.portal.event_module.newContent(portal_type='Mail Message') event.setSource('person_module/me') event.setDestination('person_module/recipient') - event.setTextFormat('text/html') + event.setContentType('text/html') event.setTextContent('Hello<br/>World') self.portal.portal_workflow.doActionFor(event, 'start_action', send_mail=1) @@ -877,7 +881,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document @@ -933,7 +937,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document @@ -989,7 +993,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document @@ -1045,7 +1049,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document @@ -1197,7 +1201,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document on a person which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document @@ -1234,6 +1238,7 @@ class TestCRMMailSend(BaseTestCRM): for i in message.get_payload(): if i.get_content_type()=='text/plain': part = i + break self.assertEqual(part.get_payload(decode=True), event.getTextContent()) # Check attachment @@ -1255,7 +1260,7 @@ class TestCRMMailSend(BaseTestCRM): # Add a document on a person which will be attached. def add_document(filename, id, container, portal_type): - f = openTestFile(filename) + f = makeFileUpload(filename) document = container.newContent(id=id, portal_type=portal_type) document.edit(file=f, reference=filename) return document -- 2.30.9