示例#1
0
 async def get_address(self, loop: asyncio.AbstractEventLoop) -> SocketAddress:
     server = ThriftServer(Handler(), port=0)
     serve_task = loop.create_task(server.serve())
     addy = await server.get_address()
     server.stop()
     await serve_task
     return addy
示例#2
0
async def server_in_event_loop() -> typing.AsyncGenerator[SocketAddress, None]:
    server = ThriftServer(LeafServiceHandler(), ip="::1")
    serve_task = asyncio.get_event_loop().create_task(server.serve())
    addr = await server.get_address()
    try:
        yield addr
    finally:
        server.stop()
        await serve_task
 async def get_address(self,
                       loop: asyncio.AbstractEventLoop) -> SocketAddress:
     # pyre-fixme[45]: Cannot instantiate abstract class `Handler`.
     server = ThriftServer(Handler(), port=0)
     serve_task = loop.create_task(server.serve())
     addy = await server.get_address()
     server.stop()
     await serve_task
     return addy
示例#4
0
async def server_in_event_loop():
    server = ThriftServer(Handler(), ip="::1")
    serve_task = asyncio.get_event_loop().create_task(server.serve())
    addr = await server.get_address()
    try:
        yield addr
    finally:
        server.stop()
        await serve_task
示例#5
0
 async def inner() -> None:
     # pyre-fixme[45]: Cannot instantiate abstract class `Handler`.
     handler = Handler()
     self.assertFalse(handler.on_start_serving_called)
     self.assertFalse(handler.on_stop_requested_called)
     server = ThriftServer(handler, port=0)
     serve_task = asyncio.get_event_loop().create_task(server.serve())
     await server.get_address()
     self.assertTrue(handler.on_start_serving_called)
     server.stop()
     await serve_task
     self.assertTrue(handler.on_stop_requested_called)
示例#6
0
class TestServer:
    server: ThriftServer
    serve_task: asyncio.Task

    def __init__(self, *, ip: str, handler: thrift.py3.server.ServiceInterface) -> None:
        self.server = ThriftServer(handler, ip=ip, path=None)

    async def __aenter__(self) -> thrift.py3.server.SocketAddress:
        self.serve_task = asyncio.get_event_loop().create_task(self.server.serve())
        return await self.server.get_address()

    # pyre-fixme[2]: Parameter must be annotated.
    async def __aexit__(self, *exc_info) -> None:
        self.server.stop()
        await self.serve_task
class TestServer:
    server: ThriftServer
    serve_task: asyncio.Task

    def __init__(
            self,
            ip: Optional[str] = None,
            handler: ServiceInterface = Handler(),  # noqa: B008
    ) -> None:
        self.server = ThriftServer(handler, ip=ip)

    async def __aenter__(self) -> SocketAddress:
        self.serve_task = asyncio.get_event_loop().create_task(
            self.server.serve())
        return await self.server.get_address()

    # pyre-fixme[2]: Parameter must be annotated.
    async def __aexit__(self, *exc_info) -> None:
        self.server.stop()
        await self.serve_task