MCPcopy Index your code
hub / github.com/python/cpython / test

Method test

Lib/test/test_asyncio/test_server_context.py:28–54  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

26 def test_start_server1(self):
27 # Test that asyncio.start_server captures the context at the time of server creation
28 async def test():
29 var = contextvars.ContextVar("var", default="default")
30
31 async def handle_client(reader, writer):
32 value = var.get()
33 writer.write(value.encode())
34 await writer.drain()
35 writer.close()
36
37 server = await asyncio.start_server(handle_client, '127.0.0.1', 0,
38 ssl=self.server_ssl_context)
39 # change the value
40 var.set("after_server")
41
42 async def client(addr):
43 reader, writer = await asyncio.open_connection(*addr,
44 ssl=self.client_ssl_context)
45 data = await reader.read(100)
46 writer.close()
47 await writer.wait_closed()
48 return data.decode()
49
50 async with server:
51 addr = server.sockets[0].getsockname()
52 self.assertEqual(await client(addr), "default")
53
54 self.assertEqual(var.get(), "after_server")
55
56 self.run_coro(test())
57

Callers

nothing calls this directly

Calls 8

EchoProtocolClass · 0.85
start_serverMethod · 0.45
setMethod · 0.45
getsocknameMethod · 0.45
assertEqualMethod · 0.45
getMethod · 0.45
create_taskMethod · 0.45
create_serverMethod · 0.45

Tested by

no test coverage detected