diff --git a/aio_pika/pool.py b/aio_pika/pool.py index 93fc4080..ecf968b4 100644 --- a/aio_pika/pool.py +++ b/aio_pika/pool.py @@ -142,6 +142,9 @@ async def __aexit__( await asyncio.ensure_future(self.close()) + def __len__(self) -> int: + return len(self.__item_set) + class PoolItemContextManager(Generic[T], AsyncContextManager): __slots__ = "pool", "item" diff --git a/tests/test_pool.py b/tests/test_pool.py index 661143fc..ee02db78 100644 --- a/tests/test_pool.py +++ b/tests/test_pool.py @@ -17,6 +17,7 @@ async def create_instance(): return counter pool = Pool(create_instance, max_size=max_size, loop=loop) + assert len(pool) == 0 async def getter(): nonlocal counter, pool @@ -34,6 +35,8 @@ async def getter(): assert counter == max_size + assert len(pool) == max_size + class TestInstanceBase: class Instance(PoolInstance):