Use MagicMock for message when testing sendmail

Since issue8596, sendmail test message contains Date header so message must
implement the magic method.
This commit is contained in:
Cédric Krier
2019-08-30 11:32:32 +02:00
parent 8c1aa49492
commit 2b78f07a98
+7 -6
View File
@@ -3,7 +3,7 @@
import smtplib
import unittest
from email.message import Message
from unittest.mock import Mock, patch, call
from unittest.mock import Mock, MagicMock, patch, call
from trytond.sendmail import (
sendmail_transactional, sendmail, SMTPDataManager, get_smtp_server)
@@ -21,7 +21,7 @@ class SendmailTestCase(unittest.TestCase):
@with_transaction()
def test_sendmail_transactional(self):
'Test sendmail_transactional'
message = Mock()
message = MagicMock()
datamanager = Mock()
sendmail_transactional(
'tryton@example.com', 'foo@example.com', message,
@@ -32,7 +32,7 @@ class SendmailTestCase(unittest.TestCase):
def test_sendmail(self):
'Test sendmail'
message = Mock()
message = MagicMock()
server = Mock()
sendmail(
'tryton@example.com', 'foo@example.com', message, server=server)
@@ -89,8 +89,8 @@ class SendmailTestCase(unittest.TestCase):
# multiple join must return the same
self.assertEqual(transaction.join(SMTPDataManager()), datamanager)
msg1 = Mock(Message)
msg2 = Mock(Message)
msg1 = MagicMock(Message)
msg2 = MagicMock(Message)
datamanager.put('foo@example.com', 'bar@example.com', msg1)
datamanager.put('bar@example.com', 'foo@example.com', msg2)
@@ -105,7 +105,8 @@ class SendmailTestCase(unittest.TestCase):
server.reset_mock()
datamanager.put('foo@example.com', 'bar@example.com', Mock(Message))
datamanager.put(
'foo@example.com', 'bar@example.com', MagicMock(Message))
transaction.rollback()
server.sendmail.assert_not_called()