def test_jwt_middleware(client_server): auth = JWTTokenAuth() token = auth.create(id=1, username="******") @asyncio.coroutine def handler(ws, path): recvd = yield from ws.recv() assert recvd["auth_user"] is not None assert recvd["auth_user"]["id"] == 1 assert recvd["auth_user"]["username"] == "megaman" yield from ws.send(recvd) loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) client, server = client_server(handler, loop=loop) message = yayson.dumps({"foo": "bar", "authentication": token}) loop.run_until_complete(client.send(message)) reply = loop.run_until_complete(client.recv()) assert reply == '{"foo": "bar"}' loop.run_until_complete(client.worker) server.close() loop.run_until_complete(server.wait_closed())
def on_send(self, message): message = yayson.dumps(message) return message
def dumps(cls, message): serialized = message.dump_dict() return yayson.dumps(serialized)