Add typing stubs & tests for async mode API

This commit is contained in:
Roman Mogylatov 2020-12-27 23:48:58 -05:00
parent e09b93c21b
commit 0a30efec5a
2 changed files with 15 additions and 0 deletions

View File

@ -51,6 +51,12 @@ class Provider(Generic[T]):
def provider(self) -> Provider: ... def provider(self) -> Provider: ...
@property @property
def provided(self) -> ProvidedInstance: ... def provided(self) -> ProvidedInstance: ...
def enable_async_mode(self) -> None: ...
def disable_async_mode(self) -> None: ...
def reset_async_mode(self) -> None: ...
def is_async_mode_enabled(self) -> bool: ...
def is_async_mode_disabled(self) -> bool: ...
def is_async_mode_undefined(self) -> bool: ...
def _copy_overridings(self, copied: Provider, memo: Optional[_Dict[Any, Any]]) -> None: ... def _copy_overridings(self, copied: Provider, memo: Optional[_Dict[Any, Any]]) -> None: ...

View File

@ -4,3 +4,12 @@ from dependency_injector import providers
# Test 1: to check .provided attribute # Test 1: to check .provided attribute
provider1: providers.Provider[int] = providers.Object(1) provider1: providers.Provider[int] = providers.Object(1)
provided: providers.ProvidedInstance = provider1.provided provided: providers.ProvidedInstance = provider1.provided
# Test 2: to check async mode API
provider2: providers.Provider = providers.Provider()
provider2.enable_async_mode()
provider2.disable_async_mode()
provider2.reset_async_mode()
r1: bool = provider2.is_async_mode_enabled()
r2: bool = provider2.is_async_mode_disabled()
r3: bool = provider2.is_async_mode_undefined()