Exemplo n.º 1
0
    def test_add_arguments(self):
        """
        Testing adding arguments specified to command.
        """
        args = {
            ('-l', '--lang'): {
                'type': str,
                'default': 'english',
                'metavar': 'LANG',
                'choices': ['english', 'french', 'spanish'],
                'help': 'the language of the greeting',
            },
            'name': {
                'nargs': "+",
                'type': str,
                'help': 'the name to greet you by'
            }
        }

        cmd = Command(args=args)

        # Create subparsers
        primary = argparse.ArgumentParser()
        subparsers = primary.add_subparsers()

        # Create the parser
        parser = cmd.create_parser(subparsers)
        args = parser.parse_args(['--lang', 'french', 'jean', 'franc'])

        self.assertEqual(args.lang, 'french')
        self.assertEqual(args.name, ['jean', 'franc'])
Exemplo n.º 2
0
 def test_handle_interface(self):
     """
     Assert that handle raises an interface error.
     """
     with self.assertRaises(NotImplementedError):
         cmd = Command()
         cmd.handle({})
Exemplo n.º 3
0
 def test_add_argument_failure(self):
     """
     Assert error on adding args without a parser.
     """
     with self.assertRaises(TypeError):
         cmd = Command()
         cmd.add_arguments()
Exemplo n.º 4
0
 def test_handle_interface(self):
     """
     Assert that handle raises an interface error.
     """
     with self.assertRaises(NotImplementedError):
         cmd = Command()
         cmd.handle({})
Exemplo n.º 5
0
    def test_add_arguments(self):
        """
        Testing adding arguments specified to command.
        """
        args    = {
            ('-l', '--lang'): {
                'type': str,
                'default': 'english',
                'metavar': 'LANG',
                'choices': ['english', 'french', 'spanish'],
                'help': 'the language of the greeting',
            },
            'name': {
                'nargs': "+",
                'type': str,
                'help': 'the name to greet you by'
            }
        }

        cmd = Command(args=args)

        # Create subparsers
        primary = argparse.ArgumentParser()
        subparsers = primary.add_subparsers()

        # Create the parser
        parser = cmd.create_parser(subparsers)
        args = parser.parse_args(['--lang', 'french', 'jean', 'franc'])

        self.assertEqual(args.lang, 'french')
        self.assertEqual(args.name, ['jean', 'franc'])
Exemplo n.º 6
0
 def test_add_argument_failure(self):
     """
     Assert error on adding args without a parser.
     """
     with self.assertRaises(TypeError):
         cmd = Command()
         cmd.add_arguments()
Exemplo n.º 7
0
    def test_empty_create_parser(self):
        """
        Can create an empty command parser.
        """
        cmd = Command()
        self.assertIsNone(cmd.parser)

        # Create subparsers
        primary = argparse.ArgumentParser()
        subparsers = primary.add_subparsers()

        # Create the parser
        parser = cmd.create_parser(subparsers)
        self.assertIsNotNone(cmd.parser)

        args = parser.parse_args([])
        self.assertEqual(args.func, cmd.handle)
Exemplo n.º 8
0
    def test_empty_create_parser(self):
        """
        Can create an empty command parser.
        """
        cmd = Command()
        self.assertIsNone(cmd.parser)

        # Create subparsers
        primary = argparse.ArgumentParser()
        subparsers = primary.add_subparsers()

        # Create the parser
        parser = cmd.create_parser(subparsers)
        self.assertIsNotNone(cmd.parser)

        args = parser.parse_args([])
        self.assertEqual(args.func, cmd.handle)