diff options
author | Bradley Young <young.bradley@gmail.com> | 2015-01-24 17:22:20 -0500 |
---|---|---|
committer | Bradley Young <young.bradley@gmail.com> | 2015-01-24 17:22:20 -0500 |
commit | d3e4fb567b2a9b0da98505388785f0bec023fcd1 (patch) | |
tree | bcbba1e5f2247e4e6fc7c0a135781fa0ee1e1be1 /tests/test_cli.py | |
parent | f575137612239bdbaea0a6a811adf9bc414c0901 (diff) | |
parent | dc09676ee03b978691d5d3c0bc725ab30bc0077a (diff) | |
download | rq-d3e4fb567b2a9b0da98505388785f0bec023fcd1.tar.gz |
merge && updates to add multiple exception handlers.
Diffstat (limited to 'tests/test_cli.py')
-rw-r--r-- | tests/test_cli.py | 49 |
1 files changed, 44 insertions, 5 deletions
diff --git a/tests/test_cli.py b/tests/test_cli.py index fad684a..6744a11 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -26,6 +26,17 @@ class TestCommandLine(TestCase): class TestRQCli(RQTestCase): + + def assert_normal_execution(self, result): + if result.exit_code == 0: + return True + else: + print("Non normal execution") + print("Exit Code: {}".format(result.exit_code)) + print("Output: {}".format(result.output)) + print("Exception: {}".format(result.exception)) + self.assertEqual(result.exit_code, 0) + """Test rq_cli script""" def setUp(self): super(TestRQCli, self).setUp() @@ -41,30 +52,30 @@ class TestRQCli(RQTestCase): """rq empty -u <url> failed""" runner = CliRunner() result = runner.invoke(main, ['empty', '-u', self.redis_url, 'failed']) - self.assertEqual(result.exit_code, 0) + self.assert_normal_execution(result) self.assertEqual(result.output.strip(), '1 jobs removed from failed queue') def test_requeue(self): """rq requeue -u <url> --all""" runner = CliRunner() result = runner.invoke(main, ['requeue', '-u', self.redis_url, '--all']) - self.assertEqual(result.exit_code, 0) + self.assert_normal_execution(result) self.assertEqual(result.output.strip(), 'Requeueing 1 jobs from failed queue') def test_info(self): """rq info -u <url>""" runner = CliRunner() result = runner.invoke(main, ['info', '-u', self.redis_url]) - self.assertEqual(result.exit_code, 0) + self.assert_normal_execution(result) self.assertIn('1 queues, 1 jobs total', result.output) def test_worker(self): """rq worker -u <url> -b""" runner = CliRunner() result = runner.invoke(main, ['worker', '-u', self.redis_url, '-b']) - self.assertEqual(result.exit_code, 0) + self.assert_normal_execution(result) - def test_exc_handler(self): + def test_exception_handlers(self): """rq worker -u <url> -b --exception-handler <handler>""" q = Queue() failed_q = get_failed_queue() @@ -87,3 +98,31 @@ class TestRQCli(RQTestCase): # Check the job job = Job.fetch(job.id) self.assertEquals(job.is_failed, True) + + def test_suspend_and_resume(self): + """rq suspend -u <url> + rq resume -u <url> + """ + runner = CliRunner() + result = runner.invoke(main, ['suspend', '-u', self.redis_url]) + self.assert_normal_execution(result) + + result = runner.invoke(main, ['resume', '-u', self.redis_url]) + self.assert_normal_execution(result) + + def test_suspend_with_ttl(self): + """rq suspend -u <url> --duration=2 + """ + runner = CliRunner() + result = runner.invoke(main, ['suspend', '-u', self.redis_url, '--duration', 1]) + self.assert_normal_execution(result) + + def test_suspend_with_invalid_ttl(self): + """rq suspend -u <url> --duration=0 + """ + runner = CliRunner() + result = runner.invoke(main, ['suspend', '-u', self.redis_url, '--duration', 0]) + + self.assertEqual(result.exit_code, 1) + self.assertIn("Duration must be an integer greater than 1", result.output) + |