Commit 4d535d4a authored by Yusei Tahara's avatar Yusei Tahara

Separate one big test.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18622 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent b21cb73f
...@@ -232,25 +232,19 @@ class TestCRMMailSend(ERP5TypeTestCase): ...@@ -232,25 +232,19 @@ class TestCRMMailSend(ERP5TypeTestCase):
get_transaction().commit() get_transaction().commit()
self.tic() self.tic()
def test_MailAttachment(self): def test_MailAttachmentPdf(self):
"""Make sure that document is correctly attached in email""" """Make sure that pdf document is correctly attached in email"""
# Add a document which will be attached. # Add a document which will be attached.
# pdf def add_document(filename, id, container, portal_type):
f = openTestFile('sample_attachment.pdf') f = openTestFile(filename)
document_pdf = self.portal.document_module.newContent(id='1', document = container.newContent(id=id, portal_type=portal_type)
portal_type='PDF') document.edit(file=f, reference=filename)
document_pdf.edit(file=f, reference='sample_attachment.pdf') return document
get_transaction().commit()
self.tic()
get_transaction().commit()
# odt # pdf
f = openTestFile('sample_attachment.odt') document_pdf = add_document('sample_attachment.pdf', '1',
document_odt = self.portal.document_module.newContent(id='2', self.portal.document_module, 'PDF')
portal_type='Text')
document_odt.edit(file=f, reference='sample_attachment.odt')
get_transaction().commit() get_transaction().commit()
self.tic() self.tic()
...@@ -270,8 +264,7 @@ class TestCRMMailSend(ERP5TypeTestCase): ...@@ -270,8 +264,7 @@ class TestCRMMailSend(ERP5TypeTestCase):
event = self.portal.event_module.objectValues()[0] event = self.portal.event_module.objectValues()[0]
event.edit(source='person_module/me', event.edit(source='person_module/me',
destination='person_module/sender', destination='person_module/sender',
aggregate=[document_pdf.getRelativeUrl(), aggregate=document_pdf.getRelativeUrl(),
document_odt.getRelativeUrl(),],
text_content='This is an advertisement mail.') text_content='This is an advertisement mail.')
mail_text = event.send(download=True) mail_text = event.send(download=True)
...@@ -293,6 +286,53 @@ class TestCRMMailSend(ERP5TypeTestCase): ...@@ -293,6 +286,53 @@ class TestCRMMailSend(ERP5TypeTestCase):
if i.get_filename()=='sample_attachment.pdf': if i.get_filename()=='sample_attachment.pdf':
part = i part = i
self.assertEqual(part.get_payload(decode=True), str(document_pdf.getData())) self.assertEqual(part.get_payload(decode=True), str(document_pdf.getData()))
def test_MailAttachmentText(self):
"""Make sure that text document is correctly attached in email"""
# Add a document which will be attached.
def add_document(filename, id, container, portal_type):
f = openTestFile(filename)
document = container.newContent(id=id, portal_type=portal_type)
document.edit(file=f, reference=filename)
return document
# odt
document_odt = add_document('sample_attachment.odt', '2',
self.portal.document_module, 'Text')
get_transaction().commit()
self.tic()
get_transaction().commit()
# Add a ticket
ticket = self.portal.campaign_module.newContent(id='1',
portal_type='Campaign',
title='Advertisement')
# Create a event
ticket.Ticket_newEvent(portal_type='Mail Message',
title='Our new product',
description='Buy this now!',
direction='outgoing')
# Set sender and attach a document to the event.
event = self.portal.event_module.objectValues()[0]
event.edit(source='person_module/me',
destination='person_module/sender',
aggregate=document_odt.getRelativeUrl(),
text_content='This is an advertisement mail.')
mail_text = event.send(download=True)
# Check mail text.
message = email.message_from_string(mail_text)
part = None
for i in message.get_payload():
if i.get_content_type()=='text/plain':
part = i
self.assertEqual(part.get_payload(decode=True), event.getTextContent())
# Check attachment
# odt # odt
self.assert_('sample_attachment.odt' in self.assert_('sample_attachment.odt' in
[i.get_filename() for i in message.get_payload()]) [i.get_filename() for i in message.get_payload()])
...@@ -302,6 +342,166 @@ class TestCRMMailSend(ERP5TypeTestCase): ...@@ -302,6 +342,166 @@ class TestCRMMailSend(ERP5TypeTestCase):
part = i part = i
self.assert_(len(part.get_payload(decode=True))>0) self.assert_(len(part.get_payload(decode=True))>0)
def test_MailAttachmentFile(self):
"""Make sure that file document is correctly attached in email"""
# Add a document which will be attached.
def add_document(filename, id, container, portal_type):
f = openTestFile(filename)
document = container.newContent(id=id, portal_type=portal_type)
document.edit(file=f, reference=filename)
return document
# zip
document_zip = add_document('sample_attachment.zip', '3',
self.portal.document_module, 'File')
get_transaction().commit()
self.tic()
get_transaction().commit()
# Add a ticket
ticket = self.portal.campaign_module.newContent(id='1',
portal_type='Campaign',
title='Advertisement')
# Create a event
ticket.Ticket_newEvent(portal_type='Mail Message',
title='Our new product',
description='Buy this now!',
direction='outgoing')
# Set sender and attach a document to the event.
event = self.portal.event_module.objectValues()[0]
event.edit(source='person_module/me',
destination='person_module/sender',
aggregate=document_zip.getRelativeUrl(),
text_content='This is an advertisement mail.')
mail_text = event.send(download=True)
# Check mail text.
message = email.message_from_string(mail_text)
part = None
for i in message.get_payload():
if i.get_content_type()=='text/plain':
part = i
self.assertEqual(part.get_payload(decode=True), event.getTextContent())
# Check attachment
# zip
self.assert_('sample_attachment.zip' in
[i.get_filename() for i in message.get_payload()])
part = None
for i in message.get_payload():
if i.get_filename()=='sample_attachment.zip':
part = i
self.assert_(len(part.get_payload(decode=True))>0)
def test_MailAttachmentImage(self):
"""Make sure that image document is correctly attached in email"""
# Add a document which will be attached.
def add_document(filename, id, container, portal_type):
f = openTestFile(filename)
document = container.newContent(id=id, portal_type=portal_type)
document.edit(file=f, reference=filename)
return document
# gif
document_gif = add_document('sample_attachment.gif', '4',
self.portal.image_module, 'Image')
get_transaction().commit()
self.tic()
get_transaction().commit()
# Add a ticket
ticket = self.portal.campaign_module.newContent(id='1',
portal_type='Campaign',
title='Advertisement')
# Create a event
ticket.Ticket_newEvent(portal_type='Mail Message',
title='Our new product',
description='Buy this now!',
direction='outgoing')
# Set sender and attach a document to the event.
event = self.portal.event_module.objectValues()[0]
event.edit(source='person_module/me',
destination='person_module/sender',
aggregate=document_gif.getRelativeUrl(),
text_content='This is an advertisement mail.')
mail_text = event.send(download=True)
# Check mail text.
message = email.message_from_string(mail_text)
part = None
for i in message.get_payload():
if i.get_content_type()=='text/plain':
part = i
self.assertEqual(part.get_payload(decode=True), event.getTextContent())
# Check attachment
# gif
self.assert_('sample_attachment.gif' in
[i.get_filename() for i in message.get_payload()])
part = None
for i in message.get_payload():
if i.get_filename()=='sample_attachment.gif':
part = i
self.assertEqual(part.get_payload(decode=True), str(document_gif.getData()))
def test_MailAttachmentWebPage(self):
"""Make sure that webpage document is correctly attached in email"""
# Add a document which will be attached.
document_html = self.portal.web_page_module.newContent(id='5',
portal_type='Web Page')
document_html.edit(text_content='<html><body>Hello world!</body></html>',
reference='sample_attachment.html')
get_transaction().commit()
self.tic()
get_transaction().commit()
# Add a ticket
ticket = self.portal.campaign_module.newContent(id='1',
portal_type='Campaign',
title='Advertisement')
# Create a event
ticket.Ticket_newEvent(portal_type='Mail Message',
title='Our new product',
description='Buy this now!',
direction='outgoing')
# Set sender and attach a document to the event.
event = self.portal.event_module.objectValues()[0]
event.edit(source='person_module/me',
destination='person_module/sender',
aggregate=document_html.getRelativeUrl(),
text_content='This is an advertisement mail.')
mail_text = event.send(download=True)
# Check mail text.
message = email.message_from_string(mail_text)
part = None
for i in message.get_payload():
if i.get_content_type()=='text/plain':
part = i
self.assertEqual(part.get_payload(decode=True), event.getTextContent())
# Check attachment
# html
self.assert_('sample_attachment.html' in
[i.get_filename() for i in message.get_payload()])
part = None
for i in message.get_payload():
if i.get_filename()=='sample_attachment.html':
part = i
self.assertEqual(part.get_payload(decode=True), str(document_html.getTextContent))
def test_MailRespond(self): def test_MailRespond(self):
""" """
Test we can answer an incoming event and quote it Test we can answer an incoming event and quote it
...@@ -344,7 +544,7 @@ class TestCRMMailSend(ERP5TypeTestCase): ...@@ -344,7 +544,7 @@ class TestCRMMailSend(ERP5TypeTestCase):
self.assertEqual(answer_event.getSource(), 'person_module/sender') self.assertEqual(answer_event.getSource(), 'person_module/sender')
self.assertEqual(answer_event.getTextContent(), '> This is an advertisement mail.') self.assertEqual(answer_event.getTextContent(), '> This is an advertisement mail.')
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestCRMMailIngestion)) suite.addTest(unittest.makeSuite(TestCRMMailIngestion))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment