import asyncio
import sys
import moq
async def main() -> int:
server = moq.MoqServer()
server.set_bind("127.0.0.1:0")
server.set_tls_generate(["localhost"])
addr = await server.listen()
print(f"server bound on {addr}")
async def accept_one() -> moq.MoqSession:
request = await server.accept()
assert request is not None, "server.accept() returned None"
return await request.ok()
accept_task = asyncio.create_task(accept_one())
client = moq.MoqClient()
client.set_tls_disable_verify(True)
client.set_bind("127.0.0.1:0")
client_session = await client.connect(f"https://{addr}")
server_session = await accept_task
print("client connected, ok")
client_session.cancel(0)
server_session.cancel(0)
server.cancel()
return 0
if __name__ == "__main__":
sys.exit(asyncio.run(main()))