diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-07-27 16:14:01 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-07-27 16:14:01 +0100 |
commit | 637cee2feb4d377a4f941d069ee2b9886c57fcd9 (patch) | |
tree | 889704160675645e058f22c768139a5c80b1ba22 /cliapp/settings_tests.py | |
parent | bbfbe11cb2c22125e88e0f6499f1d56bc687538a (diff) | |
download | cliapp-637cee2feb4d377a4f941d069ee2b9886c57fcd9.tar.gz |
Add a couple of tests for config files and defaults handling.
Diffstat (limited to 'cliapp/settings_tests.py')
-rw-r--r-- | cliapp/settings_tests.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cliapp/settings_tests.py b/cliapp/settings_tests.py index b085ba1..0ff1fb8 100644 --- a/cliapp/settings_tests.py +++ b/cliapp/settings_tests.py @@ -254,6 +254,36 @@ bar = ping, pong self.assertEqual(self.settings['foo'], ['yeehaa']) self.assertEqual(self.settings['bar'], ['ping', 'pong']) + def test_handles_defaults_with_config_files(self): + + def mock_open(filename, mode=None): + return StringIO.StringIO('''\ +[config] +''') + + self.settings.string(['foo'], 'foo help', default='foo') + self.settings.string_list(['bar'], 'bar help', default=['bar']) + self.settings.config_files = ['whatever.conf'] + self.settings.load_configs(open=mock_open) + self.assertEqual(self.settings['foo'], 'foo') + self.assertEqual(self.settings['bar'], ['bar']) + + def test_handles_overridden_defaults_with_config_files(self): + + def mock_open(filename, mode=None): + return StringIO.StringIO('''\ +[config] +foo = yeehaa +bar = ping, pong +''') + + self.settings.string(['foo'], 'foo help', default='foo') + self.settings.string_list(['bar'], 'bar help', default=['bar']) + self.settings.config_files = ['whatever.conf'] + self.settings.load_configs(open=mock_open) + self.assertEqual(self.settings['foo'], 'yeehaa') + self.assertEqual(self.settings['bar'], ['ping', 'pong']) + def test_load_configs_ignore_errors_opening_a_file(self): def mock_open(filename, mode=None): |