* cherrypick just relevant commits? * make work with poetry * update poetry? * regen? * change tests and dev to dependency groups instead of optional extras * Fix Poetry/UV compatibility issues - Fix sqlite-vec dependency: Remove optional flag from Poetry section to match main deps - Regenerate poetry.lock to sync with pyproject.toml changes - Test both package managers successfully: - Poetry: `poetry install --with dev --with test -E postgres -E external-tools -E cloud-tool-sandbox` - UV: `uv sync --group dev --group test --extra postgres --extra external-tools --extra cloud-tool-sandbox` Resolves Poetry lock sync errors and ensures sqlite-vec is available for tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * more robust pip install * Fix fern SDK wheel installation in CI workflow Replace unreliable command substitution with proper error handling: - Check if directory exists before attempting to find wheels - Store wheel file path in variable to avoid empty arguments - Provide clear error messages when directory/wheels are missing - Prevents "required arguments were not provided" error in uv pip install Fixes: error: the following required arguments were not provided: <PACKAGE> 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * debugging * trigger CI * ls * revert whl installation to -e * programmatic HIT version insertion * version templating properly * set var properly * labelling * remove version insertion * ? * try using sed '2r /dev/stdin' * version * try again smh * not trigger on poetry version * only add once * filter only for project not poetry * hand re-construct the file * save tail? * fix docker command * please please please * rename test -> tests * update poetry and rename group to -E * move async into tests extra and regen lock files and add sqlite extra * remove loading cached venv from cloud api integration * add uv dependency to CI runners * test removing the custom event loop * regen poetry.lock and try to fix async tests * wrap async pg exception and event loop tweak in plugins * remove event loop from plugins test and remove caching from cloud-api-integration-test * migrate all tests away from event loop for pytest-asyncio * pin firecrawl * pin e2b * take claude's suggestion * deeper down the claude rabbit hole * increase timeout for httpbin.org --------- Co-authored-by: Claude <noreply@anthropic.com>
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]
|