示例#1
0
class test_Command(AppCase):

    def test_Error_repr(self):
        x = Error('something happened')
        self.assertIsNotNone(x.status)
        self.assertTrue(x.reason)
        self.assertTrue(str(x))

    def setup(self):
        self.out = WhateverIO()
        self.err = WhateverIO()
        self.cmd = Command(self.app, stdout=self.out, stderr=self.err)

    def test_show_help(self):
        self.cmd.run_from_argv = Mock()
        self.assertEqual(self.cmd.show_help('foo'), EX_USAGE)
        self.cmd.run_from_argv.assert_called_with(
                self.cmd.prog_name, ['foo', '--help']
        )

    def test_error(self):
        self.cmd.out = Mock()
        self.cmd.error('FOO')
        self.assertTrue(self.cmd.out.called)

    def test_out(self):
        f = Mock()
        self.cmd.out('foo', f)
        f.write.assert_called_with('foo\n')
        self.cmd.out('foo\n', f)

    def test_call(self):
        self.cmd.run = Mock()
        self.cmd.run.return_value = None
        self.assertEqual(self.cmd(), EX_OK)

        self.cmd.run.side_effect = Error('error', EX_FAILURE)
        self.assertEqual(self.cmd(), EX_FAILURE)

    def test_run_from_argv(self):
        with self.assertRaises(NotImplementedError):
            self.cmd.run_from_argv('prog', ['foo', 'bar'])
        self.assertEqual(self.cmd.prog_name, 'prog')

    def test_prettify_list(self):
        self.assertEqual(self.cmd.prettify([])[1], '- empty -')
        self.assertIn('bar', self.cmd.prettify(['foo', 'bar'])[1])

    def test_prettify_dict(self):
        self.assertIn('OK',
            str(self.cmd.prettify({'ok': 'the quick brown fox'})[0]))
        self.assertIn('ERROR',
            str(self.cmd.prettify({'error': 'the quick brown fox'})[0]))

    def test_prettify(self):
        self.assertIn('OK', str(self.cmd.prettify('the quick brown')))
        self.assertIn('OK', str(self.cmd.prettify(object())))
        self.assertIn('OK', str(self.cmd.prettify({'foo': 'bar'})))
示例#2
0
class test_Command(AppCase):

    def test_Error_repr(self):
        x = Error("something happened")
        self.assertIsNotNone(x.status)
        self.assertTrue(x.reason)
        self.assertTrue(str(x))

    def setup(self):
        self.out = WhateverIO()
        self.err = WhateverIO()
        self.cmd = Command(self.app, stdout=self.out, stderr=self.err)

    def test_show_help(self):
        self.cmd.run_from_argv = Mock()
        self.assertEqual(self.cmd.show_help("foo"), EX_USAGE)
        self.cmd.run_from_argv.assert_called_with(
                self.cmd.prog_name, ["foo", "--help"]
        )

    def test_error(self):
        self.cmd.out = Mock()
        self.cmd.error("FOO")
        self.assertTrue(self.cmd.out.called)

    def test_out(self):
        f = Mock()
        self.cmd.out("foo", f)
        f.write.assert_called_with("foo\n")
        self.cmd.out("foo\n", f)

    def test_call(self):
        self.cmd.run = Mock()
        self.cmd.run.return_value = None
        self.assertEqual(self.cmd(), EX_OK)

        self.cmd.run.side_effect = Error("error", EX_FAILURE)
        self.assertEqual(self.cmd(), EX_FAILURE)

    def test_run_from_argv(self):
        with self.assertRaises(NotImplementedError):
            self.cmd.run_from_argv("prog", ["foo", "bar"])
        self.assertEqual(self.cmd.prog_name, "prog")

    def test_prettify_list(self):
        self.assertEqual(self.cmd.prettify([])[1], "- empty -")
        self.assertIn("bar", self.cmd.prettify(["foo", "bar"])[1])

    def test_prettify_dict(self):
        self.assertIn("OK",
            str(self.cmd.prettify({"ok": "the quick brown fox"})[0]))
        self.assertIn("ERROR",
            str(self.cmd.prettify({"error": "the quick brown fox"})[0]))

    def test_prettify(self):
        self.assertIn("OK", str(self.cmd.prettify("the quick brown")))
        self.assertIn("OK", str(self.cmd.prettify(object())))
        self.assertIn("OK", str(self.cmd.prettify({"foo": "bar"})))
示例#3
0
class test_Command(AppCase):

    def test_Error_repr(self):
        x = Error("something happened")
        self.assertIsNotNone(x.status)
        self.assertTrue(x.reason)
        self.assertTrue(str(x))

    def setup(self):
        self.out = WhateverIO()
        self.err = WhateverIO()
        self.cmd = Command(self.app, stdout=self.out, stderr=self.err)

    def test_show_help(self):
        self.cmd.run_from_argv = Mock()
        self.assertEqual(self.cmd.show_help("foo"), EX_USAGE)
        self.cmd.run_from_argv.assert_called_with(
                self.cmd.prog_name, ["foo", "--help"]
        )

    def test_error(self):
        self.cmd.out = Mock()
        self.cmd.error("FOO")
        self.assertTrue(self.cmd.out.called)

    def test_out(self):
        f = Mock()
        self.cmd.out("foo", f)
        f.write.assert_called_with("foo\n")
        self.cmd.out("foo\n", f)

    def test_call(self):
        self.cmd.run = Mock()
        self.cmd.run.return_value = None
        self.assertEqual(self.cmd(), EX_OK)

        self.cmd.run.side_effect = Error("error", EX_FAILURE)
        self.assertEqual(self.cmd(), EX_FAILURE)

    def test_run_from_argv(self):
        with self.assertRaises(NotImplementedError):
            self.cmd.run_from_argv("prog", ["foo", "bar"])
        self.assertEqual(self.cmd.prog_name, "prog")

    def test_prettify_list(self):
        self.assertEqual(self.cmd.prettify([])[1], "- empty -")
        self.assertIn("bar", self.cmd.prettify(["foo", "bar"])[1])

    def test_prettify_dict(self):
        self.assertIn("OK",
            str(self.cmd.prettify({"ok": "the quick brown fox"})[0]))
        self.assertIn("ERROR",
            str(self.cmd.prettify({"error": "the quick brown fox"})[0]))

    def test_prettify(self):
        self.assertIn("OK", str(self.cmd.prettify("the quick brown")))
        self.assertIn("OK", str(self.cmd.prettify(object())))
        self.assertIn("OK", str(self.cmd.prettify({"foo": "bar"})))
示例#4
0
class test_Command(AppCase):
    def test_Error_repr(self):
        x = Error('something happened')
        self.assertIsNotNone(x.status)
        self.assertTrue(x.reason)
        self.assertTrue(str(x))

    def setup(self):
        self.out = WhateverIO()
        self.err = WhateverIO()
        self.cmd = Command(self.app, stdout=self.out, stderr=self.err)

    def test_show_help(self):
        self.cmd.run_from_argv = Mock()
        self.assertEqual(self.cmd.show_help('foo'), EX_USAGE)
        self.cmd.run_from_argv.assert_called_with(self.cmd.prog_name,
                                                  ['foo', '--help'])

    def test_error(self):
        self.cmd.out = Mock()
        self.cmd.error('FOO')
        self.assertTrue(self.cmd.out.called)

    def test_out(self):
        f = Mock()
        self.cmd.out('foo', f)
        f.write.assert_called_with('foo\n')
        self.cmd.out('foo\n', f)

    def test_call(self):
        self.cmd.run = Mock()
        self.cmd.run.return_value = None
        self.assertEqual(self.cmd(), EX_OK)

        self.cmd.run.side_effect = Error('error', EX_FAILURE)
        self.assertEqual(self.cmd(), EX_FAILURE)

    def test_run_from_argv(self):
        with self.assertRaises(NotImplementedError):
            self.cmd.run_from_argv('prog', ['foo', 'bar'])
        self.assertEqual(self.cmd.prog_name, 'prog')

    def test_prettify_list(self):
        self.assertEqual(self.cmd.prettify([])[1], '- empty -')
        self.assertIn('bar', self.cmd.prettify(['foo', 'bar'])[1])

    def test_prettify_dict(self):
        self.assertIn('OK',
                      str(self.cmd.prettify({'ok': 'the quick brown fox'})[0]))
        self.assertIn(
            'ERROR',
            str(self.cmd.prettify({'error': 'the quick brown fox'})[0]))

    def test_prettify(self):
        self.assertIn('OK', str(self.cmd.prettify('the quick brown')))
        self.assertIn('OK', str(self.cmd.prettify(object())))
        self.assertIn('OK', str(self.cmd.prettify({'foo': 'bar'})))