Files
letta-server/tests/test_redis_client.py

27 lines
931 B
Python

import pytest
from letta.data_sources.redis_client import get_redis_client
@pytest.mark.asyncio
async def test_redis_client(event_loop):
test_values = {"LETTA_TEST_0": [1, 2, 3], "LETTA_TEST_1": ["apple", "pear", "banana"], "LETTA_TEST_2": ["{}", 3.2, "cat"]}
redis_client = await get_redis_client()
# Clear out keys
await redis_client.delete(*test_values.keys())
# Add items
for k, v in test_values.items():
assert await redis_client.sadd(k, *v) == 3
# Check Membership
for k, v in test_values.items():
assert await redis_client.smembers(k) == set(str(val) for val in v)
for k, v in test_values.items():
assert await redis_client.smismember(k, "invalid") == 0
assert await redis_client.smismember(k, v[0]) == 1
assert await redis_client.smismember(k, v[:2]) == [1, 1]
assert await redis_client.smismember(k, v[2:] + ["invalid"]) == [1, 0]