import pytest import configspec from copy import deepcopy from test_configspec import example_spec, example_values def test_man(example_spec, example_values): confman = configspec.ConfigManager() confman.add_confspec("test_bundle", example_spec) confman.load({"test_bundle": example_values}) assert confman.get_config_bundle("test_bundle") == example_values confman.freeze_value("test_bundle", "int_a") newvals = deepcopy(example_values) newvals["int_a"] = 4 confman.load({"test_bundle": newvals}) assert confman.get_config_bundle("test_bundle") == example_values confman.load_overlay({"test_bundle": {"string_a": "new text"}}) assert confman.get_config_bundle("test_bundle")["string_a"] == "new text"