diff options
Diffstat (limited to 'tests/test_utils.py')
| -rw-r--r-- | tests/test_utils.py | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py index 64b3f64..b71e67e 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -5,9 +5,22 @@ from unittest.mock import Mock from redis import Redis from tests import RQTestCase, fixtures -from rq.utils import backend_class, ensure_list, first, get_version, is_nonstring_iterable, parse_timeout, utcparse, \ - split_list, ceildiv, get_call_string, truncate_long_string from rq.exceptions import TimeoutFormatError +from rq.utils import ( + backend_class, + ceildiv, + ensure_list, + first, + get_call_string, + get_version, + import_attribute, + is_nonstring_iterable, + parse_timeout, + utcparse, + split_list, + truncate_long_string, +) +from rq.worker import SimpleWorker class TestUtils(RQTestCase): @@ -66,8 +79,9 @@ class TestUtils(RQTestCase): self.assertEqual(fixtures.DummyQueue, backend_class(fixtures, 'DummyQueue')) self.assertNotEqual(fixtures.say_pid, backend_class(fixtures, 'DummyQueue')) self.assertEqual(fixtures.DummyQueue, backend_class(fixtures, 'DummyQueue', override=fixtures.DummyQueue)) - self.assertEqual(fixtures.DummyQueue, - backend_class(fixtures, 'DummyQueue', override='tests.fixtures.DummyQueue')) + self.assertEqual( + fixtures.DummyQueue, backend_class(fixtures, 'DummyQueue', override='tests.fixtures.DummyQueue') + ) def test_get_redis_version(self): """Ensure get_version works properly""" @@ -78,12 +92,14 @@ class TestUtils(RQTestCase): class DummyRedis(Redis): def info(*args): return {'redis_version': '4.0.8'} + self.assertEqual(get_version(DummyRedis()), (4, 0, 8)) # Parses 3 digit version numbers correctly class DummyRedis(Redis): def info(*args): return {'redis_version': '3.0.7.9'} + self.assertEqual(get_version(DummyRedis()), (3, 0, 7)) def test_get_redis_version_gets_cached(self): @@ -95,6 +111,13 @@ class TestUtils(RQTestCase): self.assertEqual(get_version(redis), (4, 0, 8)) redis.info.assert_called_once() + def test_import_attribute(self): + """Ensure get_version works properly""" + self.assertEqual(import_attribute('rq.utils.get_version'), get_version) + self.assertEqual(import_attribute('rq.worker.SimpleWorker'), SimpleWorker) + self.assertRaises(ValueError, import_attribute, 'non.existent.module') + self.assertRaises(ValueError, import_attribute, 'rq.worker.WrongWorker') + def test_ceildiv_even(self): """When a number is evenly divisible by another ceildiv returns the quotient""" dividend = 12 |
