Exemplo n.º 1
0
def test_etm_chat_name(db, slave):
    with_alias = convert_chat(db, slave.chat_with_alias)
    with_alias_full_name = with_alias.full_name
    assert with_alias.name in with_alias_full_name
    assert with_alias.alias in with_alias_full_name
    assert slave.channel_emoji in with_alias_full_name
    assert slave.channel_name in with_alias_full_name

    without_alias = convert_chat(db, slave.chat_without_alias)
    without_alias_full_name = without_alias.full_name
    assert without_alias.name in without_alias_full_name
    assert str(without_alias.alias) not in without_alias_full_name
    assert slave.channel_emoji in without_alias_full_name
    assert slave.channel_name in without_alias_full_name
Exemplo n.º 2
0
def test_etm_chat_copy(db, slave):
    chat = convert_chat(db, chat=slave.chat_with_alias)
    copied = chat.copy()
    attributes = ('module_id', 'module_name', 'channel_emoji', 'uid', 'name', 'alias', 'notification',
                  'vendor_specific', 'full_name', 'long_name', 'chat_title')
    for i in attributes:
        assert getattr(chat, i) == getattr(copied, i)
    assert chat.db is copied.db
Exemplo n.º 3
0
def test_etm_chat_pickle(db, slave):
    chat = convert_chat(db, chat=slave.chat_with_alias)
    recovered = unpickle(chat.pickle, db)
    attributes = ('module_id', 'module_name', 'channel_emoji', 'uid', 'name', 'alias', 'notification',
                  'vendor_specific', 'full_name', 'long_name', 'chat_title')
    for i in attributes:
        assert getattr(chat, i) == getattr(recovered, i)
    assert chat.db is recovered.db
Exemplo n.º 4
0
def test_etm_chat_match(db, slave):
    chat = convert_chat(db, slave.chat_with_alias)
    assert chat.match(chat.name)
    assert chat.match(chat.alias)
    assert chat.match(chat.module_name)
    assert chat.match(chat.uid)
    assert chat.match("type: private"), "case insensitive search"
    assert chat.match(re.compile("Channel ID: .+mock")), "re compile object search"
    assert chat.match("Mode: \n")

    assert chat.match(re.compile(f"Channel: {slave.channel_name}.*Type: Private",
                                 re.DOTALL | re.IGNORECASE)), "docs example #0"
    assert not chat.match("Alias: None"), "docs example #1"
    assert chat.match(re.compile(r"(?=.*Chat)(?=.*Channel)",
                                 re.DOTALL | re.IGNORECASE)), "docs example #2"

    no_alias = convert_chat(db, slave.chat_without_alias)
    assert no_alias.match("Alias: None")
Exemplo n.º 5
0
def test_etm_chat_conversion_group(db, slave):
    group_chat = slave.get_chat_by_criteria(chat_type='GroupChat')
    assert isinstance(group_chat, GroupChat)
    etm_group_chat = convert_chat(db, group_chat)
    assert isinstance(etm_group_chat, ETMGroupChat)
    assert isinstance(etm_group_chat.self, ETMSelfChatMember)
    assert etm_group_chat.self in etm_group_chat.members
    assert all(isinstance(i, ETMChatMember) for i in etm_group_chat.members)
    assert len(etm_group_chat.members) == len(group_chat.members)
Exemplo n.º 6
0
def test_etm_chat_conversion_system(db, slave):
    system_chat = slave.get_chat_by_criteria(chat_type='SystemChat')
    assert isinstance(system_chat, SystemChat)
    etm_system_chat = convert_chat(db, system_chat)
    assert isinstance(etm_system_chat, ETMSystemChat)
    assert isinstance(etm_system_chat.other, ETMSystemChatMember)
    assert isinstance(etm_system_chat.self, ETMSelfChatMember)
    assert etm_system_chat.other in etm_system_chat.members
    assert etm_system_chat.self in etm_system_chat.members
    assert all(isinstance(i, ETMChatMember) for i in etm_system_chat.members)
    assert len(etm_system_chat.members) == len(system_chat.members)
Exemplo n.º 7
0
def test_etm_chat_conversion_private(db, slave):
    private_chat = slave.get_chat_by_criteria(chat_type='PrivateChat')
    assert isinstance(private_chat, PrivateChat)
    etm_private_chat = convert_chat(db, private_chat)
    assert isinstance(etm_private_chat, ETMPrivateChat)
    assert isinstance(etm_private_chat.other, ETMChatMember)
    assert not isinstance(etm_private_chat.other, ETMSelfChatMember)
    assert isinstance(etm_private_chat.self, ETMSelfChatMember)
    assert etm_private_chat.other in etm_private_chat.members
    assert etm_private_chat.self in etm_private_chat.members
    assert all(isinstance(i, ETMChatMember) for i in etm_private_chat.members)
    assert len(etm_private_chat.members) == len(private_chat.members)