예제 #1
0
    def test_get_for_message_cls(self):
        assert Subscription.get_for_message_cls('mymsg').count() == 0

        Subscription.create('aaa', 'mymsg', 'messenger')
        Subscription.create('bbb', 'mymsg', 'messenger2')

        assert Subscription.get_for_message_cls('mymsg').count() == 2
예제 #2
0
    def test_get_for_message_cls(self):
        assert Subscription.get_for_message_cls('mymsg').count() == 0

        Subscription.create('aaa', 'mymsg', 'messenger')
        Subscription.create('bbb', 'mymsg', 'messenger2')

        assert Subscription.get_for_message_cls('mymsg').count() == 2
예제 #3
0
    def test_get_for_user(self, user):
        r = Subscription.get_for_user(user)
        assert list(r) == []

        assert Subscription.get_for_user(user).count() == 0

        Subscription.create(user, 'message', 'messenger')

        assert Subscription.get_for_user(user).count() == 1
예제 #4
0
    def test_get_for_user(self, user):
        r = Subscription.get_for_user(user)
        assert list(r) == []

        assert Subscription.get_for_user(user).count() == 0

        Subscription.create(user, 'message', 'messenger')

        assert Subscription.get_for_user(user).count() == 1
예제 #5
0
def test_prepare_undispatched():
    m, d = Message.create('testplain', {MessageBase.SIMPLE_TEXT_ID: 'abc'})

    Subscription.create('fred', 'testplain', 'test_messenger')
    Subscription.create('colon', 'testplain', 'test_messenger')

    dispatches = prepare_dispatches()
    assert len(dispatches) == 2
    assert dispatches[0].address == 'fred'
    assert dispatches[1].address == 'colon'
def test_subscription(user_create):
    user1 = user_create(attributes=dict(username='******'))
    user2 = user_create(attributes=dict(username='******'))
    user2.is_active = False
    user2.save()

    Subscription.create(user1.id, MessagePlainForTest, MessengerForTest)
    Subscription.create(user2.id, MessagePlainForTest, MessengerForTest)
    assert len(MessagePlainForTest.get_subscribers(active_only=False)) == 2
    assert len(MessagePlainForTest.get_subscribers(active_only=True)) == 1
예제 #7
0
def test_prepare_undispatched():
    m, d = Message.create('testplain', {MessageBase.SIMPLE_TEXT_ID: 'abc'})

    Subscription.create('fred', 'testplain', 'test_messenger')
    Subscription.create('colon', 'testplain', 'test_messenger')

    dispatches = prepare_dispatches()
    assert len(dispatches) == 2
    assert dispatches[0].address == 'fred'
    assert dispatches[1].address == 'colon'
def test_subscription(user_create):
    user1 = user_create(attributes=dict(username='******'))
    user2 = user_create(attributes=dict(username='******'))
    user2.is_active = False
    user2.save()

    Subscription.create(user1.id, MessagePlainForTest, MessengerForTest)
    Subscription.create(user2.id, MessagePlainForTest, MessengerForTest)
    assert len(MessagePlainForTest.get_subscribers(active_only=False)) == 2
    assert len(MessagePlainForTest.get_subscribers(active_only=True)) == 1
예제 #9
0
    def test_create(self, user):

        s = Subscription.create('abc', 'message', 'messenger')

        assert s.time_created is not None
        assert s.recipient is None
        assert s.address == 'abc'
        assert s.message_cls == 'message'
        assert s.messenger_cls == 'messenger'

        s = Subscription.create(user, 'message', 'messenger')

        assert s.time_created is not None
        assert s.address is None
        assert s.recipient_id == user.id
        assert s.message_cls == 'message'
        assert s.messenger_cls == 'messenger'
예제 #10
0
    def test_replace_for_user(self, user):
        new_prefs = [('message3', 'messenger3')]

        assert Subscription.replace_for_user(user, new_prefs)

        Subscription.create(user, 'message', 'messenger')
        Subscription.create(user, 'message2', 'messenger2')

        assert Subscription.get_for_user(user).count() == 3

        Subscription.replace_for_user(user, new_prefs)

        s = Subscription.get_for_user(user)
        assert s.count() == 1
        s = s[0]
        assert s.message_cls == 'message3'
        assert s.messenger_cls == 'messenger3'
예제 #11
0
    def test_create(self, user):

        s = Subscription.create('abc', 'message', 'messenger')

        assert s.time_created is not None
        assert s.recipient is None
        assert s.address == 'abc'
        assert s.message_cls == 'message'
        assert s.messenger_cls == 'messenger'

        s = Subscription.create(user, 'message', 'messenger')

        assert s.time_created is not None
        assert s.address is None
        assert s.recipient_id == user.id
        assert s.message_cls == 'message'
        assert s.messenger_cls == 'messenger'
예제 #12
0
    def test_replace_for_user(self, user):
        new_prefs = [('message3', 'messenger3')]

        assert Subscription.replace_for_user(user, new_prefs)

        Subscription.create(user, 'message', 'messenger')
        Subscription.create(user, 'message2', 'messenger2')

        assert Subscription.get_for_user(user).count() == 3

        Subscription.replace_for_user(user, new_prefs)

        s = Subscription.get_for_user(user)
        assert s.count() == 1
        s = s[0]
        assert s.message_cls == 'message3'
        assert s.messenger_cls == 'messenger3'
예제 #13
0
    def test_cancel(self, user):

        Subscription.create('abc', 'message', 'messenger')
        Subscription.create('abc', 'message1', 'messenger')
        Subscription.create('abc', 'message', 'messenger1')
        assert Subscription.objects.filter(address='abc').count() == 3

        Subscription.cancel('abc', 'message', 'messenger')
        assert Subscription.objects.filter(address='abc').count() == 2

        Subscription.create(user, 'message', 'messenger')
        assert Subscription.objects.filter(recipient=user).count() == 1

        Subscription.cancel(user, 'message', 'messenger')
        assert Subscription.objects.filter(recipient=user).count() == 0
예제 #14
0
    def test_cancel(self, user):

        Subscription.create('abc', 'message', 'messenger')
        Subscription.create('abc', 'message1', 'messenger')
        Subscription.create('abc', 'message', 'messenger1')
        assert Subscription.objects.filter(address='abc').count() == 3
        
        Subscription.cancel('abc', 'message', 'messenger')
        assert Subscription.objects.filter(address='abc').count() == 2

        Subscription.create(user, 'message', 'messenger')
        assert Subscription.objects.filter(recipient=user).count() == 1
        
        Subscription.cancel(user, 'message', 'messenger')
        assert Subscription.objects.filter(recipient=user).count() == 0
예제 #15
0
def test_get_user_preferences_for_ui(template_render_tag, template_context, user):
    messengers_titles, prefs = get_user_preferences_for_ui(user)

    assert len(prefs.keys()) == 3
    assert len(messengers_titles) == 8

    from .testapp.sitemessages import MessageForTest, MessengerForTest

    Subscription.create(user, MessageForTest, MessengerForTest)

    user_prefs = get_user_preferences_for_ui(
        user,
        message_filter=lambda m: m.alias == 'test_message',
        messenger_filter=lambda m: m.alias in ['smtp', 'test_messenger']
    )
    messengers_titles, prefs = user_prefs

    assert len(prefs.keys()) == 1
    assert len(messengers_titles) == 2
    assert 'E-mail' in messengers_titles
    assert 'Test messenger' in messengers_titles

    html = template_render_tag(
        'sitemessage',
        'sitemessage_prefs_table from user_prefs',
        template_context({'user_prefs': user_prefs})
    )

    assert 'class="sitemessage_prefs' in html
    assert 'E-mail</th>' in html
    assert 'Test messenger</th>' in html
    assert 'value="test_message|smtp"' in html
    assert 'value="test_message|test_messenger" checked' in html

    prefs_row = prefs.popitem()
    assert prefs_row[0] == 'Test message type'
    assert ('test_message|smtp', True, False) in prefs_row[1]
    assert ('test_message|test_messenger', True, True) in prefs_row[1]