From 0020346778b942b910d83be112ed50f5d3b4af33 Mon Sep 17 00:00:00 2001 From: Julian Mehne Date: Tue, 23 Jan 2018 13:44:28 +0100 Subject: Set changed values in mock.patch.dict call itself. --- tests/settings/manager_test.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'tests/settings') diff --git a/tests/settings/manager_test.py b/tests/settings/manager_test.py index 06200c71..bc4a066c 100644 --- a/tests/settings/manager_test.py +++ b/tests/settings/manager_test.py @@ -139,43 +139,41 @@ class TestSettingsManager(unittest.TestCase): class TestSettingsManagerProcessXDG(unittest.TestCase): """ Tests SettingsManager._process_xdg_default """ setting_name = 'template_dir' - default = '$XDG_CONFIG_HOME/alot/templates' + xdg_name = 'XDG_CONFIG_HOME' + default = '$%s/alot/templates' % xdg_name xdg_fallback = '~/.config' - xdg_config_home = '/foo/bar/.config' - default_expanded = default.replace('$XDG_CONFIG_HOME', xdg_fallback) + xdg_custom = '/foo/bar/.config' + default_expanded = default.replace('$%s' % xdg_name, xdg_fallback) def test_no_user_setting_and_env_not_set(self): with mock.patch.dict('os.environ'): - if 'XDG_CONFIG_HOME' in os.environ: - del os.environ['XDG_CONFIG_HOME'] + if self.xdg_name in os.environ: + del os.environ[self.xdg_name] manager = SettingsManager() manager._process_xdg_default(self.setting_name) self.assertEqual(manager._config.get(self.setting_name), os.path.expanduser(self.default_expanded)) def test_no_user_setting_and_env_empty(self): - with mock.patch.dict('os.environ'): - os.environ['XDG_CONFIG_HOME'] = '' + with mock.patch.dict('os.environ', {self.xdg_name: ''}): manager = SettingsManager() manager._process_xdg_default(self.setting_name) self.assertEqual(manager._config.get(self.setting_name), os.path.expanduser(self.default_expanded)) def test_no_user_setting_and_env_not_empty(self): - with mock.patch.dict('os.environ'): - os.environ['XDG_CONFIG_HOME'] = self.xdg_config_home + with mock.patch.dict('os.environ', {self.xdg_name: self.xdg_custom}): manager = SettingsManager() manager._process_xdg_default(self.setting_name) actual = manager._config.get(self.setting_name) - expected = self.default.replace('$XDG_CONFIG_HOME', - self.xdg_config_home) + expected = self.default.replace('$%s' % self.xdg_name, + self.xdg_custom) self.assertEqual(actual, expected) def test_user_setting_and_env_not_empty(self): user_setting = '/path/to/template/dir' - with mock.patch.dict('os.environ'): - os.environ['XDG_CONFIG_HOME'] = self.xdg_config_home + with mock.patch.dict('os.environ', {self.xdg_name: self.xdg_custom}): with tempfile.NamedTemporaryFile(delete=False) as f: f.write('template_dir = {}'.format(user_setting)) self.addCleanup(os.unlink, f.name) -- cgit v1.2.3