mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-30 08:51:32 +00:00
fix tests
This commit is contained in:
parent
04a1809969
commit
0d1ea09ed1
1 changed files with 3 additions and 104 deletions
|
@ -6,8 +6,7 @@ import tempfile
|
|||
import shutil
|
||||
|
||||
from io import StringIO
|
||||
from lib.simple_config import (SimpleConfig, read_system_config,
|
||||
read_user_config)
|
||||
from lib.simple_config import (SimpleConfig, read_user_config)
|
||||
|
||||
|
||||
class Test_SimpleConfig(unittest.TestCase):
|
||||
|
@ -37,18 +36,15 @@ class Test_SimpleConfig(unittest.TestCase):
|
|||
|
||||
def test_simple_config_key_rename(self):
|
||||
"""auto_cycle was renamed auto_connect"""
|
||||
fake_read_system = lambda : {}
|
||||
fake_read_user = lambda _: {"auto_cycle": True}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options=self.options,
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual(config.get("auto_connect"), True)
|
||||
self.assertEqual(config.get("auto_cycle"), None)
|
||||
fake_read_user = lambda _: {"auto_connect": False, "auto_cycle": True}
|
||||
config = SimpleConfig(options=self.options,
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual(config.get("auto_connect"), False)
|
||||
|
@ -57,110 +53,51 @@ class Test_SimpleConfig(unittest.TestCase):
|
|||
def test_simple_config_command_line_overrides_everything(self):
|
||||
"""Options passed by command line override all other configuration
|
||||
sources"""
|
||||
fake_read_system = lambda : {"electrum_path": "a"}
|
||||
fake_read_user = lambda _: {"electrum_path": "b"}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options=self.options,
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual(self.options.get("electrum_path"),
|
||||
config.get("electrum_path"))
|
||||
|
||||
def test_simple_config_user_config_overrides_system_config(self):
|
||||
"""Options passed in user config override system config."""
|
||||
fake_read_system = lambda : {"electrum_path": self.electrum_dir}
|
||||
fake_read_user = lambda _: {"electrum_path": "b"}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual("b", config.get("electrum_path"))
|
||||
|
||||
def test_simple_config_system_config_ignored_if_portable(self):
|
||||
"""If electrum is started with the "portable" flag, system
|
||||
configuration is completely ignored."""
|
||||
fake_read_system = lambda : {"some_key": "some_value"}
|
||||
fake_read_user = lambda _: {}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={"portable": True},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual(config.get("some_key"), None)
|
||||
|
||||
def test_simple_config_user_config_is_used_if_others_arent_specified(self):
|
||||
"""If no system-wide configuration and no command-line options are
|
||||
specified, the user configuration is used instead."""
|
||||
fake_read_system = lambda : {}
|
||||
fake_read_user = lambda _: {"electrum_path": self.electrum_dir}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
self.assertEqual(self.options.get("electrum_path"),
|
||||
config.get("electrum_path"))
|
||||
|
||||
def test_cannot_set_options_passed_by_command_line(self):
|
||||
fake_read_system = lambda : {}
|
||||
fake_read_user = lambda _: {"electrum_path": "b"}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options=self.options,
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
config.set_key("electrum_path", "c")
|
||||
self.assertEqual(self.options.get("electrum_path"),
|
||||
config.get("electrum_path"))
|
||||
|
||||
def test_can_set_options_from_system_config(self):
|
||||
fake_read_system = lambda : {"electrum_path": self.electrum_dir}
|
||||
fake_read_user = lambda _: {}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
config.set_key("electrum_path", "c")
|
||||
self.assertEqual("c", config.get("electrum_path"))
|
||||
|
||||
def test_can_set_options_set_in_user_config(self):
|
||||
another_path = tempfile.mkdtemp()
|
||||
fake_read_system = lambda : {}
|
||||
fake_read_user = lambda _: {"electrum_path": self.electrum_dir}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
config.set_key("electrum_path", another_path)
|
||||
self.assertEqual(another_path, config.get("electrum_path"))
|
||||
|
||||
def test_can_set_options_from_system_config_if_portable(self):
|
||||
"""If the "portable" flag is set, the user can overwrite system
|
||||
configuration options."""
|
||||
another_path = tempfile.mkdtemp()
|
||||
fake_read_system = lambda : {"electrum_path": self.electrum_dir}
|
||||
fake_read_user = lambda _: {}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
config = SimpleConfig(options={"portable": True},
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
config.set_key("electrum_path", another_path)
|
||||
self.assertEqual(another_path, config.get("electrum_path"))
|
||||
|
||||
def test_user_config_is_not_written_with_read_only_config(self):
|
||||
"""The user config does not contain command-line options or system
|
||||
options when saved."""
|
||||
fake_read_system = lambda : {"something": "b"}
|
||||
"""The user config does not contain command-line options when saved."""
|
||||
fake_read_user = lambda _: {"something": "a"}
|
||||
read_user_dir = lambda : self.user_dir
|
||||
self.options.update({"something": "c"})
|
||||
config = SimpleConfig(options=self.options,
|
||||
read_system_config_function=fake_read_system,
|
||||
read_user_config_function=fake_read_user,
|
||||
read_user_dir_function=read_user_dir)
|
||||
config.save_user_config()
|
||||
|
@ -168,48 +105,10 @@ class Test_SimpleConfig(unittest.TestCase):
|
|||
with open(os.path.join(self.electrum_dir, "config"), "r") as f:
|
||||
contents = f.read()
|
||||
result = ast.literal_eval(contents)
|
||||
result.pop('config_version', None)
|
||||
self.assertEqual({"something": "a"}, result)
|
||||
|
||||
|
||||
class TestSystemConfig(unittest.TestCase):
|
||||
|
||||
sample_conf = """
|
||||
[client]
|
||||
gap_limit = 5
|
||||
|
||||
[something_else]
|
||||
everything = 42
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(TestSystemConfig, self).setUp()
|
||||
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):
|
||||
somefile = "/foo/I/do/not/exist/electrum.conf"
|
||||
result = read_system_config(somefile)
|
||||
self.assertEqual({}, result)
|
||||
|
||||
def test_read_system_config_file_returns_file_options(self):
|
||||
with open(self.thefile, "w") as f:
|
||||
f.write(self.sample_conf)
|
||||
|
||||
result = read_system_config(self.thefile)
|
||||
self.assertEqual({"gap_limit": "5"}, result)
|
||||
|
||||
def test_read_system_config_file_no_sections(self):
|
||||
|
||||
with open(self.thefile, "w") as f:
|
||||
f.write("gap_limit = 5") # The file has no sections at all
|
||||
|
||||
result = read_system_config(self.thefile)
|
||||
self.assertEqual({}, result)
|
||||
|
||||
|
||||
class TestUserConfig(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue