示例#1
0
def test_ip_pool():
    me = NoopMassEmail()
    pool = 'abc_group'

    me.set_ip_pool(pool)

    assert me.get_ip_pool() == pool
示例#2
0
def test_subject():
    me = NoopMassEmail()
    sub = 'Testing'

    me.set_subject(sub)

    assert me.get_subject() == sub
示例#3
0
def test_template_name():
    me = NoopMassEmail()
    template_name = 'test template'

    me.set_template_name(template_name)

    assert me.get_template_name() == template_name
示例#4
0
def test_add_recipients():
    '''
    Test that a list of recipients can be added in bulk, assigning a default
    empty dict of merge vars when not provided
    '''

    me = NoopMassEmail()

    me.add_recipients([
        {
            'email': '*****@*****.**',
            'name': 'Some test dude',
            'merge_vars': {'SOMETHING': 'test'},
        },
        {
            'email': '*****@*****.**',
            'name': 'Some test dude',
        },
    ])

    recips = me.get_recipients()

    assert len(recips) == 2

    recips = [x for x in me.get_recipients() if x.get('merge_vars') == {}]

    assert len(recips) == 1
示例#5
0
def test_webhook_data():
    me = NoopMassEmail()
    sub = 'Testing'

    me.set_webhook_data(sub)

    assert me.get_webhook_data() == sub
示例#6
0
def test_reply_to_addr():
    me = NoopMassEmail()
    addr = '*****@*****.**'

    me.set_reply_to_addr(addr)

    assert me.get_reply_to_addr() == addr
示例#7
0
def test_ip_pool():
    me = NoopMassEmail()
    pool = 'abc_group'

    me.set_ip_pool(pool)

    assert me.get_ip_pool() == pool
示例#8
0
def test_subject():
    me = NoopMassEmail()
    sub = 'Testing'

    me.set_subject(sub)

    assert me.get_subject() == sub
示例#9
0
def test_webhook_data():
    me = NoopMassEmail()
    sub = 'Testing'

    me.set_webhook_data(sub)

    assert me.get_webhook_data() == sub
示例#10
0
def test_reply_to_addr():
    me = NoopMassEmail()
    addr = '*****@*****.**'

    me.set_reply_to_addr(addr)

    assert me.get_reply_to_addr() == addr
示例#11
0
def test_template_name():
    me = NoopMassEmail()
    template_name = 'test template'

    me.set_template_name(template_name)

    assert me.get_template_name() == template_name
示例#12
0
def test_add_recipient():
    me = NoopMassEmail()

    me.add_recipient(name='Tester Dude',
                     email='*****@*****.**',
                     merge_vars={'EXAMPLE': 'A TEST REPLACEMENT'})

    recips = me.get_recipients()

    assert len(recips) == 1

    assert recips[0].get('merge_vars') is not None
示例#13
0
def test_validate():
    me = NoopMassEmail()

    with pytest.raises(Exception) as e:
        me.validate()

    assert 'address and subject' in str(e)

    me.set_subject('something')
    me.set_from_addr('*****@*****.**')

    me.validate()
示例#14
0
def test_add_recipient():
    me = NoopMassEmail()

    me.add_recipient(
        name='Tester Dude', email='*****@*****.**',
        merge_vars={'EXAMPLE': 'A TEST REPLACEMENT'}
    )

    recips = me.get_recipients()

    assert len(recips) == 1

    assert recips[0].get('merge_vars') is not None
示例#15
0
def test_delimiters():
    '''
    By default, we assume the ESP cannot hot-swap variable delimiters the way
    SendGrid can, so we raise NotImplementedError and call it a day.
    '''

    me = NoopMassEmail()

    with pytest.raises(NotImplementedError):
        me.set_variable_delimiters(start='*|', end='|*')

    with pytest.raises(NotImplementedError):
        me.get_variable_delimiters()
示例#16
0
def test_can_lazily_add_recipients_and_solidify():
    gen_count = 20

    me = NoopMassEmail()

    me.add_recipients(generate_recipients(gen_count))

    recips = me.get_raw_recipients()

    assert hasattr(recips, '__iter__') and not hasattr(recips, '__len__')

    recips_list = me.solidify_recipients()

    assert len(recips_list) == gen_count
示例#17
0
def test_importance():
    me = NoopMassEmail()

    me.set_importance(True)
    assert me.get_importance() is True

    me.set_importance(False)
    assert me.get_importance() is False
示例#18
0
def test_validate():
    me = NoopMassEmail()

    with pytest.raises(Exception) as e:
        me.validate()

    assert 'address and subject' in str(e)

    me.set_subject('something')
    me.set_from_addr('*****@*****.**')

    me.validate()
示例#19
0
def test_open_tracking():
    me = NoopMassEmail()

    assert not me.get_open_tracking_status()

    me.enable_open_tracking()

    assert me.get_open_tracking_status() is True

    me.disable_open_tracking()

    assert me.get_open_tracking_status() is False
示例#20
0
def test_clear_tags():
    me = NoopMassEmail()

    me.add_tags('test', 'mode')

    assert len(me.get_tags()) == 2

    me.clear_tags()

    assert len(me.get_tags()) == 0
示例#21
0
def test_clear_global_merge_vars():
    me = NoopMassEmail()

    me.add_global_merge_vars(FIRST='server', SECOND='client')

    me.clear_global_merge_vars()

    assert not me.get_global_merge_vars()
示例#22
0
def test_importance():
    me = NoopMassEmail()

    me.set_importance(True)
    assert me.get_importance() is True

    me.set_importance(False)
    assert me.get_importance() is False
示例#23
0
def test_add_global_merge_vars():
    me = NoopMassEmail()

    me.add_global_merge_vars(FIRST='server', SECOND_ONE_IS_BEST='client')

    assert len(me.get_global_merge_vars().items()) == 2
    assert 'FIRST' in me.get_global_merge_vars().keys()
    assert 'SECOND_ONE_IS_BEST' in me.get_global_merge_vars().keys()
示例#24
0
def test_open_tracking():
    me = NoopMassEmail()

    assert not me.get_open_tracking_status()

    me.enable_open_tracking()

    assert me.get_open_tracking_status() is True

    me.disable_open_tracking()

    assert me.get_open_tracking_status() is False
示例#25
0
def test_set_body_and_get_body():
    me = NoopMassEmail()
    msg = '<h1>Hello!</h1>'

    me.set_body(msg)

    assert me.get_body().get(MIMETYPE_HTML) == msg
    assert me.get_body(mimetype=MIMETYPE_HTML) == msg

    with pytest.raises(AttributeError) as e:
        me.get_body(mimetype=MIMETYPE_TEXT)

    assert 'mimetype' in str(e.value)
示例#26
0
def test_clear_tags():
    me = NoopMassEmail()

    me.add_tags('test', 'mode')

    assert len(me.get_tags()) == 2

    me.clear_tags()

    assert len(me.get_tags()) == 0
示例#27
0
def test_add_recipients():
    '''
    Test that a list of recipients can be added in bulk, assigning a default
    empty dict of merge vars when not provided
    '''

    me = NoopMassEmail()

    me.add_recipients([
        {
            'email': '*****@*****.**',
            'name': 'Some test dude',
            'merge_vars': {
                'SOMETHING': 'test'
            },
        },
        {
            'email': '*****@*****.**',
            'name': 'Some test dude',
        },
    ])

    recips = me.get_recipients()

    assert len(recips) == 2

    recips = [x for x in me.get_recipients() if x.get('merge_vars') == {}]

    assert len(recips) == 1
示例#28
0
def test_add_global_merge_vars():
    me = NoopMassEmail()

    me.add_global_merge_vars(FIRST='server', SECOND_ONE_IS_BEST='client')

    assert len(me.get_global_merge_vars().items()) == 2
    assert 'FIRST' in me.get_global_merge_vars().keys()
    assert 'SECOND_ONE_IS_BEST' in me.get_global_merge_vars().keys()
示例#29
0
def test_clear_global_merge_vars():
    me = NoopMassEmail()

    me.add_global_merge_vars(FIRST='server', SECOND='client')

    me.clear_global_merge_vars()

    assert not me.get_global_merge_vars()
示例#30
0
def test_set_body_and_get_body():
    me = NoopMassEmail()
    msg = '<h1>Hello!</h1>'

    me.set_body(msg)

    assert me.get_body().get(MIMETYPE_HTML) == msg
    assert me.get_body(mimetype=MIMETYPE_HTML) == msg

    with pytest.raises(AttributeError) as e:
        me.get_body(mimetype=MIMETYPE_TEXT)

    assert 'mimetype' in str(e.value)
示例#31
0
def test_set_body_with_mimetype():
    '''
    Test that setting a body will set the default (HTML), but this mimetype
    can be overridden with an argument (for, ie. plain text)
    '''
    me = NoopMassEmail()
    msg_text = 'Tester Test'
    msg_html = '<h1>Tester Test HTML</h1>'

    me.set_body(msg_html)
    me.set_body(msg_text, mimetype=MIMETYPE_TEXT)

    assert me.get_body(mimetype=MIMETYPE_HTML) == msg_html
    assert me.get_body(mimetype=MIMETYPE_TEXT) == msg_text
示例#32
0
def test_delimiters():
    '''
    By default, we assume the ESP cannot hot-swap variable delimiters the way
    SendGrid can, so we raise NotImplementedError and call it a day.
    '''

    me = NoopMassEmail()

    with pytest.raises(NotImplementedError):
        me.set_variable_delimiters(start='*|', end='|*')

    with pytest.raises(NotImplementedError):
        me.get_variable_delimiters()
示例#33
0
def test_can_lazily_add_recipients_and_solidify():
    gen_count = 20

    me = NoopMassEmail()

    me.add_recipients(generate_recipients(gen_count))

    recips = me.get_raw_recipients()

    assert hasattr(recips, '__iter__') and not hasattr(recips, '__len__')

    recips_list = me.solidify_recipients()

    assert len(recips_list) == gen_count
示例#34
0
def test_set_body_with_mimetype():
    '''
    Test that setting a body will set the default (HTML), but this mimetype
    can be overridden with an argument (for, ie. plain text)
    '''
    me = NoopMassEmail()
    msg_text = 'Tester Test'
    msg_html = '<h1>Tester Test HTML</h1>'

    me.set_body(msg_html)
    me.set_body(msg_text, mimetype=MIMETYPE_TEXT)

    assert me.get_body(mimetype=MIMETYPE_HTML) == msg_html
    assert me.get_body(mimetype=MIMETYPE_TEXT) == msg_text
示例#35
0
def test_no_tags_by_default():
    me = NoopMassEmail()

    assert len(me.get_tags()) == 0
示例#36
0
def test_send():
    me = NoopMassEmail()

    with pytest.raises(NotImplementedError):
        me.send()
示例#37
0
def test_send():
    me = NoopMassEmail()

    with pytest.raises(NotImplementedError):
        me.send()
示例#38
0
def test_instantiatable():
    assert NoopMassEmail()
示例#39
0
def test_no_tags_by_default():
    me = NoopMassEmail()

    assert len(me.get_tags()) == 0
示例#40
0
def test_no_global_merge_vars_by_default():
    me = NoopMassEmail()

    assert not me.get_global_merge_vars()
示例#41
0
def test_no_global_merge_vars_by_default():
    me = NoopMassEmail()

    assert not me.get_global_merge_vars()