diff --git a/tests/fixtures.py b/tests/fixtures.py index a2bbefb6..09cf02eb 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -78,6 +78,11 @@ class CallableObject(object): return u"I'm callable" +class UnicodeStringObject(object): + def __repr__(self): + return u'é'.encode('utf-8') + + with Connection(): @job(queue='default') def decorated_job(x, y): diff --git a/tests/test_job.py b/tests/test_job.py index f6766fe6..36570cff 100644 --- a/tests/test_job.py +++ b/tests/test_job.py @@ -399,3 +399,11 @@ class TestJob(RQTestCase): job.perform() self.assertRaises(TypeError, queue.enqueue, fixtures.say_hello, job_id=1234) + + def test_get_call_string_unicode(self): + """test call string with unicode keyword arguments""" + queue = Queue(connection=self.testconn) + + job = queue.enqueue(fixtures.echo, arg_with_unicode=fixtures.UnicodeStringObject()) + self.assertIsNotNone(job.get_call_string()) + job.perform() \ No newline at end of file