Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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
Example #8
0
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
Example #9
0
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)
Example #10
0
def message(**options):
    options.update(base_options)
    email_message = EmailMessage(**options)
    return SparkPostMessage(email_message)