Skip to content

Commit d540d56

Browse files
three-kindspetyaslavova
authored andcommitted
Fix client_list with multiple client ids (redis#3539)
1 parent 04eafb8 commit d540d56

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

redis/commands/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ def client_list(
530530
raise DataError("client_id must be a list")
531531
if client_id:
532532
args.append(b"ID")
533-
args.append(" ".join(client_id))
533+
args += client_id
534534
return self.execute_command("CLIENT LIST", *args, **kwargs)
535535

536536
def client_getname(self, **kwargs) -> ResponseT:

tests/test_commands.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -667,11 +667,15 @@ def test_client_list_client_id(self, r, request):
667667
assert "addr" in clients[0]
668668

669669
# testing multiple client ids
670-
_get_client(redis.Redis, request, flushdb=False)
671-
_get_client(redis.Redis, request, flushdb=False)
672-
_get_client(redis.Redis, request, flushdb=False)
673-
clients_listed = r.client_list(client_id=clients[:-1])
674-
assert len(clients_listed) > 1
670+
client_list = list()
671+
client_count = 3
672+
for i in range(client_count):
673+
client = _get_client(redis.Redis, request, flushdb=False)
674+
client_list.append(client)
675+
676+
multiple_client_ids = [str(client.client_id()) for client in client_list]
677+
clients_listed = r.client_list(client_id=multiple_client_ids)
678+
assert len(clients_listed) == len(multiple_client_ids)
675679

676680
@pytest.mark.onlynoncluster
677681
@skip_if_server_version_lt("5.0.0")

0 commit comments

Comments
 (0)