Esempio n. 1
0
 def test_configure_from_options(self):
     parser = OptionParser()
     opts, _ = parser.parse_known_args(['update', '-y', '--allowerasing'])
     conf = dnf.util.Bunch()
     conf.color = 'auto'
     demands = dnf.util.Bunch()
     parser.configure_from_options(opts, conf, demands, None)
     self.assertTrue(demands.allow_erasing)
     self.assertTrue(conf.assumeyes)
Esempio n. 2
0
 def test_configure_from_options(self):
     parser = OptionParser()
     opts, _ = parser.parse_known_args(['update', '-y', '--allowerasing'])
     conf = dnf.util.Bunch()
     conf.color = 'auto'
     demands = dnf.util.Bunch()
     parser.configure_from_options(opts, conf, demands, None)
     self.assertTrue(demands.allow_erasing)
     self.assertTrue(conf.assumeyes)
Esempio n. 3
0
    def test_canonical(self):
        cmd = group.GroupCommand(tests.support.mock.MagicMock())

        for args, out in [
                (['grouplist', 'crack'], ['list', 'crack']),
                (['groups'], ['summary']),
                (['group', 'info', 'crack'], ['info', 'crack']),
                (['group', 'update', 'crack'], ['upgrade', 'crack'])]:
            parser = OptionParser()
            parser.parse_main_args(args)
            parser.parse_command_args(cmd, args)
            cmd._canonical()
            self.assertEqual(cmd.opts.subcmd, out[0])
            self.assertEqual(cmd.opts.args, out[1:])
Esempio n. 4
0
    def test_canonical(self):
        cmd = group.GroupCommand(support.mock.MagicMock())

        for args, out in [(['grouplist', 'crack'], ['list', 'crack']),
                          (['groups'], ['summary']),
                          (['group', 'info', 'crack'], ['info', 'crack']),
                          (['group', 'update', 'crack'], ['upgrade',
                                                          'crack'])]:
            parser = OptionParser()
            parser.parse_main_args(args)
            parser.parse_command_args(cmd, args)
            cmd._canonical()
            self.assertEqual(cmd.opts.subcmd, out[0])
            self.assertEqual(cmd.opts.args, out[1:])
Esempio n. 5
0
    def test_run(self):
        base = support.MockBase()
        q = base.sack.query()
        pkgs = list(q.filter(name='librita')) + list(q.filter(name='pepper'))
        yumdb = base._yumdb
        for pkg in pkgs:
            yumdb.get_package(pkg).reason = 'dep'

        cli = base.mock_cli()
        cmd = autoremove.AutoremoveCommand(cli)
        parser = OptionParser()
        parser.parse_main_args(['autoremove', '-y'])
        parser.parse_command_args(cmd, ['autoremove', '-y'])
        cmd.run()
        inst, rem = self.installed_removed(base)
        self.assertEmpty(inst)
        removed = ('librita-1-1.i686', 'librita-1-1.x86_64', 'pepper-20-0.x86_64')
        self.assertCountEqual((map(str, rem)), removed)
Esempio n. 6
0
    def test_run(self):
        q = self.base.sack.query()
        pkgs = list(q.filter(name='librita')) + list(q.filter(name='pepper'))
        for pkg in pkgs:
            self.history.set_reason(pkg, SwdbReason.USER)

        cmd = autoremove.AutoremoveCommand(self.cli)
        parser = OptionParser()
        parser.parse_main_args(['autoremove', '-y'])
        parser.parse_command_args(cmd, ['autoremove', '-y'])
        cmd.run()

        inst, rem = self.installed_removed(self.base)
        self.assertEmpty(inst)
        removed = ('librita-1-1.i686',
                   'librita-1-1.x86_64',
                   'pepper-20-0.x86_64')
        self.assertCountEqual((map(str, pkgs)), removed)
Esempio n. 7
0
def _parse(command, args):
    parser = OptionParser()
    opts = parser.parse_main_args(args)
    opts = parser.parse_command_args(command, args)
    return parser, opts
Esempio n. 8
0
class OptionParserAddCmdTest(support.TestCase):

    def setUp(self):
        self.cli_commands = {}
        self.parser = OptionParser()
        self.parser._ = dnf.pycomp.NullTranslations().ugettext
        self.cli = mock.Mock()

    def _register_command(self, command_cls):
        """ helper for simulate dnf.cli.cli.Cli.register_Command()"""
        for name in command_cls.aliases:
            self.cli_commands[name] = command_cls

    def test_add_commands(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        name = cmd.aliases[0]
        self.assertTrue(name in self.parser._cmd_usage)
        group, summary = self.parser._cmd_usage[name]
        self.assertEqual(group, 'main')
        self.assertEqual(summary, cmd.summary)
        self.assertEqual(self.parser._cmd_groups, set(['main']))

    def test_add_commands_only_once(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_usage.keys()), 1)
        self.assertEqual(self.parser._cmd_groups, set(['main']))

    def test_cmd_groups(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd = MyTestCommand2(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_groups), 2)
        self.assertEqual(self.parser._cmd_groups, set(['main', 'plugin']))

    def test_help_option_set(self):
        opts = self.parser.parse_main_args(['-h'])
        self.assertTrue(opts.help)

    def test_help_option_notset(self):
        opts = self.parser.parse_main_args(['foo', 'bar'])
        self.assertFalse(opts.help)

    def test_get_usage(self):
        output = [
            u'dnf [options] COMMAND',
            u'',
            u'List of Main Commands',
            u'',
            u'test-cmd                  summary',
            u'',
            u'List of Plugin Commands',
            u'',
            u'test-cmd2                 summary2',
            u'']
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd2 = MyTestCommand2(self.cli)
        self._register_command(cmd2)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_usage.keys()), 2)
        usage = self.parser.get_usage().split('\n')
        self.assertEqual(usage, output)
Esempio n. 9
0
 def setUp(self):
     self.cli_commands = {}
     self.parser = OptionParser()
     self.parser._ = dnf.pycomp.NullTranslations().ugettext
     self.cli = mock.Mock()
Esempio n. 10
0
 def setUp(self):
     super(GroupCommandTest, self).setUp()
     self.cmd = group.GroupCommand(self.base.mock_cli())
     self.parser = OptionParser()
Esempio n. 11
0
def _parse(command, args):
    parser = OptionParser()
    opts = parser.parse_main_args(args)
    opts = parser.parse_command_args(command, args)
    return parser, opts
Esempio n. 12
0
 def setUp(self):
     self.cli_commands = {}
     self.parser = OptionParser()
     self.parser._ = dnf.pycomp.NullTranslations().ugettext
     self.cli = mock.Mock()
Esempio n. 13
0
 def test_parse(self):
     parser = OptionParser()
     opts, cmds = parser.parse_known_args(['update', '--nogpgcheck'])
     self.assertEqual(cmds, ['update'])
     self.assertTrue(opts.nogpgcheck)
     self.assertIsNone(opts.color)
Esempio n. 14
0
 def test_configure(self):
     parser = OptionParser()
     parser.parse_main_args(['autoremove', '-y'])
     parser.parse_command_args(self.cmd, ['autoremove', '-y'])
     self.cmd.configure()
     self.assertTrue(self.cmd.cli.demands.allow_erasing)
Esempio n. 15
0
 def setUp(self):
     base = support.MockBase("main")
     base.read_mock_comps()
     base.init_sack()
     self.cmd = group.GroupCommand(base.mock_cli())
     self.parser = OptionParser()
Esempio n. 16
0
 def test_non_nones2dict(self):
     parser = OptionParser()
     values = parser.parse_args(args=['-y'])
     self.assertIsInstance(values, argparse.Namespace)
     dct = parser._non_nones2dict(values.__dict__)
     self.assertTrue(dct['assumeyes'])
Esempio n. 17
0
 def test_parse(self):
     parser = OptionParser()
     opts, cmds = parser.parse_known_args(['update', '--nogpgcheck'])
     self.assertEqual(cmds, ['update'])
     self.assertTrue(opts.nogpgcheck)
     self.assertIsNone(opts.color)
Esempio n. 18
0
 def test_non_nones2dict(self):
     parser = OptionParser()
     values = parser.parse_args(args=['-y'])
     self.assertIsInstance(values, argparse.Namespace)
     dct = parser._non_nones2dict(values.__dict__)
     self.assertTrue(dct['assumeyes'])
Esempio n. 19
0
 def test_configure(self):
     parser = OptionParser()
     parser.parse_main_args(['autoremove', '-y'])
     parser.parse_command_args(self.cmd, ['autoremove', '-y'])
     self.cmd.configure()
     self.assertTrue(self.cmd.cli.demands.allow_erasing)
Esempio n. 20
0
class OptionParserAddCmdTest(tests.support.TestCase):
    def setUp(self):
        self.cli_commands = {}
        self.parser = OptionParser()
        self.parser._ = dnf.pycomp.NullTranslations().ugettext
        self.cli = mock.Mock()

    def _register_command(self, command_cls):
        """ helper for simulate dnf.cli.cli.Cli.register_Command()"""
        for name in command_cls.aliases:
            self.cli_commands[name] = command_cls

    def test_add_commands(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        name = cmd.aliases[0]
        self.assertTrue(name in self.parser._cmd_usage)
        group, summary = self.parser._cmd_usage[name]
        self.assertEqual(group, 'main')
        self.assertEqual(summary, cmd.summary)
        self.assertEqual(self.parser._cmd_groups, set(['main']))

    def test_add_commands_only_once(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_usage.keys()), 1)
        self.assertEqual(self.parser._cmd_groups, set(['main']))

    def test_cmd_groups(self):
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd = MyTestCommand2(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_groups), 2)
        self.assertEqual(self.parser._cmd_groups, set(['main', 'plugin']))

    def test_help_option_set(self):
        opts = self.parser.parse_main_args(['-h'])
        self.assertTrue(opts.help)

    def test_help_option_notset(self):
        opts = self.parser.parse_main_args(['foo', 'bar'])
        self.assertFalse(opts.help)

    def test_get_usage(self):
        parser = argparse.ArgumentParser()
        output = [
            u'%s [options] COMMAND' % parser.prog, u'',
            u'List of Main Commands:', u'',
            u'test-cmd                  summary', u'',
            u'List of Plugin Commands:', u'',
            u'test-cmd2                 summary2', u''
        ]
        cmd = MyTestCommand(self.cli)
        self._register_command(cmd)
        self.parser.add_commands(self.cli_commands, "main")
        cmd2 = MyTestCommand2(self.cli)
        self._register_command(cmd2)
        self.parser.add_commands(self.cli_commands, "plugin")
        self.assertEqual(len(self.parser._cmd_usage.keys()), 2)
        usage = self.parser.get_usage().split('\n')
        self.assertEqual(usage, output)