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)
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:])
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:])
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)
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)
def _parse(command, args): parser = OptionParser() opts = parser.parse_main_args(args) opts = parser.parse_command_args(command, args) return parser, opts
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)
def setUp(self): self.cli_commands = {} self.parser = OptionParser() self.parser._ = dnf.pycomp.NullTranslations().ugettext self.cli = mock.Mock()
def setUp(self): super(GroupCommandTest, self).setUp() self.cmd = group.GroupCommand(self.base.mock_cli()) self.parser = OptionParser()
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)
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)
def setUp(self): base = support.MockBase("main") base.read_mock_comps() base.init_sack() self.cmd = group.GroupCommand(base.mock_cli()) self.parser = OptionParser()
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'])
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)