(mock, original, instance=False, is_async_mock=False)
| 209 | return funcopy |
| 210 | |
| 211 | def _set_async_signature(mock, original, instance=False, is_async_mock=False): |
| 212 | # creates an async function with signature (*args, **kwargs) that delegates to a |
| 213 | # mock. It still does signature checking by calling a lambda with the same |
| 214 | # signature as the original. |
| 215 | |
| 216 | skipfirst = isinstance(original, type) |
| 217 | func, sig = _get_signature_object(original, instance, skipfirst) |
| 218 | def checksig(*args, **kwargs): |
| 219 | sig.bind(*args, **kwargs) |
| 220 | _copy_func_details(func, checksig) |
| 221 | |
| 222 | name = original.__name__ |
| 223 | context = {'_checksig_': checksig, 'mock': mock} |
| 224 | src = """async def %s(*args, **kwargs): |
| 225 | _checksig_(*args, **kwargs) |
| 226 | return await mock(*args, **kwargs)""" % name |
| 227 | exec (src, context) |
| 228 | funcopy = context[name] |
| 229 | _setup_func(funcopy, mock, sig) |
| 230 | _setup_async_mock(funcopy) |
| 231 | return funcopy |
| 232 | |
| 233 | |
| 234 | def _setup_func(funcopy, mock, sig): |
no test coverage detected
searching dependent graphs…