Esempio n. 1
0
 def test__run__without_command(self):
     main = app_.App()
     arguments = mock.Mock(spec=[])
     with mock.patch.object(app_.App, 'parser') as parser, \
          mock.patch('sys.argv', ['prog','arg1','arg2']) as argv:
         parser.parse_args = mock.Mock(return_value = arguments)
         parser.print_help = mock.Mock(return_value = 'ok')
         main = app_.App()
         self.assertEqual(main.run(), 'ok')
         parser.parse_args.assert_called_once_with(argv[1:])
         parser.print_help.assert_called_once_with()
Esempio n. 2
0
 def test__add_subcommands(self):
     cmd_instance = mock.Mock()
     cmd_klass = mock.Mock(return_value = cmd_instance)
     subparsers = mock.Mock()
     main = app_.App()
     with mock.patch.object(app_.App, 'add_subcommand') as add_subcommand, \
          mock.patch.object(app_.App, 'subcommands', [cmd_klass]):
              self.assertIsNone(main.add_subcommands(subparsers))
              add_subcommand.assert_called_once_with(subparsers, cmd_instance)
Esempio n. 3
0
 def test__init__(self):
     parser = mock.Mock()
     subparsers = mock.Mock()
     parser.add_subparsers = mock.Mock(return_value = subparsers)
     with mock.patch.object(app_.App, 'add_arguments') as add_arguments, \
          mock.patch.object(app_.App, 'set_defaults') as set_defaults, \
          mock.patch.object(app_.App, 'add_subcommands') as add_subcommands, \
          mock.patch.object(argparse, 'ArgumentParser', return_value = parser) as ArgumentParser:
         main = app_.App()
         self.assertIs(main.parser, parser)
         self.assertIs(main.subparsers, subparsers)
         add_arguments.assert_called_once_with(parser)
         set_defaults.assert_called_once_with(parser)
         add_subcommands.assert_called_once_with(subparsers)
Esempio n. 4
0
    def test__add_subcommand(self):
        subparsers = mock.Mock()
        subparser1 = mock.Mock()
        subparser1.set_defaults = mock.Mock()
        subparsers.add_parser = mock.Mock(return_value = subparser1)
        command = mock.Mock()
        command.name = 'cmd'
        command.properties = dict()
        command.add_arguments = mock.Mock()
        command.set_defaults = mock.Mock()

        main = app_.App()
        self.assertIsNone(main.add_subcommand(subparsers, command))
        subparsers.add_parser.assert_called_once_with(command.name, **command.properties)
        command.add_arguments.assert_called_once_with(subparser1)
        command.set_defaults.assert_called_once_with(subparser1)
        subparser1.set_defaults.assert_called_once_with(command=command)
Esempio n. 5
0
 def test__set_defaults(self):
     parser = mock.Mock()
     self.assertIsNone(app_.App().set_defaults(parser))
Esempio n. 6
0
 def test__add_arguments(self):
     parser = mock.Mock()
     self.assertIsNone(app_.App().add_arguments(parser))
Esempio n. 7
0
 def test__subcommands(self):
     self.assertEqual(app_.App().subcommands, [])
Esempio n. 8
0
 def test__subproperties(self):
     main = app_.App()
     self.assertEqual(main.subproperties['title'], 'commands')
Esempio n. 9
0
 def test__properties(self):
     self.assertEqual(app_.App().properties, dict())
Esempio n. 10
0
 def test__subparsers(self):
     main = app_.App()
     self.assertIsNotNone(main.subparsers)
     self.assertTrue(hasattr(main.subparsers, 'add_parser'))
Esempio n. 11
0
 def test__parser(self):
     main = app_.App()
     self.assertIsInstance(main.parser, argparse.ArgumentParser)