diff --git a/deltachat-rpc-client/tests/test_folders.py b/deltachat-rpc-client/tests/test_folders.py index d50a2320b..8700f1b09 100644 --- a/deltachat-rpc-client/tests/test_folders.py +++ b/deltachat-rpc-client/tests/test_folders.py @@ -136,146 +136,6 @@ def test_reactions_for_a_reordering_move(acfactory, direct_imap): assert list(reactions.reactions_by_contact.values())[0] == [react_str] -def test_dont_show_emails(acfactory, direct_imap, log): - """Most mailboxes have a "Drafts" folder where constantly new emails appear but we don't actually want to show them. - So: If it's outgoing AND there is no Received header, then ignore the email. - - If the draft email is sent out and received later (i.e. it's in "Inbox"), it must be shown. - - Also, test that unknown emails in the Spam folder are not shown.""" - ac1 = acfactory.new_configured_account() - ac1.stop_io() - ac1.set_config("show_emails", "2") - - ac1.create_contact("alice@example.org").create_chat() - - ac1_direct_imap = direct_imap(ac1) - ac1_direct_imap.create_folder("Drafts") - ac1_direct_imap.create_folder("Spam") - ac1_direct_imap.create_folder("Junk") - - # Learn UID validity for all folders. - ac1.set_config("scan_all_folders_debounce_secs", "0") - ac1.start_io() - ac1.wait_for_event(EventType.IMAP_INBOX_IDLE) - ac1.stop_io() - - ac1_direct_imap.append( - "Drafts", - """ - From: ac1 <{}> - Subject: subj - To: alice@example.org - Message-ID: - Content-Type: text/plain; charset=utf-8 - - message in Drafts received later - """.format( - ac1.get_config("configured_addr"), - ), - ) - ac1_direct_imap.append( - "Spam", - """ - From: unknown.address@junk.org - Subject: subj - To: {} - Message-ID: - Content-Type: text/plain; charset=utf-8 - - Unknown message in Spam - """.format( - ac1.get_config("configured_addr"), - ), - ) - ac1_direct_imap.append( - "Spam", - """ - From: unknown.address@junk.org, unkwnown.add@junk.org - Subject: subj - To: {} - Message-ID: - Content-Type: text/plain; charset=utf-8 - - Unknown & malformed message in Spam - """.format( - ac1.get_config("configured_addr"), - ), - ) - ac1_direct_imap.append( - "Spam", - """ - From: delta - Subject: subj - To: {} - Message-ID: - Content-Type: text/plain; charset=utf-8 - - Unknown & malformed message in Spam - """.format( - ac1.get_config("configured_addr"), - ), - ) - ac1_direct_imap.append( - "Spam", - """ - From: alice@example.org - Subject: subj - To: {} - Message-ID: - Content-Type: text/plain; charset=utf-8 - - Actually interesting message in Spam - """.format( - ac1.get_config("configured_addr"), - ), - ) - ac1_direct_imap.append( - "Junk", - """ - From: unknown.address@junk.org - Subject: subj - To: {} - Message-ID: - Content-Type: text/plain; charset=utf-8 - - Unknown message in Junk - """.format( - ac1.get_config("configured_addr"), - ), - ) - - ac1.set_config("scan_all_folders_debounce_secs", "0") - log.section("All prepared, now let DC find the message") - ac1.start_io() - - # Wait until each folder was scanned, this is necessary for this test to test what it should test: - ac1.wait_for_event(EventType.IMAP_INBOX_IDLE) - - fresh_msgs = list(ac1.get_fresh_messages()) - msg = fresh_msgs[0].get_snapshot() - chat_msgs = msg.chat.get_messages() - assert len(chat_msgs) == 1 - assert msg.text == "subj – Actually interesting message in Spam" - - assert not any("unknown.address" in c.get_full_snapshot().name for c in ac1.get_chatlist()) - ac1_direct_imap.select_folder("Spam") - assert ac1_direct_imap.get_uid_by_message_id("spam.message@junk.org") - - ac1.stop_io() - log.section("'Send out' the draft by moving it to Inbox, and wait for DC to display it this time") - ac1_direct_imap.select_folder("Drafts") - uid = ac1_direct_imap.get_uid_by_message_id("aepiors@example.org") - ac1_direct_imap.conn.move(uid, "Inbox") - - ac1.start_io() - event = ac1.wait_for_event(EventType.MSGS_CHANGED) - msg2 = Message(ac1, event.msg_id).get_snapshot() - - assert msg2.text == "subj – message in Drafts received later" - assert len(msg.chat.get_messages()) == 2 - - def test_move_works_on_self_sent(acfactory, direct_imap): ac1, ac2 = acfactory.get_online_accounts(2)