# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html # For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE # Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt """Astroid hooks for unittest module.""" from astroid.brain.helpers import register_module_extender from astroid.builder import parse from astroid.manager import AstroidManager def IsolatedAsyncioTestCaseImport(): """ In the unittest package, the IsolatedAsyncioTestCase class is imported lazily. I.E. only when the ``__getattr__`` method of the unittest module is called with 'IsolatedAsyncioTestCase' as argument. Thus the IsolatedAsyncioTestCase is not imported statically (during import time). This function mocks a classical static import of the IsolatedAsyncioTestCase. (see https://github.com/pylint-dev/pylint/issues/4060) """ return parse( """ from .async_case import IsolatedAsyncioTestCase """ ) def register(manager: AstroidManager) -> None: register_module_extender(manager, "unittest", IsolatedAsyncioTestCaseImport)