def test_campaign(): email_message = EmailMessage(**base_options) email_message.campaign = 'campaign-id' actual = SparkPostMessage(email_message) expected = dict(campaign='campaign-id') expected.update(base_expected) assert actual == expected
def test_extra_headers(): email_message = EmailMessage(**base_options) email_message.extra_headers['FOO'] = 'bar' actual = SparkPostMessage(email_message) expected = dict(custom_headers={'FOO': 'bar'}, ) expected.update(base_expected) assert actual == expected
def test_template(): email_message = EmailMessage(to=['*****@*****.**'], from_email='*****@*****.**') email_message.template = 'template-id' actual = SparkPostMessage(email_message) expected = dict(recipients=['*****@*****.**'], from_email='*****@*****.**', template='template-id') assert actual == expected
def test_content_subtype(): email_message = EmailMessage(to=['*****@*****.**'], from_email='*****@*****.**', body='<p>Testing</p>') email_message.content_subtype = 'html' actual = SparkPostMessage(email_message) expected = dict(recipients=['*****@*****.**'], from_email='*****@*****.**', html='<p>Testing</p>') assert actual == expected
def test_attachment_guess_mimetype(): email_message = EmailMessage(**base_options) email_message.attach('file.txt', 'test content') actual = SparkPostMessage(email_message) expected = dict(attachments=[{ 'name': 'file.txt', 'data': 'dGVzdCBjb250ZW50', 'type': 'text/plain' }]) expected.update(base_expected) assert actual == expected
def test_attachment_guess_mimetype_fallback(): email_message = EmailMessage(**base_options) email_message.attach('file', 'test content') actual = SparkPostMessage(email_message) expected = dict(attachments=[{ 'name': 'file', 'data': 'dGVzdCBjb250ZW50', 'type': 'application/octet-stream' }]) expected.update(base_expected) assert actual == expected
def test_transactional(): email_message = EmailMessage(**base_options) import json msys_api = json.dumps({'options': {'transactional': True}}) email_message.extra_headers['X-MSYS-API'] = msys_api actual = SparkPostMessage(email_message) expected = dict( custom_headers={'X-MSYS-API': msys_api}, transactional=True, ) expected.update(base_expected) assert actual == expected
def test_substitution_data(): email_message = EmailMessage(to=[{ "address": "*****@*****.**", "substitution_data": { "key": "value" } }], from_email='*****@*****.**') email_message.template = 'template-id' email_message.substitution_data = {"key2": "value2"} actual = SparkPostMessage(email_message) expected = dict(recipients=[{ "address": "*****@*****.**", "substitution_data": { "key": "value" } }], from_email='*****@*****.**', template='template-id', substitution_data={"key2": "value2"}) assert actual == expected
def multipart_message(**options): options.update(base_options) email_message = EmailMultiAlternatives(**options) email_message.attach_alternative('<p>Testing</p>', 'text/html') return SparkPostMessage(email_message)
def message(**options): options.update(base_options) email_message = EmailMessage(**options) return SparkPostMessage(email_message)