summaryrefslogtreecommitdiff
path: root/tests/test_job.py
diff options
context:
space:
mode:
authorThomas Matecki <thomas.matecki@gmail.com>2019-10-21 21:34:47 -0400
committerSelwin Ong <selwin.ong@gmail.com>2019-10-22 08:34:47 +0700
commit75644ba9486ef3d8b17e8b9cf4dac91fab552375 (patch)
tree1b936c891b04bedbc59bfb786536e15b46d734d1 /tests/test_job.py
parentcfc02816ea9be897eac2ddd4afc794ef548b4b4b (diff)
downloadrq-75644ba9486ef3d8b17e8b9cf4dac91fab552375.tar.gz
Multi Dependency Support [Internal API Changes] (#1147)
* Convert `_dependency_id` to `_dependency_ids` Change `Job`s tracking from a single id of it's dependencies from a single _id_ to a list of _id_s. This change should be private to `Job` - especially leaving `Job#to_dict` and `Job#restore`s treatment of a single 'dependency_id' intact. This change modifies existing tests. * Remove reliance upon dependency property in tests ... use dependency.id not `_dependency_id` * Re-add assertions for Falsey Values * Add _dependency_id property For backwards compatibility with other libs such as django-rq and rq-scheduler
Diffstat (limited to 'tests/test_job.py')
-rw-r--r--tests/test_job.py28
1 files changed, 16 insertions, 12 deletions
diff --git a/tests/test_job.py b/tests/test_job.py
index a990dd7..95a2358 100644
--- a/tests/test_job.py
+++ b/tests/test_job.py
@@ -2,28 +2,28 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)
-from datetime import datetime
-
-import time
import sys
+import time
import zlib
-
-is_py2 = sys.version[0] == '2'
-if is_py2:
- import Queue as queue
-else:
- import queue as queue
-
-from tests import fixtures, RQTestCase
+from datetime import datetime
from rq.compat import PY2, as_text
from rq.exceptions import NoSuchJobError, UnpickleError
-from rq.job import Job, get_current_job, JobStatus, cancel_job
+from rq.job import Job, JobStatus, cancel_job, get_current_job
from rq.queue import Queue
from rq.registry import (DeferredJobRegistry, FailedJobRegistry,
FinishedJobRegistry, StartedJobRegistry)
from rq.utils import utcformat
from rq.worker import Worker
+from tests import RQTestCase, fixtures
+
+is_py2 = sys.version[0] == '2'
+if is_py2:
+ import Queue as queue
+else:
+ import queue as queue
+
+
try:
from cPickle import loads, dumps
@@ -227,12 +227,16 @@ class TestJob(RQTestCase):
job.save()
stored_job = Job.fetch(job.id)
self.assertEqual(stored_job._dependency_id, parent_job.id)
+ self.assertEqual(stored_job._dependency_ids, [parent_job.id])
+ self.assertEqual(stored_job.dependency.id, parent_job.id)
self.assertEqual(stored_job.dependency, parent_job)
job = Job.create(func=fixtures.some_calculation, depends_on=parent_job.id)
job.save()
stored_job = Job.fetch(job.id)
self.assertEqual(stored_job._dependency_id, parent_job.id)
+ self.assertEqual(stored_job._dependency_ids, [parent_job.id])
+ self.assertEqual(stored_job.dependency.id, parent_job.id)
self.assertEqual(stored_job.dependency, parent_job)
def test_store_then_fetch(self):