python-dependency-injector/examples/providers/configuration/configuration_json.py
Roman Mogylatov 753e863d02
Add `Configuration.from_json()` method (#602)
* Add implementation and tests

* Refactor naming in configuration fixtures

* Add typing for .from_json()

* Move get/set_ini_files() methods upper

* Add init implementation and tests

* Refactor typing tests

* Add examples

* Add docs

* Update docs index and readme

* Update changelog
2022-07-10 21:08:45 -04:00

28 lines
694 B
Python

"""`Configuration` provider values loading example."""
from dependency_injector import containers, providers
class Container(containers.DeclarativeContainer):
config = providers.Configuration()
if __name__ == "__main__":
container = Container()
container.config.from_json("./config.json")
assert container.config() == {
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
},
}
assert container.config.aws() == {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
}
assert container.config.aws.access_key_id() == "KEY"
assert container.config.aws.secret_access_key() == "SECRET"