Skip to content
Snippets Groups Projects
Commit a98a3fec authored by Nico's avatar Nico
Browse files

Revise private chat api wrapper and its test class

parent 335e44f4
No related branches found
No related tags found
No related merge requests found
......@@ -13,8 +13,10 @@ from briar.api.model import Model
class PrivateChat(Model):
API_ENDPOINT = "messages/"
def get(self, contact_id):
url = urljoin(BASE_HTTP_URL, "messages/%i" % contact_id)
url = urljoin(BASE_HTTP_URL, self.API_ENDPOINT + "/%i" % contact_id)
request = _get(url, headers=self._headers)
return request.json()
......@@ -24,5 +26,5 @@ class PrivateChat(Model):
contact_id=contact_id)
def send(self, contact_id, message):
url = urljoin(BASE_HTTP_URL, "messages/%i" % contact_id)
url = urljoin(BASE_HTTP_URL, self.API_ENDPOINT + "/%i" % contact_id)
_post(url, headers=self._headers, json={"text": message})
......@@ -9,31 +9,31 @@ import requests_mock
from briar.api.models.private_chat import PrivateChat
BASE_HTTP_URL = "http://localhost:7000/v1/messages/%s"
SEND_TEXT = "Hello World"
TEST_CONTACT_ID = 42
TEST_TEXT = "Hello World"
@requests_mock.Mocker(kw="requests_mock")
def test_get_empty(api, request_headers, requests_mock):
private_chat = PrivateChat(api)
contact_id = 1
url = BASE_HTTP_URL % contact_id
url = BASE_HTTP_URL % TEST_CONTACT_ID
response = []
requests_mock.register_uri("GET", url, request_headers=request_headers,
text=json.dumps(response))
assert private_chat.get(contact_id) == response
assert private_chat.get(TEST_CONTACT_ID) == response
@requests_mock.Mocker(kw="requests_mock")
def test_send_message(api, request_headers, requests_mock):
private_chat = PrivateChat(api)
contact_id = 1
url = BASE_HTTP_URL % contact_id
url = BASE_HTTP_URL % TEST_CONTACT_ID
requests_mock.register_uri("POST", url, request_headers=request_headers,
additional_matcher=match_request_text)
private_chat.send(contact_id, SEND_TEXT)
additional_matcher=match_request_send_message)
private_chat.send(TEST_CONTACT_ID, TEST_TEXT)
def match_request_text(request):
return {"text": SEND_TEXT} == request.json()
def match_request_send_message(request):
return {"text": TEST_TEXT} == request.json()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment