python-dependency-injector/tests/typing/dynamic_container.py
Roman Mogylatov 284dee6e58
Add with support for container.override_providers() (#517)
* Add implementation, tests, and typing stub

* Update documentation

* Update changelog
2021-10-06 21:36:41 -04:00

30 lines
901 B
Python

from typing import Dict
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())
with container3.override_providers(a=providers.Provider()):
...
# Test 4: to check set_providers()
container4 = containers.DynamicContainer()
container4.set_providers(a=providers.Provider())
# Test 5: to check .dependencies attribute
container5 = containers.DynamicContainer()
dependencies: Dict[str, providers.Provider] = container5.dependencies
# Test 6: to check base class
container6: containers.Container = containers.DynamicContainer()