Commit 77c52a5c authored by Luna's avatar Luna 😻

tests.test_websocket: add test_ready

parent 069c39d2
......@@ -11,6 +11,11 @@ async def _json(conn):
return json.loads(frame)
async def _json_send(conn, data):
frame = json.dumps(data)
await conn.send(frame)
async def get_gw(test_cli) -> str:
"""Get the Gateway URL."""
gw_resp = await test_cli.get('/api/v6/gateway')
......@@ -19,8 +24,9 @@ async def get_gw(test_cli) -> str:
async def gw_start(test_cli):
"""Start a websocket connection"""
gw_url = await get_gw(test_cli)
return websockets.connect(gw_url)
return await websockets.connect(gw_url)
@pytest.mark.asyncio
......@@ -37,3 +43,27 @@ async def test_gw(test_cli):
assert isinstance(hello['d']['_trace'], list)
await conn.close(1000, 'test end')
@pytest.mark.asyncio
async def test_ready(test_cli):
token = await login('normal', test_cli)
conn = await gw_start(test_cli)
# get the hello frame but ignore it
await _json(conn)
await _json_send(conn, {
'op': OP.IDENTIFY,
'd': {
'token': token,
}
})
# try to get a ready
try:
await _json(conn)
assert True
await conn.close(1000, 'test end')
except (Exception, websockets.ConnectionClosed):
assert False
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment