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()
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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))
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")
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")
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")
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")
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")
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")
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")