Esempio n. 1
0
class TestSubcommands(unittest.TestCase):
    """Workspace subcommands test suite."""
    subcmds = None
    mocks = {}

    def setUp(self):
        """Setup test suite."""
        self.mocks["subcmd"] = Mock()
        self.mocks["subcmd"].setup.return_value = None
        self.mocks["subcmd"].parse.return_value = None
        self.mocks["subcmd"].execute.return_value = None

        self.mocks["config"] = Mock()
        self.subcmds = Subcommands(self.mocks["config"])

    def tearDown(self):
        """Tear down test suite."""
        self.mocks = None
        self.subcmds = None

    def test_add_command(self):
        """Test add subcommand."""
        self.subcmds.add_command(self.mocks["subcmd"])

        self.assertTrue("mock" in self.subcmds.commands)
        self.assertEqual(self.mocks["subcmd"], self.subcmds.commands["mock"])

    def test_parse(self):
        """Test parse subcommand."""
        self.subcmds.commands = {"Mock": self.mocks["subcmd"]}
        self.subcmds.parse()
        self.mocks["subcmd"].parse.assert_called_once()

    def test_execute(self):
        """Test execute subcommand."""
        args = Mock()
        args.subcommand = "Mock"
        self.subcmds.commands = {"Mock": self.mocks["subcmd"]}
        self.subcmds.execute(args)
        self.mocks["subcmd"].execute.assert_called_once()

    def test_execute_without_subcommand(self):
        """Test execute without subcommand."""
        args = Mock()
        args.subcommand = None
        self.subcmds.commands = {"Mock": self.mocks["subcmd"]}
        self.assertIsNone(self.subcmds.execute(args))
        self.mocks["subcmd"].execute.assert_called_once()

    def test_execute_with_wrong_command(self):
        """Test execute with wrong subcommand."""
        args = Mock()
        args.subcommand = "fake"
        self.subcmds.commands = {"Mock": self.mocks["subcmd"]}
        self.assertIsNone(self.subcmds.execute(args))
        self.mocks["subcmd"].execute.assert_called_once()
Esempio n. 2
0
    def setUp(self):
        """Setup test suite."""
        self.mocks["subcmd"] = Mock()
        self.mocks["subcmd"].setup.return_value = None
        self.mocks["subcmd"].parse.return_value = None
        self.mocks["subcmd"].execute.return_value = None

        self.mocks["config"] = Mock()
        self.subcmds = Subcommands(self.mocks["config"])