mirror of
https://github.com/chatmail/core.git
synced 2026-04-18 05:56:31 +03:00
54 lines
1.8 KiB
Python
54 lines
1.8 KiB
Python
import pytest
|
|
|
|
from deltachat_rpc_client import EventType
|
|
from deltachat_rpc_client.rpc import JsonRpcError
|
|
|
|
|
|
def wait_for_autocrypt_setup_message(account):
|
|
while True:
|
|
event = account.wait_for_event()
|
|
if event.kind == EventType.MSGS_CHANGED and event.msg_id != 0:
|
|
msg_id = event.msg_id
|
|
msg = account.get_message_by_id(msg_id)
|
|
if msg.get_snapshot().is_setupmessage:
|
|
return msg
|
|
|
|
|
|
def test_autocrypt_setup_message_key_transfer(acfactory):
|
|
alice1 = acfactory.get_online_account()
|
|
|
|
alice2 = acfactory.get_unconfigured_account()
|
|
alice2.set_config("addr", alice1.get_config("addr"))
|
|
alice2.set_config("mail_pw", alice1.get_config("mail_pw"))
|
|
alice2.configure()
|
|
alice2.bring_online()
|
|
|
|
setup_code = alice1.initiate_autocrypt_key_transfer()
|
|
msg = wait_for_autocrypt_setup_message(alice2)
|
|
|
|
# Test that entering wrong code returns an error.
|
|
with pytest.raises(JsonRpcError):
|
|
msg.continue_autocrypt_key_transfer("7037-0673-6287-3013-4095-7956-5617-6806-6756")
|
|
|
|
msg.continue_autocrypt_key_transfer(setup_code)
|
|
|
|
|
|
def test_ac_setup_message_twice(acfactory):
|
|
alice1 = acfactory.get_online_account()
|
|
|
|
alice2 = acfactory.get_unconfigured_account()
|
|
alice2.set_config("addr", alice1.get_config("addr"))
|
|
alice2.set_config("mail_pw", alice1.get_config("mail_pw"))
|
|
alice2.configure()
|
|
alice2.bring_online()
|
|
|
|
# Send the first Autocrypt Setup Message and ignore it.
|
|
_setup_code = alice1.initiate_autocrypt_key_transfer()
|
|
wait_for_autocrypt_setup_message(alice2)
|
|
|
|
# Send the second Autocrypt Setup Message and import it.
|
|
setup_code = alice1.initiate_autocrypt_key_transfer()
|
|
msg = wait_for_autocrypt_setup_message(alice2)
|
|
|
|
msg.continue_autocrypt_key_transfer(setup_code)
|