summaryrefslogtreecommitdiff
path: root/tests/test_cluster.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_cluster.py')
-rw-r--r--tests/test_cluster.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/test_cluster.py b/tests/test_cluster.py
index b76ed80..4087d33 100644
--- a/tests/test_cluster.py
+++ b/tests/test_cluster.py
@@ -84,6 +84,7 @@ def get_mocked_redis_client(func=None, *args, **kwargs):
"""
cluster_slots = kwargs.pop("cluster_slots", default_cluster_slots)
coverage_res = kwargs.pop("coverage_result", "yes")
+ cluster_enabled = kwargs.pop("cluster_enabled", True)
with patch.object(Redis, "execute_command") as execute_command_mock:
def execute_command(*_args, **_kwargs):
@@ -92,7 +93,9 @@ def get_mocked_redis_client(func=None, *args, **kwargs):
return mock_cluster_slots
elif _args[0] == "COMMAND":
return {"get": [], "set": []}
- elif _args[1] == "cluster-require-full-coverage":
+ elif _args[0] == "INFO":
+ return {"cluster_enabled": cluster_enabled}
+ elif len(_args) > 1 and _args[1] == "cluster-require-full-coverage":
return {"cluster-require-full-coverage": coverage_res}
elif func is not None:
return func(*args, **kwargs)
@@ -1974,6 +1977,17 @@ class TestNodesManager:
assert len(n_manager.nodes_cache) == 6
+ def test_init_slots_cache_cluster_mode_disabled(self):
+ """
+ Test that creating a RedisCluster failes if one of the startup nodes
+ has cluster mode disabled
+ """
+ with pytest.raises(RedisClusterException) as e:
+ get_mocked_redis_client(
+ host=default_host, port=default_port, cluster_enabled=False
+ )
+ assert "Cluster mode is not enabled on this node" in str(e.value)
+
def test_empty_startup_nodes(self):
"""
It should not be possible to create a node manager with no nodes
@@ -2044,6 +2058,8 @@ class TestNodesManager:
def execute_command(*args, **kwargs):
if args[0] == "CLUSTER SLOTS":
return result
+ elif args[0] == "INFO":
+ return {"cluster_enabled": True}
elif args[1] == "cluster-require-full-coverage":
return {"cluster-require-full-coverage": "yes"}
else:
@@ -2108,6 +2124,8 @@ class TestNodesManager:
["127.0.0.1", 7002, "node_2"],
],
]
+ elif args[0] == "INFO":
+ return {"cluster_enabled": True}
elif args[1] == "cluster-require-full-coverage":
return {"cluster-require-full-coverage": "yes"}