1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
from httpx import Response
import pytest
from tests.common import get_response_json
@pytest.mark.asyncio
async def test_get_inbox(respx_mock, xbl_client):
route = respx_mock.get("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200, json=get_response_json("message_get_inbox"))
)
await xbl_client.message.get_inbox()
assert route.called
@pytest.mark.asyncio
async def test_get_conversation(respx_mock, xbl_client):
route = respx_mock.get("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200, json=get_response_json("message_get_conversation"))
)
await xbl_client.message.get_conversation(
"05907fa3-0000-0009-acbd-299772a90900"
)
assert route.called
@pytest.mark.asyncio
async def test_get_new_conversation(respx_mock, xbl_client):
route = respx_mock.get("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200, json=get_response_json("message_new_conversation"))
)
await xbl_client.message.get_conversation(
"05907fa3-0000-0009-acbd-299772a90900"
)
assert route.called
@pytest.mark.asyncio
async def test_delete_conversation(respx_mock, xbl_client):
route = respx_mock.put("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200)
)
ret = await xbl_client.message.delete_conversation(
"05907fa3-0000-0009-acbd-299772a90900", "14670705998559210"
)
assert ret is True
assert route.called
@pytest.mark.asyncio
async def test_delete_message(respx_mock, xbl_client):
route = respx_mock.delete("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200)
)
ret = await xbl_client.message.delete_message(
"05907fa3-0000-0009-acbd-299772a90900", "14670705998559210"
)
assert ret is True
assert route.called
@pytest.mark.asyncio
async def test_send_message(respx_mock, xbl_client):
route = respx_mock.post("https://xblmessaging.xboxlive.com").mock(
return_value=Response(200, json=get_response_json("message_send_message"))
)
ret = await xbl_client.message.send_message("12345", "Test message")
assert ret.conversation_id
assert ret.message_id
assert route.called
@pytest.mark.asyncio
async def test_message_send_too_long(xbl_client):
message = "x" * 257
with pytest.raises(ValueError) as err:
await xbl_client.message.send_message("12345", message)
assert "exceeds max length" in str(err)
|