Ejemplo n.º 1
0
    def test_adds_all_subcommands(self):
        """
        make_subparser should add all subcommands when called.
        """
        make_parser()

        flattened_calls = list(
            itertools.chain(*itertools.chain(
                *self.mock_subparser.add_parser.call_args_list)))
        for command in subcommands:
            self.assertIn(command, flattened_calls)
Ejemplo n.º 2
0
    def test_add_default_help(self):
        """
        make_subparser should add a default to print usage when caled.
        """
        make_parser()

        # NOTE: You can't compare lambdas made in different scopes
        self.assertTrue(self.mock_parser.set_defaults.called)
        self.assertFalse(self.mock_parser.print_usage.called)

        mock_args = self.mock_parser.parse_args.return_value
        mock_args.version = False

        _, kwargs = self.mock_parser.set_defaults.call_args
        kwargs['run'](mock_args)
        self.assertTrue(self.mock_parser.print_usage.called)
Ejemplo n.º 3
0
 def test_creates_argument_parser(self):
     """
     make_parser should create an ArgumentParser when called.
     """
     make_parser()
     self.assertTrue(self.mock_argparse.ArgumentParser.called)