from collections import OrderedDict from contextlib import _GeneratorContextManager from decimal import Decimal from io import StringIO from typing import (Any, Callable, Dict, Iterator, List, Optional, Set, Tuple, Type, Union) from django.apps.registry import Apps from django.conf import LazySettings from django.db import DefaultConnectionProxy from django.db.backends.base.base import BaseDatabaseWrapper from django.db.backends.sqlite3.base import DatabaseWrapper from django.template.base import Template from django.template.context import Context from django.test.runner import DiscoverRunner from django.test.testcases import SimpleTestCase from django.utils.safestring import SafeText class Approximate: val: Union[decimal.Decimal, float] = ... places: int = ... def __init__( self, val: Union[Decimal, float], places: int = ... ) -> None: ... def __eq__(self, other: Union[Decimal, float]) -> bool: ... class ContextList(list): def __getitem__(self, key: Union[int, str]) -> Any: ... def get(self, key: str, default: Optional[str] = ...) -> str: ... def __contains__(self, key: str) -> bool: ... def keys(self) -> Set[str]: ... class _TestState: ... def setup_test_environment(debug: Optional[bool] = ...) -> None: ... def teardown_test_environment() -> None: ... def get_runner( settings: LazySettings, test_runner_class: Optional[str] = ... ) -> Type[DiscoverRunner]: ... class TestContextDecorator: attr_name: Any = ... kwarg_name: Any = ... def __init__( self, attr_name: Optional[str] = ..., kwarg_name: Optional[str] = ... ) -> None: ... def enable(self) -> None: ... def disable(self) -> None: ... def __enter__(self) -> Optional[Apps]: ... def __exit__( self, exc_type: None, exc_value: None, traceback: None ) -> None: ... def decorate_class( self, cls: Type[SimpleTestCase] ) -> Type[SimpleTestCase]: ... def decorate_callable(self, func: Callable) -> Callable: ... def __call__( self, decorated: Union[ Callable, Type[Union[SimpleTestCase, LoggingCaptureMixin]] ], ) -> Union[Callable, Type[Union[SimpleTestCase, LoggingCaptureMixin]]]: ... class override_settings(TestContextDecorator): attr_name: None kwarg_name: None options: Dict[str, Any] = ... def __init__(self, **kwargs: Any) -> None: ... wrapped: Union[django.conf.Settings, django.conf.UserSettingsHolder] = ... def enable(self) -> None: ... def disable(self) -> None: ... def save_options( self, test_func: Type[Union[SimpleTestCase, LoggingCaptureMixin]] ) -> None: ... def decorate_class( self, cls: Type[Union[SimpleTestCase, LoggingCaptureMixin]] ) -> Type[Union[SimpleTestCase, LoggingCaptureMixin]]: ... class modify_settings(override_settings): attr_name: None kwarg_name: None wrapped: Union[django.conf.Settings, django.conf.UserSettingsHolder] operations: List[Tuple[str, Dict[str, Union[List[str], str]]]] = ... def __init__(self, *args: Any, **kwargs: Any) -> None: ... def save_options(self, test_func: Type[SimpleTestCase]) -> None: ... options: Dict[str, List[Union[Tuple[str, str], str]]] = ... def enable(self) -> None: ... class override_system_checks(TestContextDecorator): attr_name: None kwarg_name: None registry: django.core.checks.registry.CheckRegistry = ... new_checks: List[Callable] = ... deployment_checks: Optional[List[Callable]] = ... def __init__( self, new_checks: List[Callable], deployment_checks: Optional[List[Callable]] = ..., ) -> None: ... old_checks: Set[Callable] = ... old_deployment_checks: Set[Callable] = ... def enable(self) -> None: ... def disable(self) -> None: ... class CaptureQueriesContext: connection: django.db.DefaultConnectionProxy = ... def __init__( self, connection: Union[DefaultConnectionProxy, DatabaseWrapper] ) -> None: ... def __iter__(self): ... def __getitem__(self, index: int) -> Dict[str, str]: ... def __len__(self) -> int: ... @property def captured_queries(self) -> List[Dict[str, str]]: ... force_debug_cursor: bool = ... initial_queries: int = ... final_queries: Optional[int] = ... def __enter__(self) -> CaptureQueriesContext: ... def __exit__( self, exc_type: None, exc_value: None, traceback: None ) -> None: ... class ignore_warnings(TestContextDecorator): attr_name: None kwarg_name: None ignore_kwargs: Dict[ str, Union[Type[django.utils.deprecation.RemovedInDjango30Warning], str] ] = ... filter_func: Callable = ... def __init__(self, **kwargs: Any) -> None: ... catch_warnings: warnings.catch_warnings = ... def enable(self) -> None: ... def disable(self) -> None: ... requires_tz_support: Any def isolate_lru_cache(lru_cache_object: Callable) -> Iterator[None]: ... class override_script_prefix(TestContextDecorator): attr_name: None kwarg_name: None prefix: str = ... def __init__(self, prefix: str) -> None: ... old_prefix: str = ... def enable(self) -> None: ... def disable(self) -> None: ... class LoggingCaptureMixin: logger: Any = ... old_stream: Any = ... logger_output: Any = ... def setUp(self) -> None: ... def tearDown(self) -> None: ... class isolate_apps(TestContextDecorator): attr_name: Optional[str] kwarg_name: Optional[str] installed_apps: Tuple[str] = ... def __init__(self, *installed_apps: Any, **kwargs: Any) -> None: ... old_apps: django.apps.registry.Apps = ... def enable(self) -> Apps: ... def disable(self) -> None: ...