diff tests/test.py @ 418:bb5f11abd12a

Implement .getkeysl() and .getkeys() for configuration objects that iterate over all the keys of a configuration value
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 02 Dec 2021 01:24:53 +0100
parents 83d537f1dfbb
children 079a82129110
line wrap: on
line diff
--- a/tests/test.py	Wed Dec 01 23:10:20 2021 +0100
+++ b/tests/test.py	Thu Dec 02 01:24:53 2021 +0100
@@ -752,6 +752,18 @@
                   ("db", "non", "existing", "key2")),
                 default=u("20")))
 
+    def test35_keysl(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(
+            set([u"domain", u"localedir", u"fallback", u"cache",]),
+            set(cfg.getkeysl(u"intl")))
+
+    def test36_keys(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(
+            set([u"name", u"pwd"]),
+            set(cfg.getkeys(u"db.user")))
+
 
 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
 
@@ -1471,6 +1483,22 @@
 
         self.assertEqual(0x20, sjcfg.getintvar_s(u"key3"))
 
+    def test_getkeys(self):
+        cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
+        jcfg = cfg.jailed(root=u"tree1")
+
+        self.assertEqual(
+            set([u"key4", u"key5", u"key6"]),
+            set(jcfg.getkeysl(u"tree2")))
+
+        self.assertEqual(
+            set([u"key4", u"key5", u"key6"]),
+            set(jcfg.getkeys(u"tree2")))
+
+        self.assertEqual(
+            set([u"key3", u"tree2"]),
+            set(jcfg.getkeysl()))
+
 
 if __name__ == "__main__":
     unittest.main()