"""`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_yaml('examples/providers/configuration/config.yml')
    container.config.from_yaml('examples/providers/configuration/config.local.yml')

    assert container.config() == {
        'aws': {
            'access_key_id': 'LOCAL-KEY',
            'secret_access_key': 'LOCAL-SECRET',
        },
    }
    assert container.config.aws() == {
        'access_key_id': 'LOCAL-KEY',
        'secret_access_key': 'LOCAL-SECRET',
    }
    assert container.config.aws.access_key_id() == 'LOCAL-KEY'
    assert container.config.aws.secret_access_key() == 'LOCAL-SECRET'