Skip to content

Commit be4f487

Browse files
committed
test: port test_immediate_autodelete from CFFI to JSON-RPC
1 parent 6916ff2 commit be4f487

File tree

2 files changed

+34
-32
lines changed

2 files changed

+34
-32
lines changed

deltachat-rpc-client/tests/test_something.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -944,3 +944,37 @@ def check_account(ac, contact, inviter_side, please_wait_info_msg=False):
944944
bob2.wait_for_event(EventType.CHAT_MODIFIED)
945945

946946
check_account(bob2, bob2.create_contact(alice), inviter_side=False)
947+
948+
949+
def test_immediate_autodelete(acfactory, direct_imap, log):
950+
ac1, ac2 = acfactory.get_online_accounts(2)
951+
952+
# "1" means delete immediately, while "0" means do not delete
953+
ac2.set_config("delete_server_after", "1")
954+
955+
log.section("ac1: create chat with ac2")
956+
chat1 = ac1.create_chat(ac2)
957+
ac2.create_chat(ac1)
958+
959+
log.section("ac1: send message to ac2")
960+
sent_msg = chat1.send_text("hello")
961+
962+
msg = ac2.wait_for_incoming_msg()
963+
assert msg.get_snapshot().text == "hello"
964+
965+
log.section("ac2: wait for close/expunge on autodelete")
966+
ac2.wait_for_event(EventType.IMAP_MESSAGE_DELETED)
967+
while True:
968+
event = ac2.wait_for_event()
969+
if event.kind == EventType.INFO and "Close/expunge succeeded." in event.msg:
970+
break
971+
972+
log.section("ac2: check that message was autodeleted on server")
973+
ac2_direct_imap = direct_imap(ac2)
974+
assert len(ac2_direct_imap.get_all_messages()) == 0
975+
976+
log.section("ac2: Mark deleted message as seen and check that read receipt arrives")
977+
msg.mark_seen()
978+
ev = ac1.wait_for_event(EventType.MSG_READ)
979+
assert ev.chat_id == chat1.id
980+
assert ev.msg_id == sent_msg.id

python/tests/test_1_online.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,38 +1219,6 @@ def test_send_receive_locations(acfactory, lp):
12191219
assert not locations3
12201220

12211221

1222-
def test_immediate_autodelete(acfactory, lp):
1223-
ac1 = acfactory.new_online_configuring_account()
1224-
ac2 = acfactory.new_online_configuring_account()
1225-
acfactory.bring_accounts_online()
1226-
1227-
# "1" means delete immediately, while "0" means do not delete
1228-
ac2.set_config("delete_server_after", "1")
1229-
1230-
lp.sec("ac1: create chat with ac2")
1231-
chat1 = ac1.create_chat(ac2)
1232-
ac2.create_chat(ac1)
1233-
1234-
lp.sec("ac1: send message to ac2")
1235-
sent_msg = chat1.send_text("hello")
1236-
1237-
msg = ac2._evtracker.wait_next_incoming_message()
1238-
assert msg.text == "hello"
1239-
1240-
lp.sec("ac2: wait for close/expunge on autodelete")
1241-
ac2._evtracker.get_matching("DC_EVENT_IMAP_MESSAGE_DELETED")
1242-
ac2._evtracker.get_info_contains("Close/expunge succeeded.")
1243-
1244-
lp.sec("ac2: check that message was autodeleted on server")
1245-
assert len(ac2.direct_imap.get_all_messages()) == 0
1246-
1247-
lp.sec("ac2: Mark deleted message as seen and check that read receipt arrives")
1248-
msg.mark_seen()
1249-
ev = ac1._evtracker.get_matching("DC_EVENT_MSG_READ")
1250-
assert ev.data1 == chat1.id
1251-
assert ev.data2 == sent_msg.id
1252-
1253-
12541222
def test_delete_multiple_messages(acfactory, lp):
12551223
ac1, ac2 = acfactory.get_online_accounts(2)
12561224
chat12 = acfactory.get_accepted_chat(ac1, ac2)

0 commit comments

Comments
 (0)