diff --git a/briar_wrapper/models/private_chat.py b/briar_wrapper/models/private_chat.py index 2b85faf87f07963ab7e3edb46e4359ce0a00ae5e..2a5722077c53fbdbd87757c8ae88bc77f632a3ca 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 d454a8be747e4cb8873333ce9f5f86f262531f34..90aea3d79bc59e3aade39d02cd1be84b90d9e945 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()