diff options
Diffstat (limited to 'testsuite/Testsrc/Testlib/TestOptions.py')
-rw-r--r-- | testsuite/Testsrc/Testlib/TestOptions.py | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/testsuite/Testsrc/Testlib/TestOptions.py b/testsuite/Testsrc/Testlib/TestOptions.py deleted file mode 100644 index dc91a499b..000000000 --- a/testsuite/Testsrc/Testlib/TestOptions.py +++ /dev/null @@ -1,236 +0,0 @@ -import os -import sys -from mock import Mock, MagicMock, patch -from Bcfg2.Options import * -from Bcfg2.Compat import ConfigParser - -# add all parent testsuite directories to sys.path to allow (most) -# relative imports in python 2.4 -path = os.path.dirname(__file__) -while path != '/': - if os.path.basename(path).lower().startswith("test"): - sys.path.append(path) - if os.path.basename(path) == "testsuite": - break - path = os.path.dirname(path) -from common import * - -class TestDefaultConfigParser(Bcfg2TestCase): - @patch("%s.ConfigParser.get" % ConfigParser.__name__) - def test_get(self, mock_get): - dcp = DefaultConfigParser() - mock_get.return_value = "foo" - self.assertEqual(dcp.get("section", "option"), "foo") - mock_get.assert_called_with(dcp, "section", "option") - - mock_get.reset_mock() - self.assertEqual(dcp.get("section", "option", - default="bar", other="test"), "foo") - mock_get.assert_called_with(dcp, "section", "option", other="test") - - for etype, err in [(ConfigParser.NoOptionError, - ConfigParser.NoOptionError(None, None)), - (ConfigParser.NoSectionError, - ConfigParser.NoSectionError(None))]: - mock_get.side_effect = err - mock_get.reset_mock() - self.assertEqual(dcp.get("section", "option", default="bar"), "bar") - mock_get.assert_called_with(dcp, "section", "option") - - mock_get.reset_mock() - self.assertRaises(etype, dcp.get, "section", "option") - mock_get.assert_called_with(dcp, "section", "option") - - @patch("%s.ConfigParser.getboolean" % ConfigParser.__name__) - def test_getboolean(self, mock_getboolean): - dcp = DefaultConfigParser() - mock_getboolean.return_value = True - self.assertEqual(dcp.getboolean("section", "option"), True) - mock_getboolean.assert_called_with(dcp, "section", "option") - - mock_getboolean.reset_mock() - self.assertEqual(dcp.getboolean("section", "option", - default=False, other="test"), True) - mock_getboolean.assert_called_with(dcp, "section", "option", - other="test") - - for etype, err in [(ConfigParser.NoOptionError, - ConfigParser.NoOptionError(None, None)), - (ConfigParser.NoSectionError, - ConfigParser.NoSectionError(None))]: - mock_getboolean.side_effect = err - mock_getboolean.reset_mock() - self.assertEqual(dcp.getboolean("section", "option", default=False), - False) - mock_getboolean.assert_called_with(dcp, "section", "option") - - mock_getboolean.reset_mock() - self.assertRaises(etype, dcp.getboolean, "section", "option") - mock_getboolean.assert_called_with(dcp, "section", "option") - - -class TestOption(Bcfg2TestCase): - def test__init(self): - self.assertRaises(OptionFailure, - Option, - 'foo', False, cmd='f') - self.assertRaises(OptionFailure, - Option, - 'foo', False, cmd='--f') - self.assertRaises(OptionFailure, - Option, - 'foo', False, cmd='-foo') - self.assertRaises(OptionFailure, - Option, - 'foo', False, cmd='-foo', long_arg=True) - opt = Option('foo', False) - self.assertTrue(opt.boolean) - opt = Option('foo', False, odesc='<val>') - self.assertFalse(opt.boolean) - opt = Option('foo', False, cook=get_bool) - self.assertFalse(opt.boolean) - opt = Option('foo', "foo") - self.assertFalse(opt.boolean) - - def test_get_cooked_value(self): - opt = Option('foo', False) - opt.boolean = True - self.assertTrue(opt.get_cooked_value("anything")) - - opt = Option('foo', 'foo') - opt.boolean = False - opt.cook = False - self.assertEqual("foo", opt.get_cooked_value("foo")) - - opt = Option('foo', 'foo') - opt.boolean = False - opt.cook = Mock() - self.assertEqual(opt.cook.return_value, opt.get_cooked_value("foo")) - opt.cook.assert_called_with("foo") - - def test_buildHelpMessage(self): - opt = Option('foo', False) - self.assertEqual(opt.buildHelpMessage(), '') - - opt = Option('foo', False, '-f') - self.assertEqual(opt.buildHelpMessage().split(), - ["-f", "foo"]) - - opt = Option('foo', False, cmd="--foo", long_arg=True) - self.assertEqual(opt.buildHelpMessage().split(), - ["--foo", "foo"]) - - opt = Option('foo', False, cmd="-f", odesc='<val>') - self.assertEqual(opt.buildHelpMessage().split(), - ["-f", "<val>", "foo"]) - - opt = Option('foo', False, cmd="--foo", long_arg=True, odesc='<val>') - self.assertEqual(opt.buildHelpMessage().split(), - ["--foo=<val>", "foo"]) - - def test_buildGetopt(self): - opt = Option('foo', False) - self.assertEqual(opt.buildGetopt(), '') - - opt = Option('foo', False, '-f') - self.assertEqual(opt.buildGetopt(), "f") - - opt = Option('foo', False, cmd="--foo", long_arg=True) - self.assertEqual(opt.buildGetopt(), '') - - opt = Option('foo', False, cmd="-f", odesc='<val>') - self.assertEqual(opt.buildGetopt(), 'f:') - - opt = Option('foo', False, cmd="--foo", long_arg=True, odesc='<val>') - self.assertEqual(opt.buildGetopt(), '') - - def test_buildLongGetopt(self): - opt = Option('foo', False, cmd="--foo", long_arg=True) - self.assertEqual(opt.buildLongGetopt(), 'foo') - - opt = Option('foo', False, cmd="--foo", long_arg=True, odesc='<val>') - self.assertEqual(opt.buildLongGetopt(), 'foo=') - - def test_parse(self): - cf = ('communication', 'password') - o = Option('foo', default='test4', cmd='-F', env='TEST2', - odesc='bar', cf=cf) - o.parse([], ['-F', 'test']) - self.assertEqual(o.value, 'test') - o.parse([('-F', 'test2')], []) - self.assertEqual(o.value, 'test2') - - os.environ['TEST2'] = 'test3' - o.parse([], []) - self.assertEqual(o.value, 'test3') - del os.environ['TEST2'] - - cfp = DefaultConfigParser() - cfp.get = Mock() - cfp.get.return_value = 'test5' - o.parse([], [], configparser=cfp) - cfp.get.assert_any_call(*cf) - self.assertEqual(o.value, 'test5') - - o.cf = False - o.parse([], []) - assert o.value == 'test4' - - -class TestOptionSet(Bcfg2TestCase): - def test_buildGetopt(self): - opts = [('foo', Option('foo', 'test1', cmd='-G')), - ('bar', Option('foo', 'test2')), - ('baz', Option('foo', 'test1', cmd='-H', - odesc='1'))] - oset = OptionSet(opts) - res = oset.buildGetopt() - self.assertIn('H:', res) - self.assertIn('G', res) - self.assertEqual(len(res), 3) - - def test_buildLongGetopt(self): - opts = [('foo', Option('foo', 'test1', cmd='-G')), - ('bar', Option('foo', 'test2')), - ('baz', Option('foo', 'test1', cmd='--H', - odesc='1', long_arg=True))] - oset = OptionSet(opts) - res = oset.buildLongGetopt() - self.assertIn('H=', res) - self.assertEqual(len(res), 1) - - def test_parse(self): - opts = [('foo', Option('foo', 'test1', cmd='-G')), - ('bar', Option('foo', 'test2')), - ('baz', Option('foo', 'test1', cmd='-H', - odesc='1'))] - oset = OptionSet(opts) - self.assertRaises(SystemExit, - oset.parse, - ['-G', '-H']) - oset2 = OptionSet(opts) - self.assertRaises(SystemExit, - oset2.parse, - ['-h']) - oset3 = OptionSet(opts) - oset3.parse(['-G']) - self.assertTrue(oset3['foo']) - - -class TestOptionParser(Bcfg2TestCase): - def test__init(self): - opts = [('foo', Option('foo', 'test1', cmd='-h')), - ('bar', Option('foo', 'test2')), - ('baz', Option('foo', 'test1', cmd='-H', - odesc='1'))] - oset1 = OptionParser(opts) - self.assertEqual(oset1.cfile, - DEFAULT_CONFIG_LOCATION) - sys.argv = ['foo', '-C', '/usr/local/etc/bcfg2.conf'] - oset2 = OptionParser(opts) - self.assertEqual(oset2.cfile, - '/usr/local/etc/bcfg2.conf') - sys.argv = [] - oset3 = OptionParser(opts) - self.assertEqual(oset3.cfile, - DEFAULT_CONFIG_LOCATION) |