def setUp(self) -> None: self.config = self._setup_config() self.default_seed_values = Config._determine_seed_values( seed_values={"buildroot": self.build_root}, ) self.expected_combined_values = { **FILE_1.expected_options, **FILE_2.expected_options, "a": {**FILE_2.expected_options["a"], **FILE_1.expected_options["a"]}, }
def setUp(self) -> None: self.config = _setup_config() self.default_seed_values = Config._determine_seed_values( seed_values={"buildroot": "fake_buildroot"}, env={"NAME": "foo"}, ) self.expected_combined_values: dict[str, dict[str, list[str]]] = { "a": { "list": ['["1", "2", "3", "42"]'], "list2": ["+[7, 8, 9]"], "list3": ['-["x", "y", "z"]'], "fast": ["True"], }, "b": { "preempt": ["True", "False"] }, "c": { "name": ["overridden_from_default"], "interpolated_from_section": ["overridden_from_default is interpolated"], "recursively_interpolated_from_section": ["overridden_from_default is interpolated (again)"], }, "d": { "dict_val": ["{'add': 0, 'remove': 0, 'nested': {'nested_key': 'foo'}}"], "list": ["+[0, 1],-[8, 9]"], }, "empty_section": {}, "list_merging": { "list1": ["[]", "[11, 22]"], "list2": ["[1, 2]", "+[33]"], "list3": ["+[3, 4]", "+[8, 9],-[4, 55]"], "list4": ["-[5]", "[66]"], "list5": ["[6, 7]"], "list6": ["+[77, 88]"], }, }
def setUp(self) -> None: ini1_content = dedent( """ [DEFAULT] name: foo answer: 42 scale: 1.2 path: /a/b/%(answer)s embed: %(path)s::foo disclaimer: Let it be known that. [a] list: [1, 2, 3, %(answer)s] list2: +[7, 8, 9] [b] preempt: True [b.nested] dict: { 'a': 1, 'b': %(answer)s, 'c': ['%(answer)s', '%(answer)s'], } [b.nested.nested-again] movie: inception """ ) ini2_content = dedent( """ [a] fast: True [b] preempt: False [c.child] no_values_in_parent: True [defined_section] """ ) self.config = self._setup_config(ini1_content, ini2_content, suffix=".ini") self.default_seed_values = Config._determine_seed_values( seed_values={"buildroot": self.build_root}, ) self.default_file1_values = { "name": "foo", "answer": "42", "scale": "1.2", "path": "/a/b/42", "embed": "/a/b/42::foo", "disclaimer": "\nLet it be known\nthat.", } self.expected_file1_options = { "a": { "list": "[1, 2, 3, 42]", "list2": "+[7, 8, 9]", }, "b": { "preempt": "True", }, "b.nested": { "dict": "{\n'a': 1,\n'b': 42,\n'c': ['42', '42'],\n}" }, "b.nested.nested-again": { "movie": "inception", }, } self.expected_file2_options: Dict[str, Dict[str, str]] = { "a": { "fast": "True", }, "b": { "preempt": "False", }, "c.child": { "no_values_in_parent": "True", }, "defined_section": {}, } self.expected_combined_values: Dict[str, Dict[str, str]] = { **self.expected_file1_options, **self.expected_file2_options, "a": { **self.expected_file2_options["a"], **self.expected_file1_options["a"], }, }