Ejemplo n.º 1
0
def parser(client, payload, main_number):
    data = bert.decode(bytes(payload))

    if data[0] == Atom("Profile"):
        contacts = data[3][0][6]
        for field in contacts:
            if field[0] == Atom('Contact') and field[1].split(
                    b'_')[0] == string_to_bytes(main_number):
                log.debug('Main profile found')
                global user_id
                user_id = field[1]
                print(user_id)
        for field in data:
            if field and list == type(field):
                for room in field[0]:
                    if room and list == type(room) and room[0][0] == Atom(
                            'Room'):
                        global room_id
                        room_id = room[-1][1]
                        print(room_id)
        client.publish(topic="events/1//api/anon//",
                       payload=bytearray(history_group(user_id, room_id)),
                       qos=2,
                       retain=False)

    if data[0] == Atom('Message') and data[-1] == Atom('clear'):
        log.debug("Verify history removed")
        for field in data:
            if field and list == type(field) and tuple == type(field[0]):
                Verify.equals(b'History was removed', field[0][3],
                              'No history removed')
        client.disconnect()
Ejemplo n.º 2
0
    def test_c8186(self):
        log.info("Select '{}' images and send it to the private chat".format(
            str(self.SELECT_NUMBER)))
        menu = Menu(self.driver)
        gallery = GalleryScreen(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        profile = OtherProfileScreen(self.driver)
        storage = StorageScreen(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND)
        chat.tap_open_profile()
        profile.open_storage()
        exist_images_in_chat = storage.get_count_images()
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND)
        menu.go_to(menu.wenums.ACTIONS, [menu.wenums.MEDIA], menu.wenums.CHATS,
                   menu.wenums.GO_TO_GALLERY)
        gallery.tap_filter_photo()
        gallery.multiselect(self.SELECT_NUMBER)
        gallery.tap_send_btn()
        chat.tap_open_profile()
        profile.open_storage()

        log.info("Verify '{}' images sent to the chat".format(
            str(self.SELECT_NUMBER)))
        actual = storage.get_count_images(exist_images_in_chat)
        Verify.equals(self.SELECT_NUMBER, actual,
                      "Not all images sent to the chat")
Ejemplo n.º 3
0
    def test_c15395(self):
        log.info(
            "Select '{}' images and send it to the group chat as files".format(
                str(self.SELECT_NUMBER)))
        menu = Menu(self.driver)
        gallery = GalleryScreen(self.driver)
        chat = ChatScreen(self.driver)
        profile = OtherProfileScreen(self.driver)
        storage = StorageScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.tap_open_profile()
        profile.open_storage()
        exist_images_in_chat = storage.get_sent_files_count()
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        menu.go_to(menu.wenums.ACTIONS, [menu.wenums.MEDIA], menu.wenums.CHATS,
                   menu.wenums.GO_TO_GALLERY)
        gallery.tap_filter_photo()
        gallery.multiselect(self.SELECT_NUMBER)
        gallery.open_curtain()
        gallery.tap_send_as_file()
        chat.tap_open_profile()
        profile.open_storage()

        log.info("Verify '{}' files sent to the chat".format(
            str(self.SELECT_NUMBER)))
        actual = storage.get_sent_files_count(exist_images_in_chat)
        Verify.equals(self.SELECT_NUMBER, actual,
                      "Not all files sent to the chat")
Ejemplo n.º 4
0
    def test_c15469(self):
        log.info("Check context menu items on sticker message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.tap_sticker_btn()
        chat.send_first_sticker()
        chat.open_sticker_context_menu()

        log.info("Verify sticker message context menu items")
        Verify.equals(context_enums.STICKERS_CONTEXT_MENU_ITEMS, chat.get_context_options(), "Items not identical")
Ejemplo n.º 5
0
    def test_c15465(self):
        log.info("Check context menu items on text message")
        chat = ChatScreen(self.driver)
        menu = Menu(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.set_chat_msg(self.TEXT_MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.TEXT_MESSAGE)

        log.info("Verify all context menu items present")
        Verify.equals(context_enums.BASE_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 6
0
    def test_c15468(self):
        log.info("Check context menu items on voice message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.record_voice_msg()
        chat.tap_record_send()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.VOICE_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 7
0
    def test_c15470(self):
        log.info("Check context menu items on media message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        menu.go_to(menu.wenums.ACTIONS,
                   [menu.wenums.MEDIA, menu.wenums.GALLERY], menu.wenums.CHATS)
        menu.tap_first_media()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.MEDIA_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 8
0
    def test_c15484(self):
        log.info("Check context menu items on sticker message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.tap_sticker_btn()
        chat.send_first_sticker()
        chat.open_sticker_context_menu()

        log.info("Verify sticker message context menu items")
        Verify.equals(context_enums.STICKERS_CONTEXT_MENU_ITEMS, chat.get_context_options(), "Items not identical")
Ejemplo n.º 9
0
    def test_c25770(self):
        log.info("Search stickers by keywords")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        chat.set_chat_msg(self.SEARCH_WORD)
        keyboard.get_sticker_preview_count()

        log.info("Verify sticker preview display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(), "Sticker preview is not displayed")
Ejemplo n.º 10
0
    def test_c15466(self):
        log.info("Check context menu items on translated message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.MESSAGE)
        chat.tap_context_translate()
        chat.open_translation_context_menu()

        log.info("Verify context menu items")
        Verify.equals(context_enums.TRANSLATED_CONTEXT_MENU_ITEMS, chat.get_context_options(),
                      "Wrong context menu items")
Ejemplo n.º 11
0
    def test_c15473(self):
        log.info("Check context menu items on contact message")
        menu = Menu(self.driver)
        contact = ContactScreen(self.driver)
        chat = ChatScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        menu.go_to(menu.wenums.ACTIONS, [menu.wenums.CONTACT],
                   menu.wenums.CHATS)
        contact.tap_contact(self.FRIEND)
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.CONTACT_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 12
0
    def test_c15483(self):
        log.info("Check context menu items on voice message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.record_voice_msg()
        chat.tap_record_send()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.VOICE_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 13
0
    def test_c25771(self):
        log.info("Search stickers by emoji")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        keyboard.open_emoji_keyboard()
        keyboard.tap_emoji()

        log.info("Verify sticker search display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(),
                      "No stickers in the search")
Ejemplo n.º 14
0
    def test_c15453(self):
        log.info("Check context menu items on voice message in p2p chat")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND_NAME)
        chat.record_voice_msg()
        chat.tap_record_send()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.VOICE_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 15
0
    def test_c15480(self):
        log.info("Check context menu items on text message")
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu = Menu(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.set_chat_msg(self.TEXT_MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.TEXT_MESSAGE)

        log.info("Verify all context menu items present")
        Verify.equals(context_enums.BASE_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 16
0
    def test_c19137(self):
        log.info("Search stickers by keywords")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        chat.set_chat_msg(self.SEARCH_WORD)

        log.info("Verify sticker preview display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(),
                      "Sticker preview is not displayed")
Ejemplo n.º 17
0
    def test_c15472(self):
        log.info("Check context menu items on location message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        location = LocationScreen(self.driver)
        menu.go_to(menu.wenums.MYSELF)
        menu.go_to(menu.wenums.ACTIONS,
                   [menu.wenums.LOCATION, menu.wenums.SEND_LOCATION],
                   menu.wenums.CHATS)
        location.tap_send_location()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.LOCATION_CONTEXT_MENU_ITEMS,
                      chat.get_context_options(), "Wrong context menu items")
Ejemplo n.º 18
0
    def test_c11247(self):
        log.info("Search stickers by keywords")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        chat.set_chat_msg(self.SEARCH_WORD)
        keyboard.get_sticker_preview_count()

        log.info("Verify sticker preview display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(),
                      "Sticker preview is not displayed")
Ejemplo n.º 19
0
    def test_c15481(self):
        log.info("Check context menu items on translated message")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.MESSAGE)
        chat.tap_context_translate()
        chat.open_translation_context_menu()

        log.info("Verify context menu items")
        Verify.equals(context_enums.TRANSLATED_CONTEXT_MENU_ITEMS,chat.get_context_options(),
                      "Wrong context menu items")
Ejemplo n.º 20
0
    def test_c19138(self):
        log.info("Search stickers by emoji")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        keyboard.open_emoji_keyboard()
        keyboard.tap_emoji()

        log.info("Verify sticker search display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(),
                      "No stickers in the search")
Ejemplo n.º 21
0
    def test_c11248(self):
        log.info("Search stickers by emoji")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        keyboard = KeyboardView(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND)
        chat.tap_sticker_btn()
        keyboard.tap_sticker_search()
        keyboard.open_emoji_keyboard()
        keyboard.tap_emoji()

        log.info("Verify sticker search display")
        Verify.equals(self.COUNT, keyboard.get_sticker_preview_count(),
                      "No stickers in the search")
Ejemplo n.º 22
0
    def test_tc1(self):
        log.info("Get last message id")
        self.msg_id = Request.get(config.base_url, base_fb.page_header,
                                  base_fb.page_id,
                                  routes.feed)['data'][0]['id']

        log.info("Get last message data")
        response = Request.get(config.base_url, base_fb.page_header,
                               self.msg_id)

        log.info("Verify last message text equals to '{}'".format(
            config.message))
        Verify.equals(
            config.message, response['message'],
            "The last message text is not equals to '{}'".format(
                config.message))
Ejemplo n.º 23
0
    def test_c1978(self):
        log.info("Translate message: '{}'".format(self.MESSAGE))
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND_NAME)
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.MESSAGE)
        chat.tap_context_translate()

        log.info("Verify message translated")
        expected = [self.MESSAGE, self.TRANSLATED_MESSAGE]
        actual = chat.get_translated_msg()
        Verify.equals(expected, actual, "No translated messages on screen")
Ejemplo n.º 24
0
    def test_c2030(self):
        log.info("Translate message: '{}'".format(self.MESSAGE))
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()
        chat.open_context_menu(self.MESSAGE)
        chat.tap_context_translate()
        chat.open_context_menu(self.MESSAGE)
        chat.tap_context_untranslate()

        log.info("Verify message untranslated")
        actual = chat.get_text_msg()
        Verify.equals([self.MESSAGE], actual, "No untranslated messages on screen")
Ejemplo n.º 25
0
    def test_c15456(self):
        log.info("heck context menu items on file message in p2p chat")
        menu = Menu(self.driver)
        gallery = GalleryScreen(self.driver)
        chat = ChatScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND)
        menu.go_to(menu.wenums.ACTIONS, [menu.wenums.MEDIA, menu.wenums.GALLERY], menu.wenums.CHATS,
                   menu.wenums.GO_TO_GALLERY)
        gallery.open_preview_image()
        gallery.open_curtain()
        gallery.tap_send_as_file()
        chat.open_context_menu_last_bubble()

        log.info("Verify context menu items")
        Verify.equals(context_enums.FILE_CONTEXT_MENU_ITEMS, chat.get_context_options(),
                      "Wrong context menu items")
Ejemplo n.º 26
0
def parser(client, payload, new_alias):
    data = bert.decode(bytes(payload))
    global room_id
    global member_id

    if data[0] == Atom("Profile"):
        for field in data:
            if field and list == type(field):
                for room in field[0]:
                    if room and list == type(room) and room[0][0] == Atom(
                            'Room'):
                        for member_field in room[-1]:
                            if member_field and list == type(member_field) and tuple == type(member_field[0]) \
                                    and member_field[0][0] == Atom('Member'):
                                global member_id
                                member_id = member_field[0][1]

        client.publish(topic="events/1//api/anon//",
                       payload=bytearray(
                           member(member_id=member_id,
                                  container=Atom('chain'),
                                  alias=new_alias,
                                  status=Atom('patch'))),
                       qos=2,
                       retain=False)

    if data[0] == Atom('Member'):
        log.debug('Verify member patched')
        Verify.equals(string_to_bytes(new_alias), data[11], 'Not new alias')
        client.disconnect()

    if data == (Atom('io'), (Atom('error'), Atom('invalid_data')), b''):
        log.error("Something going wrong")
        client.disconnect()
        raise InvalidData("Invalid data response")

    if data == (Atom('io'), (Atom('error'), Atom('permission_denied')), b''):
        log.error("Something going wrong")
        client.disconnect()
        raise PermissionDenied("No permission")
Ejemplo n.º 27
0
    def test_c2472(self):
        log.info("Auto translate of aoutgoing message in P2P")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        other_profile = OtherProfileScreen(self.driver)
        language = LanguageSettingsScreen(self.driver)
        chat_list = ChatListScreen(self.driver)
        menu.go_to(menu.wenums.CHATS, [menu.wenums.ALL])
        chat_list.tap_user(self.FRIEND_NAME)
        chat.tap_open_profile()
        other_profile.open_language_settings()
        language.is_language_screen()
        language.set_autotranslate_on_sending()
        language.tap_back()
        other_profile.tap_send_message()
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()

        log.info("Verify message translated")
        expected = [self.MESSAGE, self.TRANSLATED_MESSAGE]
        actual = chat.get_translated_msg()
        Verify.equals(expected, actual, "No translated messages on screen")
Ejemplo n.º 28
0
    def test_c2473(self):
        log.info("Auto translate of aoutgoing message in Group chat")
        menu = Menu(self.driver)
        chat = ChatScreen(self.driver)
        other_profile = OtherProfileScreen(self.driver)
        language = LanguageSettingsScreen(self.driver)
        group_list = GroupListScreen(self.driver)
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.tap_open_profile()
        other_profile.open_language_settings()
        language.is_language_screen()
        language.set_autotranslate_on_sending()
        # TODO: Make scroll in group settings
        menu.go_to(menu.wenums.GROUPS, [menu.wenums.ALL])
        group_list.open_group_chat(self.GROUP_NAME)
        chat.set_chat_msg(self.MESSAGE)
        chat.tap_send_btn()

        log.info("Verify message translated")
        expected = [self.MESSAGE, self.TRANSLATED_MESSAGE]
        actual = chat.get_translated_msg()
        Verify.equals(expected, actual, "No translated messages on screen")
Ejemplo n.º 29
0
def parser(client, payload, room_name):
    data = bert.decode(bytes(payload))
    global room_id
    global my_alias

    if data[0] == Atom("Profile"):
        for field in data:
            if field and list == type(field):
                for room in field[0]:
                    if room and list == type(room) and room[0][0] == Atom('Room'):
                        global room_id
                        room_id = room[-1][1]

        global my_alias
        my_alias = data[3][0][4] if data[3][0][4] else data[3][0][2]+data[3][0][3]
        client.publish(topic="events/1//api/anon//", payload=bytearray(
            patch_group(room_id, room_name)), qos=2,
                       retain=False)

    if data[0] == Atom('Message'):
        log.debug('Verify group patched')
        for field in data:
            if field and list == type(field) and tuple == type(field[0]):
                print(field[0][3])
                Verify.equals(b'Group is renamed to "'+string_to_bytes(room_name)+b'"', field[0][3], 'No message about patch')
        client.disconnect()

    if data == (Atom('io'), (Atom('error'), Atom('invalid_data')), b''):
        log.error("Something going wrong")
        client.disconnect()
        raise InvalidData("Invalid data response")

    if data == (Atom('io'), (Atom('error'), Atom('permission_denied')), b''):
        log.error("Something going wrong")
        client.disconnect()
        raise PermissionDenied("No permission")