[FIX] mail, portal: fixed tests to remove mockups at tearDown. Otherwise, when using tests, no email could be send because of the mockups installed during tests.

bzr revid: tde@openerp.com-20120913084119-6ligp3o864vtzlmz
This commit is contained in:
Thibault Delavallée
2012-09-13 10:41:19 +02:00
parent a0ba930b35
commit 13583b36d3
2 changed files with 24 additions and 9 deletions
+15 -7
View File
@@ -89,15 +89,15 @@ class test_mail(common.TransactionCase):
def _mock_smtp_gateway(self, *args, **kwargs):
return True
def _mock_build_email(self, *args, **kwargs):
self._build_email_args_list.append(args)
self._build_email_kwargs_list.append(kwargs)
return self.build_email_real(*args, **kwargs)
def _init_mock_build_email(self):
self._build_email_args_list = []
self._build_email_kwargs_list = []
def _mock_build_email(self, *args, **kwargs):
self._build_email_args_list.append(args)
self._build_email_kwargs_list.append(kwargs)
return self._build_email(*args, **kwargs)
def _mock_send_get_mail_body(self, *args, **kwargs):
# def _send_get_mail_body(self, cr, uid, mail, partner=None, context=None)
body = tools.append_content_to_html(args[2].body_html, kwargs.get('partner').name if kwargs.get('partner') else 'No specific partner')
@@ -118,11 +118,12 @@ class test_mail(common.TransactionCase):
# Install mock SMTP gateway
self._init_mock_build_email()
self.build_email_real = self.registry('ir.mail_server').build_email
self._build_email = self.registry('ir.mail_server').build_email
self.registry('ir.mail_server').build_email = self._mock_build_email
self._send_email = self.registry('ir.mail_server').send_email
self.registry('ir.mail_server').send_email = self._mock_smtp_gateway
# Mock send_get_mail_body to test its functionality without other addons override
self._send_get_mail_body = self.registry('mail.mail').send_get_mail_body
self.registry('mail.mail').send_get_mail_body = self._mock_send_get_mail_body
# groups@.. will cause the creation of new mail groups
@@ -133,6 +134,13 @@ class test_mail(common.TransactionCase):
self.group_pigs_id = self.mail_group.create(self.cr, self.uid,
{'name': 'Pigs', 'description': 'Fans of Pigs, unite !'})
def tearDown(self):
# Remove mocks
self.registry('ir.mail_server').build_email = self._build_email
self.registry('ir.mail_server').send_email = self._send_email
self.registry('mail.mail').send_get_mail_body = self._send_get_mail_body
super(test_mail, self).tearDown()
def test_00_message_process(self):
cr, uid = self.cr, self.uid
# Incoming mail creates a new mail_group "frogs"
+9 -2
View File
@@ -30,7 +30,7 @@ class test_portal(common.TransactionCase):
def _mock_build_email(self, *args, **kwargs):
self._build_email_args_list.append(args)
self._build_email_kwargs_list.append(kwargs)
return self.build_email_real(*args, **kwargs)
return self._build_email(*args, **kwargs)
def _init_mock_build_email(self):
self._build_email_args_list = []
@@ -46,14 +46,21 @@ class test_portal(common.TransactionCase):
# Install mock SMTP gateway
self._init_mock_build_email()
self.build_email_real = self.registry('ir.mail_server').build_email
self._build_email = self.registry('ir.mail_server').build_email
self.registry('ir.mail_server').build_email = self._mock_build_email
self._send_email = self.registry('ir.mail_server').send_email
self.registry('ir.mail_server').send_email = self._mock_smtp_gateway
# create a 'pigs' group that will be used through the various tests
self.group_pigs_id = self.mail_group.create(self.cr, self.uid,
{'name': 'Pigs', 'description': 'Fans of Pigs, unite !'})
def tearDown(self):
# Remove mocks
self.registry('ir.mail_server').build_email = self._build_email
self.registry('ir.mail_server').send_email = self._send_email
super(test_portal, self).tearDown()
def test_00_mail_invite(self):
cr, uid = self.cr, self.uid
print 'cacaprout'