comparison tests/test.py @ 651:fe1299825a9a

Tests for indexed accesses (jail and non-jail)
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 13 May 2022 08:53:48 +0200
parents df58983f28a2
children 2b1c7a68f913
comparison
equal deleted inserted replaced
650:0d8c59610d89 651:fe1299825a9a
455 self.assertEqual(10, x) 455 self.assertEqual(10, x)
456 456
457 def test13_keyerror(self): 457 def test13_keyerror(self):
458 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) 458 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
459 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") 459 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key")
460 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") 460 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key")
461 461
462 def test13a_keyerror_without_cache(self): 462 def test13a_keyerror_without_cache(self):
463 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) 463 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
464 cfg.disable_cache() 464 cfg.disable_cache()
465 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") 465 self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key")
927 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py")) 927 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
928 cfg.clear_cache() 928 cfg.clear_cache()
929 929
930 def test46_reenable_cache(self): 930 def test46_reenable_cache(self):
931 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) 931 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
932 self.assertTrue(cfg.getvarl() is cfg) 932 self.assertTrue(cfg.getvarl() is cfg)
933 cfg.disable_cache() 933 cfg.disable_cache()
934 self.assertTrue(cfg.getvarl() is cfg) 934 self.assertTrue(cfg.getvarl() is cfg)
935 cfg.clear_cache() 935 cfg.clear_cache()
936 self.assertTrue(cfg.getvarl() is cfg) 936 self.assertTrue(cfg.getvarl() is cfg)
937 cfg.enable_cache() 937 cfg.enable_cache()
938 self.assertTrue(cfg.getvarl() is cfg) 938 self.assertTrue(cfg.getvarl() is cfg)
939
940 def test47_indexed_access_to_lists(self):
941 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
942 for i in range(4):
943 self.assertEqual(
944 i,
945 cfg.getvarl_s(u"test", u"List", i))
946
947 def test48_index_access_to_lists_with_subdicts(self):
948 cfg = self._load(os.path.join(TESTDATADIR,
949 "index-access-for-jails.yml"))
950 for idx in range(len(cfg.getvarl(u"the-list"))):
951 self.assertEqual(
952 idx,
953 cfg.getvarl_s(u"the-list", idx, u"entry"))
939 954
940 955
941 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): 956 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
942 957
943 def setUp(self): 958 def setUp(self):
1873 jcfg = cfg.jailed(rootpath=(u"tree1", u"tree2", u"key8")) 1888 jcfg = cfg.jailed(rootpath=(u"tree1", u"tree2", u"key8"))
1874 self.assertEqual(u"val1", jcfg[0]) 1889 self.assertEqual(u"val1", jcfg[0])
1875 self.assertEqual(u"val2", jcfg[1]) 1890 self.assertEqual(u"val2", jcfg[1])
1876 self.assertEqual(u"in the root namespace", jcfg[2]) 1891 self.assertEqual(u"in the root namespace", jcfg[2])
1877 1892
1893 def test_index_jail_access(self):
1894 cfg = configmix.load(os.path.join(
1895 TESTDATADIR, "index-access-for-jails.yml"))
1896 for idx in range(len(cfg.getvarl(u"the-list"))):
1897 jcfg = cfg.jailed(rootpath=(u"the-list", idx))
1898 self.assertEqual(1, len(jcfg))
1899 self.assertEqual(idx, jcfg.getvarl_s(u"entry"))
1900
1878 1901
1879 class _TParserMixin: 1902 class _TParserMixin:
1880 def test_quote_and_unquote_empty(self): 1903 def test_quote_and_unquote_empty(self):
1881 e = self.quote(u"") 1904 e = self.quote(u"")
1882 self.assertEqual(u"", e) 1905 self.assertEqual(u"", e)