aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/option_tests.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/option_tests.py b/tests/option_tests.py
new file mode 100644
index 00000000..03804dec
--- /dev/null
+++ b/tests/option_tests.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+
+import unittest
+
+from sos.plugins import Plugin
+
+class GlobalOptionTest(unittest.TestCase):
+
+ def setUp(self):
+ self.commons = {
+ 'global_plugin_options': {
+ 'test_option': 'foobar',
+ 'baz': None,
+ 'empty_global': True,
+ },
+ }
+ self.plugin = Plugin(self.commons)
+ self.plugin.optNames = ['baz', 'empty']
+ self.plugin.optParms = [{'enabled': False}, {'enabled': None}]
+
+ def test_simple_lookup(self):
+ self.assertEquals(self.plugin.getOption('test_option'), 'foobar')
+
+ def test_multi_lookup(self):
+ self.assertEquals(self.plugin.getOption(('not_there', 'test_option')), 'foobar')
+
+ def test_cascade(self):
+ self.assertEquals(self.plugin.getOption(('baz')), False)
+
+ def test_none_should_cascade(self):
+ self.assertEquals(self.plugin.getOption(('empty', 'empty_global')), True)
+
+if __name__ == "__main__":
+ unittest.main()