Files
checkbot/tests/test_runtime_lifespan.py

16 lines
496 B
Python

import asyncio
from tests.test_web import app # noqa: F401
async def test_lifespan_starts_and_cancels_listener_tasks(app):
runtime = app.state.runtime
before = {t for t in asyncio.all_tasks()}
async with runtime.lifespan(app):
await asyncio.sleep(0.05)
started = {t for t in asyncio.all_tasks()} - before
assert len(started) >= 4
await asyncio.sleep(0)
leftover = [t for t in asyncio.all_tasks() - before if not t.done()]
assert leftover == []