comparison tests/test.py @ 741:e069797f0e36

Implemented the new merge stragegies when merging lists: "extend" and "prepend"
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 29 Oct 2023 17:15:41 +0100
parents cc9dff5fe0ca
children 220a9ec9ac72
comparison
equal deleted inserted replaced
740:cc9dff5fe0ca 741:e069797f0e36
999 cfg = self._load(os.path.join(TESTDATADIR, 999 cfg = self._load(os.path.join(TESTDATADIR,
1000 "index-access-for-jails.yml")) 1000 "index-access-for-jails.yml"))
1001 self.assertEqual(1, cfg.getvar_s(u"expand-me")) 1001 self.assertEqual(1, cfg.getvar_s(u"expand-me"))
1002 self.assertEqual(2, cfg.getvar_s(u"expand-me-2")) 1002 self.assertEqual(2, cfg.getvar_s(u"expand-me-2"))
1003 1003
1004 def test54_list_merge_replaces_by_default(self):
1005 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"),
1006 os.path.join(TESTDATADIR, "conf10.yml"))
1007 self.assertEqual([u"val1", u"val2", u"in the root namespace"],
1008 cfg.getvarl_s(u"tree1", u"tree2", u"key8"))
1009
1010 def test55_list_merge_extend(self):
1011 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"),
1012 os.path.join(TESTDATADIR, "conf10.yml"),
1013 merge_lists="extend")
1014 self.assertEqual([u"val1", u"val2", u"in the root namespace",
1015 u"val1", u"val2", u"in the root namespace"],
1016 cfg.getvarl_s(u"tree1", u"tree2", u"key8"))
1017
1018 def test56_list_merge_wrong_param(self):
1019 try:
1020 self._load(os.path.join(TESTDATADIR, "conf10.toml"),
1021 os.path.join(TESTDATADIR, "conf10.yml"),
1022 merge_lists="__unknown-merge-strategy__")
1023 except ValueError:
1024 pass
1025 else:
1026 self.fail("Should have thrown a `ValueError' exception")
1027
1028 def test57_list_merge_extend(self):
1029 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"),
1030 os.path.join(TESTDATADIR, "conf10_list_extend.yml"),
1031 merge_lists="extend")
1032 self.assertEqual([u"val1", u"val2", u"in the root namespace",
1033 u"val4", u"val5", u"val6"],
1034 cfg.getvarl_s(u"tree1", u"tree2", u"key8"))
1035
1036 def test58_list_merge_prepend(self):
1037 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"),
1038 os.path.join(TESTDATADIR, "conf10_list_extend.yml"),
1039 merge_lists="prepend")
1040 self.assertEqual([u"val4", u"val5", u"val6",
1041 u"val1", u"val2", u"in the root namespace",],
1042 cfg.getvarl_s(u"tree1", u"tree2", u"key8"))
1043
1004 1044
1005 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): 1045 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
1006 1046
1007 def setUp(self): 1047 def setUp(self):
1008 self._load = configmix.load 1048 self._load = configmix.load