summaryrefslogtreecommitdiff
path: root/tests/test_job.py
diff options
context:
space:
mode:
authorSelwin Ong <selwin.ong@gmail.com>2015-03-25 08:51:30 +0700
committerSelwin Ong <selwin.ong@gmail.com>2015-03-25 08:51:30 +0700
commitcff6fbff41294abb001ab6502126229cbb2c6f7c (patch)
tree06f41964d0192b332625ff9f5f21ed2c136938f8 /tests/test_job.py
parent04b8ea481bdff6e2d8fa952c22474dc6a6c9f000 (diff)
parent071c47dacba06f55de9d9a1569ac91592dc18eb2 (diff)
downloadrq-cff6fbff41294abb001ab6502126229cbb2c6f7c.tar.gz
Merge pull request #477 from glaslos/ttl_tests_fixes
TTL tests and fixes
Diffstat (limited to 'tests/test_job.py')
-rw-r--r--tests/test_job.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/tests/test_job.py b/tests/test_job.py
index 1a7d231..0f6ab30 100644
--- a/tests/test_job.py
+++ b/tests/test_job.py
@@ -4,11 +4,6 @@ from __future__ import (absolute_import, division, print_function,
from datetime import datetime
-from tests import RQTestCase
-from tests.fixtures import (access_self, CallableObject, Number, say_hello,
- some_calculation)
-from tests.helpers import strip_microseconds
-
from rq.compat import as_text, PY2
from rq.exceptions import NoSuchJobError, UnpickleError
from rq.job import get_current_job, Job
@@ -16,6 +11,11 @@ from rq.queue import Queue
from rq.registry import DeferredJobRegistry
from rq.utils import utcformat
+from tests import RQTestCase
+from tests.fixtures import (access_self, CallableObject, Number, say_hello,
+ some_calculation, long_running_job)
+from tests.helpers import strip_microseconds
+
try:
from cPickle import loads, dumps
except ImportError:
@@ -334,6 +334,24 @@ class TestJob(RQTestCase):
job.save()
self.assertEqual(job.get_ttl(), None)
+ def test_ttl_via_enqueue(self):
+ ttl = 1
+ queue = Queue(connection=self.testconn)
+ job = queue.enqueue(say_hello, ttl=ttl)
+ self.assertEqual(job.get_ttl(), ttl)
+
+ def test_never_expire_during_execution(self):
+ """Test what happens when job expires during execution"""
+ ttl = 1
+ queue = Queue(connection=self.testconn)
+ job = queue.enqueue(long_running_job, args=(2,), ttl=ttl)
+ self.assertEqual(job.get_ttl(), ttl)
+ job.save()
+ job.perform()
+ self.assertEqual(job.get_ttl(), -1)
+ self.assertTrue(job.exists(job.id))
+ self.assertEqual(job.result, 'Done sleeping...')
+
def test_cleanup(self):
"""Test that jobs and results are expired properly."""
job = Job.create(func=say_hello)