diff --git a/tests/proxy_test.py b/tests/proxy_test.py new file mode 100644 index 0000000..68d14fd --- /dev/null +++ b/tests/proxy_test.py @@ -0,0 +1,50 @@ +import asyncio +from aiohttp import web + +from conftest import faker + + +class TestClass(object): + + @property + def login_response(self): + return { + "access_token": "abc123", + "device_id": "GHTYAJCE", + "home_server": "example.org", + "user_id": "@example:example.org" + } + + async def test_daemon_start(self, pan_proxy_server, aiohttp_client, aioresponse): + server, daemon = pan_proxy_server + + client = await aiohttp_client(server) + + aioresponse.post( + "https://example.org/_matrix/client/r0/login", + status=200, + payload=self.login_response, + repeat=True + ) + + assert not daemon.pan_clients + + resp = await client.post( + "/_matrix/client/r0/login", + json={ + "type": "m.login.password", + "user": "example", + "password": "wordpass", + } + ) + + assert resp.status == 200 + + assert len(daemon.pan_clients) == 1 + + pan_client = list(daemon.pan_clients.values())[0] + + # Check if our pan client is logged in + assert pan_client.logged_in + # Check if our pan client has a sync loop started + assert pan_client.task