bpo-39082: Allow AsyncMock to correctly patch static/class methods (GH-18116)

This commit is contained in:
Matthew Kokotovich 2020-01-25 04:17:47 -06:00 committed by Chris Withers
parent d0d9fa8c5e
commit 62865f4532
3 changed files with 26 additions and 0 deletions

View file

@ -46,6 +46,8 @@ _safe_super = super
def _is_async_obj(obj):
if _is_instance_mock(obj) and not isinstance(obj, AsyncMock):
return False
if hasattr(obj, '__func__'):
obj = getattr(obj, '__func__')
return asyncio.iscoroutinefunction(obj) or inspect.isawaitable(obj)