in later/unittest/mock.py [0:0]
def AsyncContextManager(return_value: Any = DEFAULT, instance: bool = False) -> Mock:
"""
This helper sets up a Mock Tree to mock out an AsyncContextManager class.
return_value: The object returned by the context manager
instance: Instead of a Class, this mock represents and instance
mock.assert_awaited() -> The context manager was __aentered__
mock.assert_not_awaited() -> the context manager was not __aentered__
"""
mock = Mock()
manager_instance = AsyncMock()
if instance:
mock = manager_instance
else:
mock.return_value = manager_instance
if return_value is not DEFAULT:
manager_instance.__aenter__.return_value = return_value
mock.assert_awaited = manager_instance.__aenter__.assert_awaited
mock.assert_not_awaited = manager_instance.__aenter__.assert_not_awaited
return mock