diff tests/test.py @ 373:0c65aac81807

Implement ".getfirstintvar_s()" and ".getfirstboolvar_s()" with unittests
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 11 Jul 2021 17:08:06 +0200
parents ac3e3cd6faae
children fe3dfd687621
line wrap: on
line diff
--- a/tests/test.py	Sun Jul 11 16:43:14 2021 +0200
+++ b/tests/test.py	Sun Jul 11 17:08:06 2021 +0200
@@ -514,6 +514,73 @@
             "intl.non.existing",
             "intl.non.existing2")
 
+    def test23_getfirstintvar_s_nonexisting(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertIsNone(cfg.getfirstintvar_s("db.non.existing.key",
+                                               "db.non.existing.key2",
+                                               "intl.non.existing",
+                                               default=None))
+        self.assertRaises(
+            KeyError,
+            cfg.getfirstintvar_s,
+            "db.non.existing.key",
+            "db.non.exksting.key2",
+            "intl.non.existing")
+
+    def test23_getfirstintvar_s_nonexisting(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(20,
+                         cfg.getfirstintvar_s("db.non.existing.key",
+                                              "db.non.existing.key2",
+                                              "intl.non.existing",
+                                              default=u("20")))
+        self.assertEqual(30,
+                         cfg.getfirstintvar_s("db.non.existing.key",
+                                              "db.non.existing.key2",
+                                              "intl.non.existing",
+                                              default=30))
+        self.assertRaises(
+            KeyError,
+            cfg.getfirstintvar_s,
+            "db.non.existing.key",
+            "db.non.exksting.key2",
+            "intl.non.existing")
+
+    def test24_getfirstintvar_s_existing(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(10,
+                         cfg.getfirstintvar_s("db.non.existing.key",
+                                              "intl.cache.items",
+                                              "db.non.existing.key2",
+                                              default=u("20")))
+
+    def test25_getfirstboolvar_s_nonexisting(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertFalse(
+            cfg.getfirstboolvar_s("db.non.existing.key",
+                                  "db.non.existing.key2",
+                                  "db.engines.rw.no-echo",
+                                  default=u("false")))
+        self.assertTrue(
+            cfg.getfirstboolvar_s("db.non.existing.key",
+                                  "db.non.existing.key2",
+                                  "db.engines.rw.no-echo",
+                                  default=True))
+        self.assertRaises(
+            KeyError,
+            cfg.getfirstboolvar_s,
+            "db.non.existing.key",
+            "db.non.exksting.key2",
+            "b.engines.rw.no-echo")
+
+    def test26_getfirstboolvar_s_existing(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertFalse(
+            cfg.getfirstboolvar_s("db.non.existing.key",
+                                  "db.engines.rw.echo",
+                                  "db.non.existing.key2",
+                                  default=u("true")))
+
 
 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):