diff --git a/fakeredis/_stream.py b/fakeredis/_stream.py index 149dbf0b..c04b3566 100644 --- a/fakeredis/_stream.py +++ b/fakeredis/_stream.py @@ -428,6 +428,9 @@ def add(self, fields: Sequence[bytes], entry_key: str = "*") -> Union[None, byte self._entries_added += 1 return ts_seq.encode() + def __bool__(self): + return True + def __len__(self) -> int: return len(self._ids) diff --git a/test/test_mixins/test_streams_commands.py b/test/test_mixins/test_streams_commands.py index 00e122eb..6dd56e69 100644 --- a/test/test_mixins/test_streams_commands.py +++ b/test/test_mixins/test_streams_commands.py @@ -792,4 +792,16 @@ def thread_func(): t.join() assert result[0][0] == b"stream" assert result[0][1][0][1] == {b'x': b'1'} - pass + + +def test_stream_ttl(r: redis.Redis): + stream = "stream" + + m1 = r.xadd(stream, {'foo': 'bar'}) + expected = [[ + stream.encode(), + [get_stream_message(r, stream, m1)], + ]] + assert r.xread(streams={stream: 0}) == expected + assert r.xtrim(stream, 0) == 1 + assert r.ttl(stream) == -1