Ejemplo n.º 1
0
 def test_can_set_options_set_in_user_config(self):
     another_path = tempfile.mkdtemp()
     fake_read_user = lambda _: {"electrum_path": self.electrum_dir}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options={},
                           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"))
Ejemplo n.º 2
0
 def test_can_set_options_set_in_user_config(self):
     another_path = tempfile.mkdtemp()
     fake_read_user = lambda _: {"electrum-quark_path": self.electrum_dir}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options={},
                           read_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     config.set_key("electrum-quark_path", another_path)
     self.assertEqual(another_path, config.get("electrum-quark_path"))
Ejemplo n.º 3
0
 def test_cannot_set_options_passed_by_command_line(self):
     fake_read_user = lambda _: {"electrum-quark_path": "b"}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           read_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     config.set_key("electrum-quark_path", "c")
     self.assertEqual(self.options.get("electrum-quark_path"),
                      config.get("electrum-quark_path"))
Ejemplo n.º 4
0
 def test_cannot_set_options_passed_by_command_line(self):
     fake_read_user = lambda _: {"electrum_path": "b"}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           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"))
Ejemplo n.º 5
0
 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"))
Ejemplo n.º 6
0
 def test_simple_config_command_line_overrides_everything(self):
     """Options passed by command line override all other configuration
     sources"""
     fake_read_user = lambda _: {"electrum-quark_path": "b"}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           read_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     self.assertEqual(self.options.get("electrum-quark_path"),
                      config.get("electrum-quark_path"))
Ejemplo n.º 7
0
 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"))
Ejemplo n.º 8
0
 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"))
Ejemplo n.º 9
0
 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_user = lambda _: {"electrum_path": self.electrum_dir}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options={},
                           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"))
Ejemplo n.º 10
0
 def test_simple_config_command_line_overrides_everything(self):
     """Options passed by command line override all other configuration
     sources"""
     fake_read_user = lambda _: {"electrum_path": "b"}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           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"))
Ejemplo n.º 11
0
 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"))
Ejemplo n.º 12
0
 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_user = lambda _: {"electrum-quark_path": self.electrum_dir}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options={},
                           read_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     self.assertEqual(self.options.get("electrum-quark_path"),
                      config.get("electrum-quark_path"))
Ejemplo n.º 13
0
 def test_simple_config_system_config_overrides_user_config(self):
     """Options passed in system config override user config."""
     fake_read_system = lambda: {"light_path": self.light_dir}
     fake_read_user = lambda _: {"light_path": "b"}
     read_user_dir = lambda: self.user_dir
     config = SimpleConfig(options=None,
                           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("light_path"),
                      config.get("light_path"))
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
 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_system_config_ignored_if_portable(self):
     """If electrum is started with the "portable" flag, system
     configuration is completely ignored."""
     another_path = tempfile.mkdtemp()
     fake_read_system = lambda: {"electrum_path": self.electrum_dir}
     fake_read_user = lambda _: {"electrum_path": another_path}
     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(another_path, 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."""
     another_path = tempfile.mkdtemp()
     fake_read_system = lambda : {"electrum_path": self.electrum_dir}
     fake_read_user = lambda _: {"electrum_path": another_path}
     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(another_path, config.get("electrum_path"))
Ejemplo n.º 18
0
 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_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"))
Ejemplo n.º 20
0
 def test_user_config_is_not_written_with_read_only_config(self):
     """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_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     config.save_user_config()
     contents = None
     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)
Ejemplo n.º 21
0
 def test_user_config_is_not_written_with_read_only_config(self):
     """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_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     config.save_user_config()
     contents = None
     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)
Ejemplo n.º 22
0
    def setUpClass(cls):
        super().setUpClass()
        from lib.plugins import Plugins
        from lib.simple_config import SimpleConfig

        cls.electrum_path = tempfile.mkdtemp()
        config = SimpleConfig({'electrum_path': cls.electrum_path})

        gui_name = 'cmdline'
        # TODO it's probably wasteful to load all plugins... only need Trezor
        Plugins(config, True, gui_name)
Ejemplo n.º 23
0
 def test_simple_config_key_rename(self):
     """auto_cycle was renamed auto_connect"""
     fake_read_user = lambda _: {"auto_cycle": True}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           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_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     self.assertEqual(config.get("auto_connect"), False)
     self.assertEqual(config.get("auto_cycle"), None)
Ejemplo n.º 24
0
 def test_simple_config_key_rename(self):
     """auto_cycle was renamed auto_connect"""
     fake_read_user = lambda _: {"auto_cycle": True}
     read_user_dir = lambda : self.user_dir
     config = SimpleConfig(options=self.options,
                           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_user_config_function=fake_read_user,
                           read_user_dir_function=read_user_dir)
     self.assertEqual(config.get("auto_connect"), False)
     self.assertEqual(config.get("auto_cycle"), None)
 def setUpClass(cls):
     super().setUpClass()
     cls.electrum_path = tempfile.mkdtemp()
     cls.config = SimpleConfig({'electrum_path': cls.electrum_path})