deltachat-rpc-client 2.26.0__py3-none-any.whl → 2.28.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- deltachat_rpc_client/account.py +14 -1
- deltachat_rpc_client/deltachat.py +10 -1
- deltachat_rpc_client/pytestplugin.py +16 -4
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/METADATA +1 -1
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/RECORD +9 -9
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/WHEEL +0 -0
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/entry_points.txt +0 -0
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/licenses/LICENSE +0 -0
- {deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/top_level.txt +0 -0
deltachat_rpc_client/account.py
CHANGED
|
@@ -130,6 +130,10 @@ class Account:
|
|
|
130
130
|
"""Add a new transport using a QR code."""
|
|
131
131
|
yield self._rpc.add_transport_from_qr.future(self.id, qr)
|
|
132
132
|
|
|
133
|
+
def delete_transport(self, addr: str):
|
|
134
|
+
"""Delete a transport."""
|
|
135
|
+
self._rpc.delete_transport(self.id, addr)
|
|
136
|
+
|
|
133
137
|
@futuremethod
|
|
134
138
|
def list_transports(self):
|
|
135
139
|
"""Return the list of all email accounts that are used as a transport in the current profile."""
|
|
@@ -417,12 +421,21 @@ class Account:
|
|
|
417
421
|
"""Wait for messages noticed event and return it."""
|
|
418
422
|
return self.wait_for_event(EventType.MSGS_NOTICED)
|
|
419
423
|
|
|
424
|
+
def wait_for_msg(self, event_type) -> Message:
|
|
425
|
+
"""Wait for an event about the message.
|
|
426
|
+
|
|
427
|
+
Consumes all events before the matching event.
|
|
428
|
+
Returns a message corresponding to the msg_id field of the event.
|
|
429
|
+
"""
|
|
430
|
+
event = self.wait_for_event(event_type)
|
|
431
|
+
return self.get_message_by_id(event.msg_id)
|
|
432
|
+
|
|
420
433
|
def wait_for_incoming_msg(self):
|
|
421
434
|
"""Wait for incoming message and return it.
|
|
422
435
|
|
|
423
436
|
Consumes all events before the next incoming message event.
|
|
424
437
|
"""
|
|
425
|
-
return self.
|
|
438
|
+
return self.wait_for_msg(EventType.INCOMING_MSG)
|
|
426
439
|
|
|
427
440
|
def wait_for_securejoin_inviter_success(self):
|
|
428
441
|
"""Wait until SecureJoin process finishes successfully on the inviter side."""
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from typing import TYPE_CHECKING
|
|
6
6
|
|
|
7
|
-
from ._utils import AttrDict
|
|
7
|
+
from ._utils import AttrDict, futuremethod
|
|
8
8
|
from .account import Account
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
@@ -39,6 +39,15 @@ class DeltaChat:
|
|
|
39
39
|
"""Stop the I/O of all accounts."""
|
|
40
40
|
self.rpc.stop_io_for_all_accounts()
|
|
41
41
|
|
|
42
|
+
@futuremethod
|
|
43
|
+
def background_fetch(self, timeout_in_seconds: int) -> None:
|
|
44
|
+
"""Run background fetch for all accounts."""
|
|
45
|
+
yield self.rpc.background_fetch.future(timeout_in_seconds)
|
|
46
|
+
|
|
47
|
+
def stop_background_fetch(self) -> None:
|
|
48
|
+
"""Stop ongoing background fetch."""
|
|
49
|
+
self.rpc.stop_background_fetch()
|
|
50
|
+
|
|
42
51
|
def maybe_network(self) -> None:
|
|
43
52
|
"""Indicate that the network conditions might have changed."""
|
|
44
53
|
self.rpc.maybe_network()
|
|
@@ -40,12 +40,17 @@ class ACFactory:
|
|
|
40
40
|
username = "ci-" + "".join(random.choice("2345789acdefghjkmnpqrstuvwxyz") for i in range(6))
|
|
41
41
|
return f"{username}@{domain}", f"{username}${username}"
|
|
42
42
|
|
|
43
|
+
def get_account_qr(self):
|
|
44
|
+
"""Return "dcaccount:" QR code for testing chatmail relay."""
|
|
45
|
+
domain = os.getenv("CHATMAIL_DOMAIN")
|
|
46
|
+
return f"dcaccount:{domain}"
|
|
47
|
+
|
|
43
48
|
@futuremethod
|
|
44
49
|
def new_configured_account(self):
|
|
45
50
|
"""Create a new configured account."""
|
|
46
51
|
account = self.get_unconfigured_account()
|
|
47
|
-
|
|
48
|
-
yield account.add_transport_from_qr.future(
|
|
52
|
+
qr = self.get_account_qr()
|
|
53
|
+
yield account.add_transport_from_qr.future(qr)
|
|
49
54
|
|
|
50
55
|
assert account.is_configured()
|
|
51
56
|
return account
|
|
@@ -77,6 +82,7 @@ class ACFactory:
|
|
|
77
82
|
ac_clone = self.get_unconfigured_account()
|
|
78
83
|
for transport in transports:
|
|
79
84
|
ac_clone.add_or_update_transport(transport)
|
|
85
|
+
ac_clone.bring_online()
|
|
80
86
|
return ac_clone
|
|
81
87
|
|
|
82
88
|
def get_accepted_chat(self, ac1: Account, ac2: Account) -> Chat:
|
|
@@ -135,9 +141,15 @@ def rpc(tmp_path) -> AsyncGenerator:
|
|
|
135
141
|
|
|
136
142
|
|
|
137
143
|
@pytest.fixture
|
|
138
|
-
def
|
|
144
|
+
def dc(rpc) -> DeltaChat:
|
|
145
|
+
"""Return account manager."""
|
|
146
|
+
return DeltaChat(rpc)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@pytest.fixture
|
|
150
|
+
def acfactory(dc) -> AsyncGenerator:
|
|
139
151
|
"""Return account factory fixture."""
|
|
140
|
-
return ACFactory(
|
|
152
|
+
return ACFactory(dc)
|
|
141
153
|
|
|
142
154
|
|
|
143
155
|
@pytest.fixture
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
deltachat_rpc_client/__init__.py,sha256=zroJARiq9HBi7Ln03KlICOUJHSjm3CGIFkHfXILEdOQ,567
|
|
2
2
|
deltachat_rpc_client/_utils.py,sha256=v0iWVSa6S-s078GgnnhflCRhA9pfWI-CfK8mjZ4zjXc,6393
|
|
3
|
-
deltachat_rpc_client/account.py,sha256=
|
|
3
|
+
deltachat_rpc_client/account.py,sha256=CNUwmWNdWlaEXuDHy0Xld7EFnNaBrMk_BORkVeNIql4,19549
|
|
4
4
|
deltachat_rpc_client/chat.py,sha256=x5CEIORL1-731QC4KcXd_0JKtRpe7nT9oAygmKkooHI,11707
|
|
5
5
|
deltachat_rpc_client/client.py,sha256=6eP_lH5z7G5Sy7vDRNfKNY3dkUqJqKZDVyCGjynsuW8,7181
|
|
6
6
|
deltachat_rpc_client/const.py,sha256=p6hSXNYLBpPLpMz0UkT8QnMrqmA_cZ3sw-o8S3ryVM4,6675
|
|
7
7
|
deltachat_rpc_client/contact.py,sha256=NLh1XNnD_LQf27pNcVgqNN97Gbv190VSCuEyjjce4L4,1893
|
|
8
|
-
deltachat_rpc_client/deltachat.py,sha256
|
|
8
|
+
deltachat_rpc_client/deltachat.py,sha256=-6SqQAS8_mMWLBP3U1HvFsNIpcAPYBlmqF8R6Bt90YQ,1894
|
|
9
9
|
deltachat_rpc_client/events.py,sha256=Y45LoGlQy0i1U-LhoqF9njqJWA8v4b-XHfXZ4VOr1TQ,10205
|
|
10
10
|
deltachat_rpc_client/message.py,sha256=PWSm5e-woWgYXPcnwygQO0fNSRV-NvKvuerqWkJxiik,4996
|
|
11
11
|
deltachat_rpc_client/py.typed,sha256=nGQ9Itq-bkXBn5Ri1JIR0oYnDNv7LDRfkowxBSSqVTM,60
|
|
12
|
-
deltachat_rpc_client/pytestplugin.py,sha256=
|
|
12
|
+
deltachat_rpc_client/pytestplugin.py,sha256=aoueJt7pXJUQsSBRRyVHLU-geSC9LUOJ7qlvJbWTB4A,5899
|
|
13
13
|
deltachat_rpc_client/rpc.py,sha256=AUY8UJP7NlRSE5ewJs9jGxJdK8etKqsCEFWiIqnX5T8,6981
|
|
14
|
-
deltachat_rpc_client-2.
|
|
15
|
-
deltachat_rpc_client-2.
|
|
16
|
-
deltachat_rpc_client-2.
|
|
17
|
-
deltachat_rpc_client-2.
|
|
18
|
-
deltachat_rpc_client-2.
|
|
19
|
-
deltachat_rpc_client-2.
|
|
14
|
+
deltachat_rpc_client-2.28.0.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
|
|
15
|
+
deltachat_rpc_client-2.28.0.dist-info/METADATA,sha256=ClJk90k_SAgeIo42XgVpCsctIIQHyC4QVnZUuuSY7HI,2225
|
|
16
|
+
deltachat_rpc_client-2.28.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
17
|
+
deltachat_rpc_client-2.28.0.dist-info/entry_points.txt,sha256=VHpX6EnKBaNj89qJWctApThnMa8suyaamfZEnQacXgc,81
|
|
18
|
+
deltachat_rpc_client-2.28.0.dist-info/top_level.txt,sha256=ePNMkY10htGrLiLydH1ITvYFM3LcTEa51HyPqJ40hDk,21
|
|
19
|
+
deltachat_rpc_client-2.28.0.dist-info/RECORD,,
|
|
File without changes
|
{deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{deltachat_rpc_client-2.26.0.dist-info → deltachat_rpc_client-2.28.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|