Esempio n. 1
0
            self.assertTrue('[cloud "cld1"]' in cld)
            cld1_i = cld.index('[cloud "cld1"]')
            cld1 = cld[cld1_i:cld1_i + 3]
            self.assertTrue('url = url1' in cld1)
            self.assertTrue('token = token1' in cld1)

            self.assertTrue('[cloud "cld2"]' in cld)
            cld2_i = cld.index('[cloud "cld2"]')
            self.assertEqual(u'url = \u03bf\u03c5\u03b1\u03c1\u03ad\u03bb',
                             cld[cld2_i + 1])
        finally:
            Config.items = bu_func

    @patch('kamaki.cli.config.Config.safe_to_print', return_value='rv')
    def test_write(self, stp):
        from kamaki.cli.config import Config
        _cnf = Config(path=self.f.name)
        exp = '%s%s' % (HEADER, 'rv')
        _cnf.write()
        self.f.seek(0)
        self.assertEqual(self.f.read(), exp)
        stp.assert_called_once_with()
        del _cnf


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Config, 'Config', argv[1:])
Esempio n. 2
0
            apm.update_arguments(None)
            self.assertEqual(len(UP.mock_calls), 0)
            apm._arguments = inp
            apm.update_arguments(cor)
            assert_dicts_are_equal(self, apm.arguments, exp)
            UP.assert_called_once_with()

    def test_parse(self):
        apm = argument.ArgumentParseManager('exe', {})
        parsed, unparsed = apm.parser.parse_known_args()
        apm.parse()
        self.assertEqual(apm._parsed, parsed)
        self.assertEqual(apm.unparsed, unparsed)


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Argument, 'Argument', argv[1:])
    runTestCase(ConfigArgument, 'ConfigArgument', argv[1:])
    runTestCase(RuntimeConfigArgument, 'RuntimeConfigArgument', argv[1:])
    runTestCase(FlagArgument, 'FlagArgument', argv[1:])
    runTestCase(FlagArgument, 'ValueArgument', argv[1:])
    runTestCase(IntArgument, 'IntArgument', argv[1:])
    runTestCase(DateArgument, 'DateArgument', argv[1:])
    runTestCase(VersionArgument, 'VersionArgument', argv[1:])
    runTestCase(RepeatableArgument, 'RepeatableArgument', argv[1:])
    runTestCase(KeyValueArgument, 'KeyValueArgument', argv[1:])
    runTestCase(ProgressBarArgument, 'ProgressBarArgument', argv[1:])
    runTestCase(ArgumentParseManager, 'ArgumentParseManager', argv[1:])
Esempio n. 3
0
File: test.py Progetto: grnet/kamaki
            apm.update_arguments(None)
            self.assertEqual(len(UP.mock_calls), 0)
            apm._arguments = inp
            apm.update_arguments(cor)
            assert_dicts_are_equal(self, apm.arguments, exp)
            UP.assert_called_once_with()

    def test_parse(self):
        apm = argument.ArgumentParseManager('exe', {})
        parsed, unparsed = apm.parser.parse_known_args()
        apm.parse()
        self.assertEqual(apm._parsed, parsed)
        self.assertEqual(apm.unparsed, unparsed)


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Argument, 'Argument', argv[1:])
    runTestCase(ConfigArgument, 'ConfigArgument', argv[1:])
    runTestCase(RuntimeConfigArgument, 'RuntimeConfigArgument', argv[1:])
    runTestCase(FlagArgument, 'FlagArgument', argv[1:])
    runTestCase(FlagArgument, 'ValueArgument', argv[1:])
    runTestCase(IntArgument, 'IntArgument', argv[1:])
    runTestCase(DateArgument, 'DateArgument', argv[1:])
    runTestCase(VersionArgument, 'VersionArgument', argv[1:])
    runTestCase(RepeatableArgument, 'RepeatableArgument', argv[1:])
    runTestCase(KeyValueArgument, 'KeyValueArgument', argv[1:])
    runTestCase(ProgressBarArgument, 'ProgressBarArgument', argv[1:])
    runTestCase(ArgumentParseManager, 'ArgumentParseManager', argv[1:])
Esempio n. 4
0
        _cnf.write()
        self.f.seek(0)
        self.assertEqual(self.f.read(), exp)

        del _cnf
        with NamedTemporaryFile() as f:
            f.write('\n'.join(self.config_file_content))
            f.flush()
            _cnf = Config(path=f.name)
            f.seek(0)
            self.assertEqual(f.read(), '\n'.join(self.config_file_content))
            _cnf.write()
            f.seek(0)
            file_contents = f.read()
            for line in self.config_file_content:
                self.assertTrue(line in file_contents)
            _cnf.set('sec', 'opt', 'val')
            _cnf.set('global', 'opt', 'val')
            _cnf.set('global', 'file_cli', 'val')
            _cnf.write()
            f.seek(0)
            file_contents = f.read()
            for line in ('file_cli = val\n', '[sec]\n', 'opt = val\n'):
                self.assertTrue(line in file_contents)


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Config, 'Config', argv[1:])
Esempio n. 5
0
            tmp1, tmp2 = dict(d), dict(d)
            remove_from_items([tmp1, tmp2], k)
            self.assert_dicts_are_equal(tmp1, tmp2)

    def test_filter_dicts_by_dict(self):
        from kamaki.cli.utils import filter_dicts_by_dict

        dlist = [
            dict(k1='v1', k2='v2', k3='v3'),
            dict(k1='v1'),
            dict(k2='v2', k3='v3'),
            dict(k1='V1', k3='V3'),
            dict()]
        for l, f, em, cs, exp in (
                (dlist, dlist[2], True, False, dlist[0:1] + dlist[2:3]),
                (dlist, dlist[1], True, False, dlist[0:2] + dlist[3:4]),
                (dlist, dlist[1], True, True, dlist[0:2]),
                (dlist, {'k3': 'v'}, True, False, []),
                (dlist, {'k3': 'v'}, False, False, dlist[0:1] + dlist[2:4]),
                (dlist, {'k3': 'v'}, False, True, dlist[0:1] + dlist[2:3]),
                (dlist, {'k3': 'v'}, True, True, []),
                (dlist, dlist[4], True, False, dlist),
                ):
            self.assertEqual(exp, filter_dicts_by_dict(l, f, em, cs))


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(UtilsMethods, 'UtilsMethods', argv[1:])
Esempio n. 6
0
            l1.sort(), l2.sort(), self.assertEqual(l1, l2)
        self.assertRaises(KeyError, ctree.subnames, 'NON_EXISTNG_CMD')

    def test_get_subcommands(self):
        ctree = cmdtree.CommandTree('treeSub', 'test get_subcommands')
        self.assertEqual(ctree.get_subcommands(), [])
        self.assertRaises(KeyError, ctree.get_subcommands, 'cmd')
        self._add_commands(ctree)
        for s1, l2 in (('', ['cmd', 'othercmd']), ('cmd', [
                'cmd0a', 'cmd0b', 'cmd0c'
        ]), ('cmd_cmd0a', ['cmd1a', 'cmd1b']), ('cmd_cmd0a_cmd1a', [
                'cmd2',
        ]), ('cmd_cmd0a_cmd1b', [
                'cmd2',
        ]), ('cmd_cmd0a_cmd1a_cmd2', []), ('cmd_cmd0a_cmd1b_cmd2', []),
                       ('cmd_cmd0b', []), ('cmd_cmd0c', ['cmd1a', 'cmd1b']),
                       ('cmd_cmd0c_cmd1a', []), ('cmd_cmd0c_cmd1b', [
                           'cmd2',
                       ]), ('cmd_cmd0c_cmd1b_cmd2', []), ('othercmd', [])):
            l1 = [cmd.path for cmd in ctree.get_subcommands(s1)]
            l2 = ['_'.join([s1, i]) for i in l2] if s1 else l2
            l1.sort(), l2.sort(), self.assertEqual(l1, l2)
        self.assertRaises(KeyError, ctree.get_subcommands, 'NON_EXISTNG_CMD')


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Command, 'Command', argv[1:])
    runTestCase(CommandTree, 'CommandTree', argv[1:])
Esempio n. 7
0
File: test.py Progetto: grnet/kamaki
    def test_get_subcommands(self):
        ctree = cmdtree.CommandTree('treeSub', 'test get_subcommands')
        self.assertEqual(ctree.get_subcommands(), [])
        self.assertRaises(KeyError, ctree.get_subcommands, 'cmd')
        self._add_commands(ctree)
        for s1, l2 in (
                ('', ['cmd', 'othercmd']),
                ('cmd', ['cmd0a', 'cmd0b', 'cmd0c']),
                ('cmd_cmd0a', ['cmd1a', 'cmd1b']),
                ('cmd_cmd0a_cmd1a', ['cmd2', ]),
                ('cmd_cmd0a_cmd1b', ['cmd2', ]),
                ('cmd_cmd0a_cmd1a_cmd2', []),
                ('cmd_cmd0a_cmd1b_cmd2', []),
                ('cmd_cmd0b', []),
                ('cmd_cmd0c', ['cmd1a', 'cmd1b']),
                ('cmd_cmd0c_cmd1a', []),
                ('cmd_cmd0c_cmd1b', ['cmd2', ]),
                ('cmd_cmd0c_cmd1b_cmd2', []),
                ('othercmd', [])):
            l1 = [cmd.path for cmd in ctree.get_subcommands(s1)]
            l2 = ['_'.join([s1, i]) for i in l2] if s1 else l2
            l1.sort(), l2.sort(), self.assertEqual(l1, l2)
        self.assertRaises(KeyError, ctree.get_subcommands, 'NON_EXISTNG_CMD')


if __name__ == '__main__':
    from sys import argv
    from kamaki.cli.test import runTestCase
    runTestCase(Command, 'Command', argv[1:])
    runTestCase(CommandTree, 'CommandTree', argv[1:])