diff options
| author | Thomas Matecki <thomas.matecki@gmail.com> | 2019-10-21 21:34:47 -0400 |
|---|---|---|
| committer | Selwin Ong <selwin.ong@gmail.com> | 2019-10-22 08:34:47 +0700 |
| commit | 75644ba9486ef3d8b17e8b9cf4dac91fab552375 (patch) | |
| tree | 1b936c891b04bedbc59bfb786536e15b46d734d1 /tests/test_job.py | |
| parent | cfc02816ea9be897eac2ddd4afc794ef548b4b4b (diff) | |
| download | rq-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.py | 28 |
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): |
