1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- from __future__ import annotations
- import types
- from abc import ABCMeta, abstractmethod
- from collections.abc import AsyncGenerator, Callable, Coroutine, Iterable
- from typing import Any, TypeVar
- _T = TypeVar("_T")
- class TestRunner(metaclass=ABCMeta):
- """
- Encapsulates a running event loop. Every call made through this object will use the
- same event loop.
- """
- def __enter__(self) -> TestRunner:
- return self
- @abstractmethod
- def __exit__(
- self,
- exc_type: type[BaseException] | None,
- exc_val: BaseException | None,
- exc_tb: types.TracebackType | None,
- ) -> bool | None: ...
- @abstractmethod
- def run_asyncgen_fixture(
- self,
- fixture_func: Callable[..., AsyncGenerator[_T, Any]],
- kwargs: dict[str, Any],
- ) -> Iterable[_T]:
- """
- Run an async generator fixture.
- :param fixture_func: the fixture function
- :param kwargs: keyword arguments to call the fixture function with
- :return: an iterator yielding the value yielded from the async generator
- """
- @abstractmethod
- def run_fixture(
- self,
- fixture_func: Callable[..., Coroutine[Any, Any, _T]],
- kwargs: dict[str, Any],
- ) -> _T:
- """
- Run an async fixture.
- :param fixture_func: the fixture function
- :param kwargs: keyword arguments to call the fixture function with
- :return: the return value of the fixture function
- """
- @abstractmethod
- def run_test(
- self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any]
- ) -> None:
- """
- Run an async test function.
- :param test_func: the test function
- :param kwargs: keyword arguments to call the test function with
- """
|