async def test_shutdown_doest_not_closes_handlers_twice(self): handlers = [Mock(flush=CoroutineMock()), Mock(flush=CoroutineMock())] logger = Logger() logger.handlers = handlers await asyncio.gather(logger.shutdown(), logger.shutdown(), logger.shutdown()) self.assertCountEqual(handlers, logger.handlers) for handler in logger.handlers: handler.flush.assert_awaited_once() handler.close.assert_called_once()
async def test_shutdown_doest_not_closes_handlers_twice(self): handlers = [Mock(flush=CoroutineMock()), Mock(flush=CoroutineMock())] logger = Logger(handler_factory=CoroutineMock(return_value=handlers)) await logger._initialize() await asyncio.gather(logger.shutdown(), logger.shutdown(), logger.shutdown()) self.assertCountEqual(handlers, logger.handlers) for handler in logger.handlers: handler.flush.assert_awaited_once() handler.close.assert_called_once()