Skip to content

Commit

Permalink
Fix XAUTOCLAIM to return the full response (#2252)
Browse files Browse the repository at this point in the history
* fix parse_xautoclaim

* linters
  • Loading branch information
dvora-h committed Jun 27, 2022
1 parent e5df832 commit e85fe3b
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion redis/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,8 @@ def parse_xclaim(response, **options):
def parse_xautoclaim(response, **options):
if options.get("parse_justid", False):
return response[1]
return parse_stream_list(response[1])
response[1] = parse_stream_list(response[1])
return response


def parse_xinfo_stream(response, **options):
Expand Down
4 changes: 2 additions & 2 deletions tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -3781,14 +3781,14 @@ def test_xautoclaim(self, r):
# trying to claim a message that isn't already pending doesn't
# do anything
response = r.xautoclaim(stream, group, consumer2, min_idle_time=0)
assert response == []
assert response == [b"0-0", []]

# read the group as consumer1 to initially claim the messages
r.xreadgroup(group, consumer1, streams={stream: ">"})

# claim one message as consumer2
response = r.xautoclaim(stream, group, consumer2, min_idle_time=0, count=1)
assert response == [message]
assert response[1] == [message]

# reclaim the messages as consumer1, but use the justid argument
# which only returns message ids
Expand Down

0 comments on commit e85fe3b

Please sign in to comment.