Skip to content

Commit d41f8aa

Browse files
authored
Clean up test supoort enterprise environments (#2082)
* skip tests on enterprise * delete dping implementation
1 parent 17f1140 commit d41f8aa

File tree

8 files changed

+84
-8
lines changed

8 files changed

+84
-8
lines changed

tests/conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ def pytest_addoption(parser):
120120
def _get_info(redis_url):
121121
client = redis.Redis.from_url(redis_url)
122122
info = client.info()
123-
cmds = [command.upper() for command in client.command().keys()]
124-
if "dping" in cmds:
123+
try:
124+
client.execute_command("DPING")
125125
info["enterprise"] = True
126-
else:
126+
except redis.ResponseError:
127127
info["enterprise"] = False
128128
client.connection_pool.disconnect()
129129
return info

tests/test_cluster.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,7 @@ def test_get_node_from_key(self, r):
629629
assert replica.server_type == REPLICA
630630
assert replica in slot_nodes
631631

632+
@skip_if_redis_enterprise()
632633
def test_not_require_full_coverage_cluster_down_error(self, r):
633634
"""
634635
When require_full_coverage is set to False (default client config) and not
@@ -840,11 +841,13 @@ def test_cluster_pubsub_numsub(self, r):
840841
channels = [(b"foo", 1), (b"bar", 2), (b"baz", 3)]
841842
assert r.pubsub_numsub("foo", "bar", "baz", target_nodes="all") == channels
842843

844+
@skip_if_redis_enterprise()
843845
def test_cluster_myid(self, r):
844846
node = r.get_random_node()
845847
myid = r.cluster_myid(node)
846848
assert len(myid) == 40
847849

850+
@skip_if_redis_enterprise()
848851
def test_cluster_slots(self, r):
849852
mock_all_nodes_resp(r, default_cluster_slots)
850853
cluster_slots = r.cluster_slots()
@@ -853,17 +856,20 @@ def test_cluster_slots(self, r):
853856
assert cluster_slots.get((0, 8191)) is not None
854857
assert cluster_slots.get((0, 8191)).get("primary") == ("127.0.0.1", 7000)
855858

859+
@skip_if_redis_enterprise()
856860
def test_cluster_addslots(self, r):
857861
node = r.get_random_node()
858862
mock_node_resp(node, "OK")
859863
assert r.cluster_addslots(node, 1, 2, 3) is True
860864

861865
@skip_if_server_version_lt("7.0.0")
866+
@skip_if_redis_enterprise()
862867
def test_cluster_addslotsrange(self, r):
863868
node = r.get_random_node()
864869
mock_node_resp(node, "OK")
865870
assert r.cluster_addslotsrange(node, 1, 5)
866871

872+
@skip_if_redis_enterprise()
867873
def test_cluster_countkeysinslot(self, r):
868874
node = r.nodes_manager.get_node_from_slot(1)
869875
mock_node_resp(node, 2)
@@ -873,6 +879,7 @@ def test_cluster_count_failure_report(self, r):
873879
mock_all_nodes_resp(r, 0)
874880
assert r.cluster_count_failure_report("node_0") == 0
875881

882+
@skip_if_redis_enterprise()
876883
def test_cluster_delslots(self):
877884
cluster_slots = [
878885
[
@@ -897,12 +904,14 @@ def test_cluster_delslots(self):
897904
assert node1.redis_connection.connection.read_response.called
898905

899906
@skip_if_server_version_lt("7.0.0")
907+
@skip_if_redis_enterprise()
900908
def test_cluster_delslotsrange(self, r):
901909
node = r.get_random_node()
902910
mock_node_resp(node, "OK")
903911
r.cluster_addslots(node, 1, 2, 3, 4, 5)
904912
assert r.cluster_delslotsrange(1, 5)
905913

914+
@skip_if_redis_enterprise()
906915
def test_cluster_failover(self, r):
907916
node = r.get_random_node()
908917
mock_node_resp(node, "OK")
@@ -912,20 +921,24 @@ def test_cluster_failover(self, r):
912921
with pytest.raises(RedisError):
913922
r.cluster_failover(node, "FORCT")
914923

924+
@skip_if_redis_enterprise()
915925
def test_cluster_info(self, r):
916926
info = r.cluster_info()
917927
assert isinstance(info, dict)
918928
assert info["cluster_state"] == "ok"
919929

930+
@skip_if_redis_enterprise()
920931
def test_cluster_keyslot(self, r):
921932
mock_all_nodes_resp(r, 12182)
922933
assert r.cluster_keyslot("foo") == 12182
923934

935+
@skip_if_redis_enterprise()
924936
def test_cluster_meet(self, r):
925937
node = r.get_default_node()
926938
mock_node_resp(node, "OK")
927939
assert r.cluster_meet("127.0.0.1", 6379) is True
928940

941+
@skip_if_redis_enterprise()
929942
def test_cluster_nodes(self, r):
930943
response = (
931944
"c8253bae761cb1ecb2b61857d85dfe455a0fec8b 172.17.0.7:7006 "
@@ -954,6 +967,7 @@ def test_cluster_nodes(self, r):
954967
== "c8253bae761cb1ecb2b61857d85dfe455a0fec8b"
955968
)
956969

970+
@skip_if_redis_enterprise()
957971
def test_cluster_replicate(self, r):
958972
node = r.get_random_node()
959973
all_replicas = r.get_replicas()
@@ -966,6 +980,7 @@ def test_cluster_replicate(self, r):
966980
else:
967981
assert results is True
968982

983+
@skip_if_redis_enterprise()
969984
def test_cluster_reset(self, r):
970985
mock_all_nodes_resp(r, "OK")
971986
assert r.cluster_reset() is True
@@ -974,6 +989,7 @@ def test_cluster_reset(self, r):
974989
for res in all_results.values():
975990
assert res is True
976991

992+
@skip_if_redis_enterprise()
977993
def test_cluster_save_config(self, r):
978994
node = r.get_random_node()
979995
all_nodes = r.get_nodes()
@@ -983,20 +999,23 @@ def test_cluster_save_config(self, r):
983999
for res in all_results.values():
9841000
assert res is True
9851001

1002+
@skip_if_redis_enterprise()
9861003
def test_cluster_get_keys_in_slot(self, r):
9871004
response = [b"{foo}1", b"{foo}2"]
9881005
node = r.nodes_manager.get_node_from_slot(12182)
9891006
mock_node_resp(node, response)
9901007
keys = r.cluster_get_keys_in_slot(12182, 4)
9911008
assert keys == response
9921009

1010+
@skip_if_redis_enterprise()
9931011
def test_cluster_set_config_epoch(self, r):
9941012
mock_all_nodes_resp(r, "OK")
9951013
assert r.cluster_set_config_epoch(3) is True
9961014
all_results = r.cluster_set_config_epoch(3, target_nodes="all")
9971015
for res in all_results.values():
9981016
assert res is True
9991017

1018+
@skip_if_redis_enterprise()
10001019
def test_cluster_setslot(self, r):
10011020
node = r.get_random_node()
10021021
mock_node_resp(node, "OK")
@@ -1014,6 +1033,7 @@ def test_cluster_setslot_stable(self, r):
10141033
assert r.cluster_setslot_stable(12182) is True
10151034
assert node.redis_connection.connection.read_response.called
10161035

1036+
@skip_if_redis_enterprise()
10171037
def test_cluster_replicas(self, r):
10181038
response = [
10191039
b"01eca22229cf3c652b6fca0d09ff6941e0d2e3 "
@@ -1045,6 +1065,7 @@ def test_cluster_links(self, r):
10451065
for i in range(0, len(res) - 1, 2):
10461066
assert res[i][3] == res[i + 1][3]
10471067

1068+
@skip_if_redis_enterprise()
10481069
def test_readonly(self):
10491070
r = get_mocked_redis_client(host=default_host, port=default_port)
10501071
mock_all_nodes_resp(r, "OK")
@@ -1055,6 +1076,7 @@ def test_readonly(self):
10551076
for replica in r.get_replicas():
10561077
assert replica.redis_connection.connection.read_response.called
10571078

1079+
@skip_if_redis_enterprise()
10581080
def test_readwrite(self):
10591081
r = get_mocked_redis_client(host=default_host, port=default_port)
10601082
mock_all_nodes_resp(r, "OK")
@@ -1065,6 +1087,7 @@ def test_readwrite(self):
10651087
for replica in r.get_replicas():
10661088
assert replica.redis_connection.connection.read_response.called
10671089

1090+
@skip_if_redis_enterprise()
10681091
def test_bgsave(self, r):
10691092
assert r.bgsave()
10701093
sleep(0.3)
@@ -1149,10 +1172,12 @@ def test_memory_usage(self, r):
11491172
assert isinstance(r.memory_usage("foo"), int)
11501173

11511174
@skip_if_server_version_lt("4.0.0")
1175+
@skip_if_redis_enterprise()
11521176
def test_memory_malloc_stats(self, r):
11531177
assert r.memory_malloc_stats()
11541178

11551179
@skip_if_server_version_lt("4.0.0")
1180+
@skip_if_redis_enterprise()
11561181
def test_memory_stats(self, r):
11571182
# put a key into the current db to make sure that "db.<current-db>"
11581183
# has data
@@ -1174,6 +1199,7 @@ def test_memory_doctor(self, r):
11741199
with pytest.raises(NotImplementedError):
11751200
r.memory_doctor()
11761201

1202+
@skip_if_redis_enterprise()
11771203
def test_lastsave(self, r):
11781204
node = r.get_primaries()[0]
11791205
assert isinstance(r.lastsave(target_nodes=node), datetime.datetime)
@@ -1216,6 +1242,7 @@ def test_client_pause(self, r):
12161242
r.client_pause(timeout="not an integer", target_nodes=node)
12171243

12181244
@skip_if_server_version_lt("6.2.0")
1245+
@skip_if_redis_enterprise()
12191246
def test_client_unpause(self, r):
12201247
assert r.client_unpause()
12211248

tests/test_command_parser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from redis.commands import CommandsParser
44

5-
from .conftest import skip_if_server_version_lt
5+
from .conftest import skip_if_redis_enterprise, skip_if_server_version_lt
66

77

88
class TestCommandsParser:
@@ -21,6 +21,7 @@ def test_get_keys_predetermined_key_location(self, r):
2121
assert commands_parser.get_keys(r, *args3) == ["foo", "bar", "foobar"]
2222

2323
@pytest.mark.filterwarnings("ignore:ResponseError")
24+
@skip_if_redis_enterprise()
2425
def test_get_moveable_keys(self, r):
2526
commands_parser = CommandsParser(r)
2627
args1 = [

0 commit comments

Comments
 (0)