What problem does it solve?
Writing consistent, deterministic end-to-end tests for RediSearch requires knowing framework conventions, cluster behavior, and indexing timing rules that are easy to get wrong. This Skill codifies those conventions so new tests in tests/pytests/ follow the same patterns as existing ones.
Core Features & Use Cases
- RLTest conventions: Enforces the standard pattern of creating indexes with env.expect('FT.CREATE', ...).ok(), loading data with conn.execute_command('HSET', ...), and asserting query results.
- Determinism rules: Guides use of waitForIndex for background indexing, _FT.DEBUG hooks instead of sleeps, and full-result assertions with message=res for partial checks.
- Cluster and environment handling: Covers @skip(cluster=True), {hash_tag} key prefixes, and when a custom Env() with protocol=3 or DEFAULT_DIALECT 1 is justified.
- Use Case: When adding a test for a new FT.SEARCH dialect behavior, use this Skill to place the test in the right file, structure the function signature, and write deterministic assertions that pass on every machine.
Quick Start
Write a new Python flow test in tests/pytests/ that verifies prefix search behavior on a RediSearch index following the project guidelines.