Пример #1
0
class TestSBToolsMethods(unittest.TestCase):
    """
    Unit tests for the SBTools class.
    """
    def setUp(self):
        self.sbtools = SBTools()

    def test001_init(self):
        self.assertEqual(self.sbtools.tcmdlist, [])
        self.assertEqual(self.sbtools.cmdmap, {})
        self.assertEqual(self.sbtools.namemap, {})

    def test002_init_parser(self):
        self.assertEqual(self.sbtools.parser.get_version(), "sbtools 0.5")
        self.assertEqual(self.sbtools.parser.get_usage().strip(), "Usage: sbtools <subcommand> [options] [args]")

    def test003_parse_options_no_subcommand(self):
        saved_argv = sys.argv
        sys.argv = ['sbtools']
        # Make sure the expected exception is raised.
        self.assertRaises(sbtools.NoSubcommandError, self.sbtools.parse_options)
        sys.argv = saved_argv

    def test004_parse_options_unknown_subcommand(self):
        saved_argv = sys.argv
        sys.argv = ['sbtools', 'unknown-sc']
        # Make sure the expected exception is raised.
        self.assertRaises(sbtools.UnknownSubcommandError, self.sbtools.parse_options)

        # Make sure the expected message is included with the exception.
        try:
            self.sbtools.parse_options()
        except sbtools.UnknownSubcommandError, msg:
            self.assertEqual(str(msg), 'unknown-sc')
        sys.argv = saved_argv