* auto fixes * auto fix pt2 and transitive deps and undefined var checking locals() * manual fixes (ignored or letta-code fixed) * fix circular import * remove all ignores, add FastAPI rules and Ruff rules * add ty and precommit * ruff stuff * ty check fixes * ty check fixes pt 2 * error on invalid
27 lines
921 B
Python
27 lines
921 B
Python
import pytest
|
|
|
|
from letta.data_sources.redis_client import get_redis_client
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_redis_client():
|
|
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]
|