diff tests/test.py @ 666:0eff8441c4b9 v0.21

Implement iteration support that yields properly jailed configurations for each container item
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 03 Jun 2022 02:17:12 +0200
parents 9f0842a942b2
children e71f8bd50342
line wrap: on
line diff
--- a/tests/test.py	Fri Jun 03 01:38:04 2022 +0200
+++ b/tests/test.py	Fri Jun 03 02:17:12 2022 +0200
@@ -1946,6 +1946,29 @@
             self.assertEqual((u"the-list", idx), jcfg2._path)
             self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg2._pathstr)
 
+    def test_direct_iter_jailed(self):
+        cfg = configmix.load(os.path.join(
+            TESTDATADIR, "index-access-for-jails.yml"))
+        testidx = -1
+        for jcfg2 in cfg.iter_jailed(rootpath=(u"the-list", )):
+            testidx += 1
+            self.assertEqual(1, len(jcfg2))
+            self.assertEqual(testidx, jcfg2.getvarl_s(u"entry"))
+            self.assertEqual((u"the-list", testidx), jcfg2._path)
+            self.assertEqual(u"the-list.~%d~." % (testidx, ), jcfg2._pathstr)
+
+    def test_iter_jailed(self):
+        cfg = configmix.load(os.path.join(
+            TESTDATADIR, "index-access-for-jails.yml"))
+        jcfg = cfg.jailed(rootpath=(u"the-list",))
+        testidx = -1
+        for jcfg2 in jcfg.iter_jailed():
+            testidx += 1
+            self.assertEqual(1, len(jcfg2))
+            self.assertEqual(testidx, jcfg2.getvarl_s(u"entry"))
+            self.assertEqual((u"the-list", testidx), jcfg2._path)
+            self.assertEqual(u"the-list.~%d~." % (testidx, ), jcfg2._pathstr)
+
     def test_negative_index_jail_access(self):
         cfg = configmix.load(os.path.join(
             TESTDATADIR, "index-access-for-jails.yml"))