summaryrefslogtreecommitdiff
path: root/cliapp/settings_tests.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-07-27 16:14:01 +0100
committerLars Wirzenius <liw@liw.fi>2011-07-27 16:14:01 +0100
commit637cee2feb4d377a4f941d069ee2b9886c57fcd9 (patch)
tree889704160675645e058f22c768139a5c80b1ba22 /cliapp/settings_tests.py
parentbbfbe11cb2c22125e88e0f6499f1d56bc687538a (diff)
downloadcliapp-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.py30
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):