From 61140b3a7a54ee0bb0a17d8465d9c31437e7dbe4 Mon Sep 17 00:00:00 2001 From: "zach.lee" Date: Mon, 6 Feb 2023 17:48:06 +0900 Subject: [PATCH 1/3] add queue_class to REDIS_ALLOWED_KEYS --- redis/cluster.py | 1 + tests/test_cluster.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/redis/cluster.py b/redis/cluster.py index d6dc02d493..a9cb861e58 100644 --- a/redis/cluster.py +++ b/redis/cluster.py @@ -135,6 +135,7 @@ def parse_cluster_shards(resp, **options): "redis_connect_func", "password", "port", + "queue_class", "retry", "retry_on_timeout", "socket_connect_timeout", diff --git a/tests/test_cluster.py b/tests/test_cluster.py index 1bf57a357c..71f48b996c 100644 --- a/tests/test_cluster.py +++ b/tests/test_cluster.py @@ -1,6 +1,7 @@ import binascii import datetime import warnings +from queue import Queue, LifoQueue from time import sleep from unittest.mock import DEFAULT, Mock, call, patch @@ -2511,6 +2512,18 @@ def test_connection_pool_class(self, connection_pool_class): node.redis_connection.connection_pool, connection_pool_class ) + @pytest.mark.parametrize("queue_class", [Queue, LifoQueue]) + def test_allow_custom_queue_class(self, queue_class): + rc = get_mocked_redis_client( + url="redis://my@DNS.com:7000", + cluster_slots=default_cluster_slots, + connection_pool_class=BlockingConnectionPool, + queue_class=queue_class + ) + + for node in rc.nodes_manager.nodes_cache.values(): + assert node.redis_connection.connection_pool.queue_class == queue_class + @pytest.mark.onlycluster class TestClusterPubSubObject: From fc86f20e9333c6c2d04c56d3a2de68ef590cc746 Mon Sep 17 00:00:00 2001 From: "zach.lee" Date: Mon, 6 Feb 2023 18:08:29 +0900 Subject: [PATCH 2/3] fix lint --- tests/test_cluster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cluster.py b/tests/test_cluster.py index 71f48b996c..82f116e645 100644 --- a/tests/test_cluster.py +++ b/tests/test_cluster.py @@ -2518,7 +2518,7 @@ def test_allow_custom_queue_class(self, queue_class): url="redis://my@DNS.com:7000", cluster_slots=default_cluster_slots, connection_pool_class=BlockingConnectionPool, - queue_class=queue_class + queue_class=queue_class, ) for node in rc.nodes_manager.nodes_cache.values(): From dfa6d3282c6f4e346a77b8440d016c2b3d12a616 Mon Sep 17 00:00:00 2001 From: "zach.lee" Date: Mon, 6 Feb 2023 18:11:35 +0900 Subject: [PATCH 3/3] fix lint --- tests/test_cluster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cluster.py b/tests/test_cluster.py index 82f116e645..58f9b77d7d 100644 --- a/tests/test_cluster.py +++ b/tests/test_cluster.py @@ -1,7 +1,7 @@ import binascii import datetime import warnings -from queue import Queue, LifoQueue +from queue import LifoQueue, Queue from time import sleep from unittest.mock import DEFAULT, Mock, call, patch