summaryrefslogtreecommitdiff
path: root/tests/test_job.py
diff options
context:
space:
mode:
authorAlexey Katichev <aleksey.katichev@gmail.com>2017-04-30 16:43:31 +0300
committerSelwin Ong <selwin.ong@gmail.com>2017-04-30 20:43:31 +0700
commita0113c83cfdc5df3f57ef15a8a8f1f5605c82df8 (patch)
treeb3e353aa2036ed53229475c8c29247d9b6807457 /tests/test_job.py
parentfe84828d72b62bbd6449f01995243c04be64439e (diff)
downloadrq-a0113c83cfdc5df3f57ef15a8a8f1f5605c82df8.tar.gz
introduce job.update_meta() to store updated meta to Redis (#823)
* introduce job.update_meta() to store updated meta to Redis This closes nvie/rq#811 * rename update_meta to save_meta
Diffstat (limited to 'tests/test_job.py')
-rw-r--r--tests/test_job.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_job.py b/tests/test_job.py
index 87342eb..1491f7f 100644
--- a/tests/test_job.py
+++ b/tests/test_job.py
@@ -272,6 +272,26 @@ class TestJob(RQTestCase):
job2 = Job.fetch(job.id)
self.assertEqual(job2.meta['foo'], 'bar')
+ def test_custom_meta_is_rewriten_by_save_meta(self):
+ """New meta data can be stored by save_meta."""
+ job = Job.create(func=fixtures.say_hello, args=('Lionel',))
+ job.save()
+ serialized = job.to_dict()
+
+ job.meta['foo'] = 'bar'
+ job.save_meta()
+
+ raw_meta = self.testconn.hget(job.key, 'meta')
+ self.assertEqual(loads(raw_meta)['foo'], 'bar')
+
+ job2 = Job.fetch(job.id)
+ self.assertEqual(job2.meta['foo'], 'bar')
+
+ # nothing else was changed
+ serialized2 = job2.to_dict()
+ serialized2.pop('meta')
+ self.assertDictEqual(serialized, serialized2)
+
def test_result_ttl_is_persisted(self):
"""Ensure that job's result_ttl is set properly"""
job = Job.create(func=fixtures.say_hello, args=('Lionel',), result_ttl=10)