mirror of https://github.com/rq/rq.git
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
|
from rq.cli.helpers import get_redis_from_config
|
||
|
|
||
|
from tests import RQTestCase
|
||
|
|
||
|
|
||
|
class TestHelpers(RQTestCase):
|
||
|
|
||
|
def test_get_redis_from_config(self):
|
||
|
"""Ensure Redis connection params are properly parsed"""
|
||
|
settings = {
|
||
|
'REDIS_URL': 'redis://localhost:1/1'
|
||
|
}
|
||
|
|
||
|
# Ensure REDIS_URL is read
|
||
|
redis = get_redis_from_config(settings)
|
||
|
connection_kwargs = redis.connection_pool.connection_kwargs
|
||
|
self.assertEqual(connection_kwargs['db'], 1)
|
||
|
self.assertEqual(connection_kwargs['port'], 1)
|
||
|
|
||
|
settings = {
|
||
|
'REDIS_URL': 'redis://localhost:1/1',
|
||
|
'REDIS_HOST': 'foo',
|
||
|
'REDIS_DB': 2,
|
||
|
'REDIS_PORT': 2,
|
||
|
'REDIS_PASSWORD': 'bar'
|
||
|
}
|
||
|
|
||
|
# Ensure REDIS_URL is preferred
|
||
|
redis = get_redis_from_config(settings)
|
||
|
connection_kwargs = redis.connection_pool.connection_kwargs
|
||
|
self.assertEqual(connection_kwargs['db'], 1)
|
||
|
self.assertEqual(connection_kwargs['port'], 1)
|
||
|
|
||
|
# Ensure fall back to regular connection parameters
|
||
|
settings['REDIS_URL'] = None
|
||
|
redis = get_redis_from_config(settings)
|
||
|
connection_kwargs = redis.connection_pool.connection_kwargs
|
||
|
self.assertEqual(connection_kwargs['host'], 'foo')
|
||
|
self.assertEqual(connection_kwargs['db'], 2)
|
||
|
self.assertEqual(connection_kwargs['port'], 2)
|
||
|
self.assertEqual(connection_kwargs['password'], 'bar')
|