From 31487a7fc406f53887acbf2a761122cec8713e86 Mon Sep 17 00:00:00 2001 From: Nico Alt <nicoalt@posteo.org> Date: Sat, 10 Oct 2020 16:00:01 +0000 Subject: [PATCH] Support deleting all messages of a private chat Fixes #20. --- briar_wrapper/models/private_chat.py | 13 +++++++++++++ tests/briar_wrapper/models/test_private_chat.py | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/briar_wrapper/models/private_chat.py b/briar_wrapper/models/private_chat.py index 2b85faf..2a57220 100644 --- a/briar_wrapper/models/private_chat.py +++ b/briar_wrapper/models/private_chat.py @@ -63,3 +63,16 @@ class PrivateChat(Model): url = urljoin(BASE_HTTP_URL, self._API_ENDPOINT + str(self._contact_id) + "/read") requests.post(url, headers=self._headers, json={"messageId": message_id}) + + def delete_all_messages(self): + # pylint: disable=line-too-long + """ + Deletes all messages + + [Upstream documentation](https://code.briarproject.org/briar/briar/-/blob/master/briar-headless/README.md#deleting-all-private-messages) + + .. versionadded:: 0.0.5 + """ + url = urljoin(BASE_HTTP_URL, + self._API_ENDPOINT + str(self._contact_id) + "/all") + requests.delete(url, headers=self._headers) diff --git a/tests/briar_wrapper/models/test_private_chat.py b/tests/briar_wrapper/models/test_private_chat.py index d454a8b..90aea3d 100644 --- a/tests/briar_wrapper/models/test_private_chat.py +++ b/tests/briar_wrapper/models/test_private_chat.py @@ -35,5 +35,14 @@ def test_send_message(api, request_headers, requests_mock): private_chat.send(TEST_TEXT) +@requests_mock.Mocker(kw="requests_mock") +def test_delete_all_messages(api, request_headers, requests_mock): + private_chat = PrivateChat(api, TEST_CONTACT_ID) + url = BASE_HTTP_URL % f"{TEST_CONTACT_ID}/all" + + requests_mock.register_uri("DELETE", url, request_headers=request_headers) + private_chat.delete_all_messages() + + def match_request_send_message(request): return {"text": TEST_TEXT} == request.json() -- GitLab