mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-10-10 22:06:43 +03:00
Add stubs for the dynamic container
This commit is contained in:
parent
60e614ba31
commit
2152f259b7
18
src/dependency_injector/containers.pyi
Normal file
18
src/dependency_injector/containers.pyi
Normal file
|
@ -0,0 +1,18 @@
|
|||
from typing import Type, Dict, Tuple, Optional, Any, Union
|
||||
|
||||
from .providers import Provider
|
||||
|
||||
|
||||
class DynamicContainer:
|
||||
provider_type: Type[Provider] = Provider
|
||||
providers: Dict[str, Provider]
|
||||
overridden: Tuple[Provider]
|
||||
def __init__(self) -> None: ...
|
||||
def __deepcopy__(self, memo: Optional[Dict[str, Any]]) -> Provider: ...
|
||||
def __setattr__(self, name: str, value: Union[Provider, Any]) -> None: ...
|
||||
def __delattr__(self, name: str) -> None: ...
|
||||
def set_providers(self, **providers: Provider): ...
|
||||
def override(self, overriding: DynamicContainer) -> None: ...
|
||||
def override_providers(self, **overriding_providers: Provider) -> None: ...
|
||||
def reset_last_overriding(self) -> None: ...
|
||||
def reset_override(self) -> None: ...
|
18
tests/typing/dynamic_container.py
Normal file
18
tests/typing/dynamic_container.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
from dependency_injector import containers, providers
|
||||
|
||||
|
||||
# Test 1: to check setattr
|
||||
container1 = containers.DynamicContainer()
|
||||
container1.abc = providers.Provider()
|
||||
|
||||
# Test 2: to check override()
|
||||
container2 = containers.DynamicContainer()
|
||||
container2.override(containers.DynamicContainer())
|
||||
|
||||
# Test 3: to check override_providers()
|
||||
container3 = containers.DynamicContainer()
|
||||
container3.override_providers(a=providers.Provider())
|
||||
|
||||
# Test 4: to check set_providers()
|
||||
container4 = containers.DynamicContainer()
|
||||
container4.set_providers(a=providers.Provider())
|
Loading…
Reference in New Issue
Block a user