aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_config.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2019-12-25 19:40:28 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2019-12-25 19:40:28 -0500
commitf9a1a9dcb7df977eeac9544786df9c0b93795815 (patch)
tree8cb69cf7685da8d7e4deb7dc1d6b209098e1ddfb /test/test_config.py
parent0c73e982fa596da07f23b377621ab894a9e64884 (diff)
New upstream version 1.12.1upstream/1.12.1
Diffstat (limited to 'test/test_config.py')
-rw-r--r--test/test_config.py140
1 files changed, 100 insertions, 40 deletions
diff --git a/test/test_config.py b/test/test_config.py
index 8cdb3da..a9d3f54 100644
--- a/test/test_config.py
+++ b/test/test_config.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# Copyright 2015-2017 Mike Fährmann
+# Copyright 2015-2019 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -16,65 +16,125 @@ import tempfile
class TestConfig(unittest.TestCase):
def setUp(self):
- fd, self._configfile = tempfile.mkstemp()
- with os.fdopen(fd, "w") as file:
- file.write('{"a": "1", "b": {"a": 2, "c": "text"}}')
- config.load((self._configfile,))
+ config.set(() , "a", 1)
+ config.set(("b",) , "a", 2)
+ config.set(("b", "b"), "a", 3)
+ config.set(("b",) , "c", "text")
+ config.set(("b", "b"), "c", [8, 9])
def tearDown(self):
config.clear()
- os.remove(self._configfile)
def test_get(self):
- self.assertEqual(config.get(["a"]), "1")
- self.assertEqual(config.get(["b", "c"]), "text")
- self.assertEqual(config.get(["d"]), None)
- self.assertEqual(config.get(["e", "f", "g"], 123), 123)
+ self.assertEqual(config.get(() , "a") , 1)
+ self.assertEqual(config.get(("b",) , "a") , 2)
+ self.assertEqual(config.get(("b", "b"), "a") , 3)
+
+ self.assertEqual(config.get(() , "c") , None)
+ self.assertEqual(config.get(("b",) , "c") , "text")
+ self.assertEqual(config.get(("b", "b"), "c") , [8, 9])
+
+ self.assertEqual(config.get(("a",) , "g") , None)
+ self.assertEqual(config.get(("a", "a"), "g") , None)
+ self.assertEqual(config.get(("e", "f"), "g") , None)
+ self.assertEqual(config.get(("e", "f"), "g", 4), 4)
def test_interpolate(self):
- self.assertEqual(config.interpolate(["a"]), "1")
- self.assertEqual(config.interpolate(["b", "a"]), "1")
- self.assertEqual(config.interpolate(["b", "c"], "2"), "text")
- self.assertEqual(config.interpolate(["b", "d"], "2"), "2")
- config.set(["d"], 123)
- self.assertEqual(config.interpolate(["b", "d"], "2"), 123)
- self.assertEqual(config.interpolate(["d", "d"], "2"), 123)
+ self.assertEqual(config.interpolate(() , "a"), 1)
+ self.assertEqual(config.interpolate(("b",) , "a"), 1)
+ self.assertEqual(config.interpolate(("b", "b"), "a"), 1)
+
+ self.assertEqual(config.interpolate(() , "c"), None)
+ self.assertEqual(config.interpolate(("b",) , "c"), "text")
+ self.assertEqual(config.interpolate(("b", "b"), "c"), [8, 9])
+
+ self.assertEqual(config.interpolate(("a",) , "g") , None)
+ self.assertEqual(config.interpolate(("a", "a"), "g") , None)
+ self.assertEqual(config.interpolate(("e", "f"), "g") , None)
+ self.assertEqual(config.interpolate(("e", "f"), "g", 4), 4)
+
+ self.assertEqual(config.interpolate(("b",), "d", 1) , 1)
+ self.assertEqual(config.interpolate(("d",), "d", 1) , 1)
+ config.set(() , "d", 2)
+ self.assertEqual(config.interpolate(("b",), "d", 1) , 2)
+ self.assertEqual(config.interpolate(("d",), "d", 1) , 2)
+ config.set(("b",), "d", 3)
+ self.assertEqual(config.interpolate(("b",), "d", 1) , 2)
+ self.assertEqual(config.interpolate(("d",), "d", 1) , 2)
def test_set(self):
- config.set(["b", "c"], [1, 2, 3])
- config.set(["e", "f", "g"], value=234)
- self.assertEqual(config.get(["b", "c"]), [1, 2, 3])
- self.assertEqual(config.get(["e", "f", "g"]), 234)
+ config.set(() , "c", [1, 2, 3])
+ config.set(("b",) , "c", [1, 2, 3])
+ config.set(("e", "f"), "g", value=234)
+ self.assertEqual(config.get(() , "c"), [1, 2, 3])
+ self.assertEqual(config.get(("b",) , "c"), [1, 2, 3])
+ self.assertEqual(config.get(("e", "f"), "g"), 234)
def test_setdefault(self):
- config.setdefault(["b", "c"], [1, 2, 3])
- config.setdefault(["e", "f", "g"], value=234)
- self.assertEqual(config.get(["b", "c"]), "text")
- self.assertEqual(config.get(["e", "f", "g"]), 234)
+ config.setdefault(() , "c", [1, 2, 3])
+ config.setdefault(("b",) , "c", [1, 2, 3])
+ config.setdefault(("e", "f"), "g", value=234)
+ self.assertEqual(config.get(() , "c"), [1, 2, 3])
+ self.assertEqual(config.get(("b",) , "c"), "text")
+ self.assertEqual(config.get(("e", "f"), "g"), 234)
def test_unset(self):
- config.unset(["a"])
- config.unset(["b", "c"])
- config.unset(["c", "d"])
- self.assertEqual(config.get(["a"]), None)
- self.assertEqual(config.get(["b", "a"]), 2)
- self.assertEqual(config.get(["b", "c"]), None)
+ config.unset(() , "a")
+ config.unset(("b",), "c")
+ config.unset(("a",), "d")
+ config.unset(("b",), "d")
+ config.unset(("c",), "d")
+ self.assertEqual(config.get(() , "a"), None)
+ self.assertEqual(config.get(("b",), "a"), 2)
+ self.assertEqual(config.get(("b",), "c"), None)
+ self.assertEqual(config.get(("a",), "d"), None)
+ self.assertEqual(config.get(("b",), "d"), None)
+ self.assertEqual(config.get(("c",), "d"), None)
def test_apply(self):
options = (
- (["b", "c"], [1, 2, 3]),
- (["e", "f", "g"], 234),
+ (("b",) , "c", [1, 2, 3]),
+ (("e", "f"), "g", 234),
)
- self.assertEqual(config.get(["b", "c"]), "text")
- self.assertEqual(config.get(["e", "f", "g"]), None)
+ self.assertEqual(config.get(("b",) , "c"), "text")
+ self.assertEqual(config.get(("e", "f"), "g"), None)
with config.apply(options):
- self.assertEqual(config.get(["b", "c"]), [1, 2, 3])
- self.assertEqual(config.get(["e", "f", "g"]), 234)
-
- self.assertEqual(config.get(["b", "c"]), "text")
- self.assertEqual(config.get(["e", "f", "g"]), None)
+ self.assertEqual(config.get(("b",) , "c"), [1, 2, 3])
+ self.assertEqual(config.get(("e", "f"), "g"), 234)
+
+ self.assertEqual(config.get(("b",) , "c"), "text")
+ self.assertEqual(config.get(("e", "f"), "g"), None)
+
+ def test_load(self):
+ with tempfile.TemporaryDirectory() as base:
+ path1 = os.path.join(base, "cfg1")
+ with open(path1, "w") as file:
+ file.write('{"a": 1, "b": {"a": 2, "c": "text"}}')
+
+ path2 = os.path.join(base, "cfg2")
+ with open(path2, "w") as file:
+ file.write('{"a": 7, "b": {"a": 8, "e": "foo"}}')
+
+ config.clear()
+ config.load((path1,))
+ self.assertEqual(config.get(() , "a"), 1)
+ self.assertEqual(config.get(("b",), "a"), 2)
+ self.assertEqual(config.get(("b",), "c"), "text")
+
+ config.load((path2,))
+ self.assertEqual(config.get(() , "a"), 7)
+ self.assertEqual(config.get(("b",), "a"), 8)
+ self.assertEqual(config.get(("b",), "c"), "text")
+ self.assertEqual(config.get(("b",), "e"), "foo")
+
+ config.clear()
+ config.load((path1, path2))
+ self.assertEqual(config.get(() , "a"), 7)
+ self.assertEqual(config.get(("b",), "a"), 8)
+ self.assertEqual(config.get(("b",), "c"), "text")
+ self.assertEqual(config.get(("b",), "e"), "foo")
if __name__ == '__main__':