Beispiel #1
0
def test_mapping_to_named_tuple_apis():
    root_config = mapping_to_named_tuple(
        {"apis": {
            "my_api": {
                "rpc_timeout": 1
            }
        }}, RootConfig)
    assert root_config.apis["my_api"].rpc_timeout == 1
Beispiel #2
0
    def load_dict(cls, config: dict, set_defaults=True):
        """Instantiate the config from a dictionary"""
        from .structure import RootConfig

        config = config.copy()
        if set_defaults:
            config = set_default_config(config)
        validate_config(config)
        return cls(root_config=mapping_to_named_tuple(config, RootConfig))
Beispiel #3
0
def test_mapping_to_named_tuple_validate():
    root_config = mapping_to_named_tuple(
        {
            "apis": {
                "my_api": {
                    "validate": {
                        "incoming": True,
                        "outgoing": False
                    }
                }
            }
        }, RootConfig)
    assert root_config.apis["my_api"].validate.incoming == True
    assert root_config.apis["my_api"].validate.outgoing == False
Beispiel #4
0
def test_mapping_to_named_tuple_unknown_property():
    root_config = mapping_to_named_tuple({"bus": {"foo": "xyz"}}, RootConfig)
    assert not hasattr(root_config.bus, "foo")
Beispiel #5
0
def test_mapping_to_named_tuple_ok():
    root_config = mapping_to_named_tuple({"bus": {
        "log_level": "warning"
    }}, RootConfig)
    assert root_config.bus.log_level == LogLevelEnum.WARNING