diff tests/test.py @ 680:e71f8bd50342

Tests for the new feature that resolves references at jail roots
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 09 Jun 2023 22:28:18 +0200
parents 0eff8441c4b9
children db764da37cd2
line wrap: on
line diff
--- a/tests/test.py	Fri Jun 09 09:24:41 2023 +0200
+++ b/tests/test.py	Fri Jun 09 22:28:18 2023 +0200
@@ -1998,6 +1998,30 @@
             self.assertEqual((u"the-list", idx), jcfg2._path)
             self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg2._pathstr)
 
+    def test_referenced_root(self):
+        cfg = configmix.load(os.path.join(
+            TESTDATADIR, "jail-root-ref.yml"))
+        jcfg = cfg.jailed(rootpath=("the-root", "ref1"))
+        print(repr(jcfg.getvarl_s()))
+        self.assertEqual("v3", jcfg.getvarl_s("ks"))
+
+
+    def test_referenced_root(self):
+        cfg = configmix.load(os.path.join(
+            TESTDATADIR, "jail-root-ref.yml"))
+        jcfg = cfg.jailed(rootpath=("the-root", "ref1"))
+        print(repr(jcfg.getvarl_s()))
+        self.assertEqual("v3", jcfg.getvarl_s("ks"))
+        self.assertEqual("v1", jcfg.getvarl_s("k1"))
+
+    def test_referenced_root_in_subjail(self):
+        cfg = configmix.load(os.path.join(
+            TESTDATADIR, "jail-root-ref.yml"))
+        jcfg = cfg.jailed(rootpath=("the-root", "ref2"))
+        jcfg2 = jcfg.jailed(rootpath=("sub-tree1",))
+        self.assertEqual("v6", jcfg2.getvarl_s("k6"))
+        self.assertEqual("v3", jcfg2.getvarl_s("ks"))
+
 
 class _TParserMixin:
     def test_quote_and_unquote_empty(self):