summaryrefslogtreecommitdiff
path: root/tests/test_cli.py
diff options
context:
space:
mode:
authorBradley Young <young.bradley@gmail.com>2015-01-24 17:22:20 -0500
committerBradley Young <young.bradley@gmail.com>2015-01-24 17:22:20 -0500
commitd3e4fb567b2a9b0da98505388785f0bec023fcd1 (patch)
treebcbba1e5f2247e4e6fc7c0a135781fa0ee1e1be1 /tests/test_cli.py
parentf575137612239bdbaea0a6a811adf9bc414c0901 (diff)
parentdc09676ee03b978691d5d3c0bc725ab30bc0077a (diff)
downloadrq-d3e4fb567b2a9b0da98505388785f0bec023fcd1.tar.gz
merge && updates to add multiple exception handlers.
Diffstat (limited to 'tests/test_cli.py')
-rw-r--r--tests/test_cli.py49
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)
+