|
@@ -8,7 +8,7 @@ from convert import remove_extra_lines, payloads_to_dict
|
|
|
from getpass import getpass, getuser
|
|
from getpass import getpass, getuser
|
|
|
from platform import node
|
|
from platform import node
|
|
|
|
|
|
|
|
-from convert import remove_email_extra, remove_email_content_id, remove_email_message_id
|
|
|
|
|
|
|
+from convert import remove_email_extra, remove_email_content_id, prune_generated_headers
|
|
|
|
|
|
|
|
import platform
|
|
import platform
|
|
|
PYTHON_VERSION = platform.sys.version_info
|
|
PYTHON_VERSION = platform.sys.version_info
|
|
@@ -23,12 +23,13 @@ def test_text_message():
|
|
|
subject="Some news",
|
|
subject="Some news",
|
|
|
text="Hi, nice to meet you.",
|
|
text="Hi, nice to meet you.",
|
|
|
)
|
|
)
|
|
|
- msg = remove_email_message_id(str(msg))
|
|
|
|
|
|
|
+ msg = prune_generated_headers(str(msg))
|
|
|
assert str(msg) == dedent("""
|
|
assert str(msg) == dedent("""
|
|
|
from: me@example.com
|
|
from: me@example.com
|
|
|
subject: Some news
|
|
subject: Some news
|
|
|
to: you@example.com
|
|
to: you@example.com
|
|
|
Message-ID: <<message_id>>
|
|
Message-ID: <<message_id>>
|
|
|
|
|
+ Date: <date>
|
|
|
Content-Type: text/plain; charset="utf-8"
|
|
Content-Type: text/plain; charset="utf-8"
|
|
|
Content-Transfer-Encoding: 7bit
|
|
Content-Transfer-Encoding: 7bit
|
|
|
MIME-Version: 1.0
|
|
MIME-Version: 1.0
|
|
@@ -46,12 +47,13 @@ def test_html_message():
|
|
|
subject="Some news",
|
|
subject="Some news",
|
|
|
html="<h3>Hi,</h3><p>Nice to meet you</p>",
|
|
html="<h3>Hi,</h3><p>Nice to meet you</p>",
|
|
|
)
|
|
)
|
|
|
- msg = remove_email_message_id(str(msg))
|
|
|
|
|
|
|
+ msg = prune_generated_headers(str(msg))
|
|
|
assert remove_email_content_id(str(msg)) == dedent("""
|
|
assert remove_email_content_id(str(msg)) == dedent("""
|
|
|
from: me@example.com
|
|
from: me@example.com
|
|
|
subject: Some news
|
|
subject: Some news
|
|
|
to: you@example.com
|
|
to: you@example.com
|
|
|
Message-ID: <<message_id>>
|
|
Message-ID: <<message_id>>
|
|
|
|
|
+ Date: <date>
|
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
|
|
|
|
|
|
--===============<ID>==
|
|
--===============<ID>==
|
|
@@ -81,12 +83,13 @@ def test_text_and_html_message():
|
|
|
html="<h3>Hi,</h3><p>nice to meet you.</p>",
|
|
html="<h3>Hi,</h3><p>nice to meet you.</p>",
|
|
|
text="Hi, nice to meet you.",
|
|
text="Hi, nice to meet you.",
|
|
|
)
|
|
)
|
|
|
- msg = remove_email_message_id(str(msg))
|
|
|
|
|
|
|
+ msg = prune_generated_headers(str(msg))
|
|
|
assert remove_email_content_id(str(msg)) == dedent("""
|
|
assert remove_email_content_id(str(msg)) == dedent("""
|
|
|
from: me@example.com
|
|
from: me@example.com
|
|
|
subject: Some news
|
|
subject: Some news
|
|
|
to: you@example.com
|
|
to: you@example.com
|
|
|
Message-ID: <<message_id>>
|
|
Message-ID: <<message_id>>
|
|
|
|
|
+ Date: <date>
|
|
|
MIME-Version: 1.0
|
|
MIME-Version: 1.0
|
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
|
|
|
|
|
@@ -195,6 +198,7 @@ def test_without_jinja(use_jinja_obj, use_jinja):
|
|
|
subject: Some news
|
|
subject: Some news
|
|
|
to: you@example.com
|
|
to: you@example.com
|
|
|
Message-ID: <<message_id>>
|
|
Message-ID: <<message_id>>
|
|
|
|
|
+ Date: <date>
|
|
|
MIME-Version: 1.0
|
|
MIME-Version: 1.0
|
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
Content-Type: multipart/mixed; boundary="===============<ID>=="
|
|
|
|
|
|
|
@@ -223,7 +227,7 @@ def test_without_jinja(use_jinja_obj, use_jinja):
|
|
|
""")[1:]
|
|
""")[1:]
|
|
|
if IS_PY37:
|
|
if IS_PY37:
|
|
|
expected = expected.replace('sender.full_n=\n', 'sender.full_n')
|
|
expected = expected.replace('sender.full_n=\n', 'sender.full_n')
|
|
|
- msg = remove_email_message_id(str(msg))
|
|
|
|
|
|
|
+ msg = prune_generated_headers(str(msg))
|
|
|
assert remove_email_content_id(msg) == expected
|
|
assert remove_email_content_id(msg) == expected
|
|
|
|
|
|
|
|
|
|
|
|
@@ -262,7 +266,7 @@ def test_set_defaults():
|
|
|
email.subject = "Some email"
|
|
email.subject = "Some email"
|
|
|
msg = email.get_message(text="Hi, an email")
|
|
msg = email.get_message(text="Hi, an email")
|
|
|
headers = {
|
|
headers = {
|
|
|
- key: val if key not in ('Message-ID',) else '<ID>'
|
|
|
|
|
|
|
+ key: val if key not in ('Message-ID', 'Date') else '<ID>'
|
|
|
for key, val in msg.items()
|
|
for key, val in msg.items()
|
|
|
}
|
|
}
|
|
|
assert {
|
|
assert {
|
|
@@ -273,18 +277,20 @@ def test_set_defaults():
|
|
|
'Content-Transfer-Encoding': '7bit',
|
|
'Content-Transfer-Encoding': '7bit',
|
|
|
'MIME-Version': '1.0',
|
|
'MIME-Version': '1.0',
|
|
|
'Message-ID': '<ID>',
|
|
'Message-ID': '<ID>',
|
|
|
|
|
+ 'Date': '<ID>',
|
|
|
} == headers
|
|
} == headers
|
|
|
|
|
|
|
|
def test_cc_bcc():
|
|
def test_cc_bcc():
|
|
|
email = EmailSender(host=None, port=1234)
|
|
email = EmailSender(host=None, port=1234)
|
|
|
msg = email.get_message(sender="me@example.com", subject="Some email", cc=['you@example.com'], bcc=['he@example.com', 'she@example.com'])
|
|
msg = email.get_message(sender="me@example.com", subject="Some email", cc=['you@example.com'], bcc=['he@example.com', 'she@example.com'])
|
|
|
- msg = remove_email_message_id(str(msg))
|
|
|
|
|
|
|
+ msg = prune_generated_headers(str(msg))
|
|
|
assert remove_email_content_id(msg) == dedent("""
|
|
assert remove_email_content_id(msg) == dedent("""
|
|
|
from: me@example.com
|
|
from: me@example.com
|
|
|
subject: Some email
|
|
subject: Some email
|
|
|
cc: you@example.com
|
|
cc: you@example.com
|
|
|
bcc: he@example.com, she@example.com
|
|
bcc: he@example.com, she@example.com
|
|
|
Message-ID: <<message_id>>
|
|
Message-ID: <<message_id>>
|
|
|
|
|
+ Date: <date>
|
|
|
|
|
|
|
|
""")[1:]
|
|
""")[1:]
|
|
|
|
|
|
|
@@ -312,7 +318,7 @@ def test_no_table_templates():
|
|
|
headers = {
|
|
headers = {
|
|
|
key: val
|
|
key: val
|
|
|
for key, val in msg.items()
|
|
for key, val in msg.items()
|
|
|
- if key not in ('Message-ID',)
|
|
|
|
|
|
|
+ if key not in ('Message-ID', 'Date')
|
|
|
}
|
|
}
|
|
|
assert headers == {
|
|
assert headers == {
|
|
|
'from': 'me@gmail.com',
|
|
'from': 'me@gmail.com',
|