|
2 | 2 | import json |
3 | 3 | import unittest |
4 | 4 |
|
| 5 | +from email.message import EmailMessage |
| 6 | + |
5 | 7 | from sendgrid.helpers.mail import ( |
6 | 8 | ASM, |
7 | 9 | APIKeyIncludedException, |
@@ -557,3 +559,21 @@ def test_disable_tracking(self): |
557 | 559 | def test_directly_setting_substitutions(self): |
558 | 560 | personalization = Personalization() |
559 | 561 | personalization.substitutions = [{'a': 0}] |
| 562 | + |
| 563 | + def test_from_emailmessage(self): |
| 564 | + message = EmailMessage() |
| 565 | + message.set_content('message that is not urgent') |
| 566 | + message.set_default_type('text/plain') |
| 567 | + message['Subject'] = 'URGENT TITLE' |
| 568 | + message['From'] = 'test@example.com' |
| 569 | + message['To'] = 'test@sendgrid.com' |
| 570 | + mail = Mail.from_EmailMessage(message) |
| 571 | + self.assertEqual(mail.subject, 'URGENT TITLE') |
| 572 | + self.assertEqual(mail.from_email.email, 'test@example.com') |
| 573 | + self.assertEqual(len(mail.personalizations), 1) |
| 574 | + self.assertEqual(len(mail.personalizations[0].tos), 1) |
| 575 | + self.assertDictEqual(mail.personalizations[0].tos[0], {'email': 'test@sendgrid.com'}) |
| 576 | + self.assertEqual(len(mail.contents), 1) |
| 577 | + content = mail.contents[0] |
| 578 | + self.assertEqual(content.type, 'text/plain') |
| 579 | + self.assertEqual(content.value, 'message that is not urgent\n') |
0 commit comments