X-Git-Url: https://git.novaco.in/?p=electrum-nvc.git;a=blobdiff_plain;f=lib%2Ftests%2Ftest_simple_config.py;h=40d3360a3f568c01f93ef191acac1401d5a909d2;hp=f288b7f894eb7410fc632a56b7e9c64d0adc5fec;hb=34f0a65c49492ed62f399fd74aa25a6a4edcfc33;hpb=ad3640d7a4bc4627694df3c277cd83972256c543 diff --git a/lib/tests/test_simple_config.py b/lib/tests/test_simple_config.py index f288b7f..40d3360 100644 --- a/lib/tests/test_simple_config.py +++ b/lib/tests/test_simple_config.py @@ -5,7 +5,8 @@ import tempfile import shutil from StringIO import StringIO -from lib.simple_config import SimpleConfig, read_system_config +from lib.simple_config import (SimpleConfig, read_system_config, + read_user_config) class Test_SimpleConfig(unittest.TestCase): @@ -150,6 +151,7 @@ everything = 42 self.thefile = tempfile.mkstemp(suffix=".electrum.test.conf")[1] def tearDown(self): + super(TestSystemConfig, self).tearDown() os.remove(self.thefile) def test_read_system_config_file_does_not_exist(self): @@ -171,3 +173,50 @@ everything = 42 result = read_system_config(self.thefile) self.assertEqual({}, result) + + +class TestUserConfig(unittest.TestCase): + + def setUp(self): + super(TestUserConfig, self).setUp() + self._saved_stdout = sys.stdout + self._stdout_buffer = StringIO() + sys.stdout = self._stdout_buffer + + self.user_dir = tempfile.mkdtemp() + + def tearDown(self): + super(TestUserConfig, self).tearDown() + shutil.rmtree(self.user_dir) + sys.stdout = self._saved_stdout + + def test_no_path_means_no_result(self): + result = read_user_config(None) + self.assertEqual({}, result) + + def test_path_with_reprd_dict(self): + thefile = os.path.join(self.user_dir, "config") + payload = {"gap_limit": 5} + with open(thefile, "w") as f: + f.write(repr(payload)) + + result = read_user_config(self.user_dir) + self.assertEqual(payload, result) + + def test_path_without_config_file(self): + """We pass a path but if does not contain a "config" file.""" + result = read_user_config(self.user_dir) + self.assertEqual({}, result) + + def test_path_with_reprd_object(self): + + class something(object): + pass + + thefile = os.path.join(self.user_dir, "config") + payload = something() + with open(thefile, "w") as f: + f.write(repr(payload)) + + result = read_user_config(self.user_dir) + self.assertEqual({}, result)