fix: keep Jupyter channel readers alive
This commit is contained in:
@@ -23,6 +23,26 @@ class TransportTests(unittest.TestCase):
|
||||
|
||||
|
||||
class AsyncTransportTests(unittest.IsolatedAsyncioTestCase):
|
||||
async def test_transport_keeps_channel_readers_alive_during_a_call(self):
|
||||
transport = JupyterTransport()
|
||||
await transport.start()
|
||||
try:
|
||||
readers = set(transport._reader_tasks)
|
||||
call_id = await transport.execute("2 + 2")
|
||||
messages = [
|
||||
message async for message in transport.messages_for(call_id)
|
||||
]
|
||||
|
||||
self.assertEqual(len(readers), 3)
|
||||
self.assertEqual(transport._reader_tasks, readers)
|
||||
self.assertTrue(all(not reader.done() for reader in readers))
|
||||
finally:
|
||||
await transport.shutdown()
|
||||
|
||||
self.assertTrue(
|
||||
any(message.msg_type == "execute_result" for message in messages)
|
||||
)
|
||||
|
||||
async def test_transport_executes_and_returns_execute_reply(self):
|
||||
transport = JupyterTransport()
|
||||
await transport.start()
|
||||
|
||||
Reference in New Issue
Block a user