Test files: 7. Test functions: 73. Described by their authors (docstring or @DisplayName): 19. Where there is no description, the line shows the test name in words and says so.
Latest result: ragleap-vectorstores-tests (3.10) passed 48 passed, 30 skipped, 0 failed CI job ragleap-vectorstores-tests (3.12) passed 48 passed, 30 skipped, 0 failed CI job
test_chroma_backend.py — 11 tests 11 passed, 0 failed, 0 skipped
Tests for ChromaBackend. Uses a real local chromadb PersistentClient against a temp directory (Chroma has no meaningful "fake" - it's already fully local/embedded, so there's no live-credentials gap to skip around, unlike QdrantBackend/PineconeBackend/WeaviateBackend's tests).
test_requires_persist_directorypassed
Requires persist directory (no description in the source; shown from the name)test_insert_and_search_dense_shapepassed
Insert and search dense shape (no description in the source; shown from the name)test_search_dense_single_key_filterpassed
Search dense single key filter (no description in the source; shown from the name)test_search_dense_multi_key_filterpassed
Regression guard for the real Chroma constraint (live-verified): atest_search_dense_empty_embedding_returns_emptypassed
Search dense empty embedding returns empty (no description in the source; shown from the name)test_search_sparse_not_supportedpassed
Search sparse not supported (no description in the source; shown from the name)test_search_hybrid_falls_back_to_densepassed
Search hybrid falls back to dense (no description in the source; shown from the name)test_supports_sparse_is_falsepassed
Supports sparse is false (no description in the source; shown from the name)test_list_documentspassed
List documents (no description in the source; shown from the name)test_get_document_filenamepassed
Get document filename (no description in the source; shown from the name)test_delete_document_removes_registry_entry_and_vectorspassed
Delete document removes registry entry and vectors (no description in the source; shown from the name)
test_datetime_compat.py — 2 tests 2 passed, 0 failed, 0 skipped
Always-run regression tests (no live infrastructure needed) for datetime handling across every backend.
test_no_deprecated_or_py311_only_datetime_apispassed
No deprecated or py311 only datetime apis (no description in the source; shown from the name)test_opensearch_insert_document_runs_without_a_live_serverpassed
Opensearch insert document runs without a live server (no description in the source; shown from the name)
test_lancedb_backend.py — 13 tests 13 passed, 0 failed, 0 skipped
Tests for LanceDBBackend. Uses a real local embedded LanceDB database against a temp directory (LanceDB, like Chroma, is already fully local/embedded - no live-credentials gap to skip around).
test_requires_uripassed
Requires uri (no description in the source; shown from the name)test_insert_and_search_dense_shapepassed
Insert and search dense shape (no description in the source; shown from the name)test_search_dense_single_key_filterpassed
Search dense single key filter (no description in the source; shown from the name)test_search_dense_multi_key_filterpassed
LanceDB's where= accepts a native SQL boolean expression, sotest_search_dense_empty_embedding_returns_emptypassed
Search dense empty embedding returns empty (no description in the source; shown from the name)test_search_sparse_not_supportedpassed
Search sparse not supported (no description in the source; shown from the name)test_search_hybrid_falls_back_to_densepassed
Search hybrid falls back to dense (no description in the source; shown from the name)test_supports_sparse_is_falsepassed
Supports sparse is false (no description in the source; shown from the name)test_list_documentspassed
List documents (no description in the source; shown from the name)test_get_document_filenamepassed
Get document filename (no description in the source; shown from the name)test_delete_document_removes_registry_entry_and_vectorspassed
Delete document removes registry entry and vectors (no description in the source; shown from the name)test_insert_chunk_upserts_not_duplicatespassed
Regression guard for the real merge_insert-based upsert pathtest_init_schema_idempotentpassed
Calling init_schema again (e.g. on reconnect) should reopen the
test_opensearch_backend.py — 16 tests 0 passed, 0 failed, 16 skipped
Tests for OpenSearchBackend. Uses a real OpenSearch instance with the opensearch-knn plugin - unlike Chroma/LanceDB (embedded, always available) and RedisBackend's dev-container-assumed-present convention, this backend now runs on the developer's local machine (moved off the shared VPS after a real CPU-spike incident, see the vectorstores handoff), so these tests gate on OPENSEARCH_TEST_URL and skip cleanly (not fail) when it isn't set - same pattern as the Upstash tests gating on UPSTASH_VECTOR_REST_URL/TOKEN, rather than Redis's dev-container assumption that a server is always present.
test_requires_opensearch_urlskipped
Requires opensearch url (no description in the source; shown from the name)test_insert_and_search_dense_shapeskipped
Insert and search dense shape (no description in the source; shown from the name)test_search_dense_exact_match_score_near_oneskipped
Regression guard for the real live-verified score formula: fortest_search_dense_metadata_filter_arbitrary_keysskipped
Genuine capability difference from Redis: OpenSearch's query DSLtest_search_dense_document_id_filterskipped
Search dense document id filter (no description in the source; shown from the name)test_search_dense_unsupported_filter_key_narrows_to_zeroskipped
Unlike RedisBackend, which silently ignores unrecognized filtertest_search_dense_empty_embedding_returns_emptyskipped
Search dense empty embedding returns empty (no description in the source; shown from the name)test_search_sparse_not_supportedskipped
Search sparse not supported (no description in the source; shown from the name)test_search_hybrid_falls_back_to_denseskipped
Search hybrid falls back to dense (no description in the source; shown from the name)test_supports_sparse_is_falseskipped
Supports sparse is false (no description in the source; shown from the name)test_list_documentsskipped
List documents (no description in the source; shown from the name)test_get_document_filenameskipped
Get document filename (no description in the source; shown from the name)test_delete_document_removes_registry_entry_and_vectorsskipped
Delete document removes registry entry and vectors (no description in the source; shown from the name)test_insert_chunk_upserts_not_duplicatesskipped
Regression guard: indexing with the same deterministic idtest_init_schema_idempotentskipped
Calling init_schema again (e.g. on reconnect) should reuse thetest_init_schema_dimension_mismatch_raisesskipped
Regression guard for a real check this backend adds beyond
test_redis_backend.py — 16 tests 16 passed, 0 failed, 0 skipped
Tests for RedisBackend. Uses a real Redis Stack instance (RediSearch module loaded) running in an isolated dev container on port 6380 - separate from any production Redis used for caching/Celery. Each test gets its own random index_name/key_prefix so parallel/repeated runs never collide, and the index is dropped in teardown.
test_requires_redis_urlpassed
Requires redis url (no description in the source; shown from the name)test_missing_search_module_raisespassed
Regression guard for the real gotcha encountered live: productiontest_insert_and_search_dense_shapepassed
Insert and search dense shape (no description in the source; shown from the name)test_search_dense_document_id_filterpassed
Search dense document id filter (no description in the source; shown from the name)test_document_id_with_hyphens_is_escapedpassed
Regression guard for the real TAG-escaping gotcha (live-verified):test_search_dense_unsupported_filter_keys_are_ignored_not_erroredpassed
Honest documented limitation: RediSearch requires predeclaredtest_search_dense_empty_embedding_returns_emptypassed
Search dense empty embedding returns empty (no description in the source; shown from the name)test_search_sparse_not_supportedpassed
Search sparse not supported (no description in the source; shown from the name)test_search_hybrid_falls_back_to_densepassed
Search hybrid falls back to dense (no description in the source; shown from the name)test_supports_sparse_is_falsepassed
Supports sparse is false (no description in the source; shown from the name)test_list_documentspassed
List documents (no description in the source; shown from the name)test_get_document_filenamepassed
Get document filename (no description in the source; shown from the name)test_delete_document_removes_registry_entry_and_vectorspassed
Delete document removes registry entry and vectors (no description in the source; shown from the name)test_insert_chunk_upserts_not_duplicatespassed
Regression guard: HSET on the same deterministic keytest_init_schema_idempotentpassed
Calling init_schema again (e.g. on reconnect) should reuse thetest_default_key_prefix_isolates_different_indexespassed
Regression guard for a real bug, live-verified: key_prefix used to
test_smoke.py — 1 tests 1 passed, 0 failed, 0 skipped
Smoke test - the package imports cleanly and VectorBackend is always re-exported regardless of which optional backend extras are installed.
test_importpassed
Import (no description in the source; shown from the name)
test_upstash_backend.py — 14 tests 0 passed, 0 failed, 14 skipped
Tests for UpstashBackend. Uses a real Upstash Vector index (managed cloud service - no local/embedded mode exists, so unlike Chroma/LanceDB this needs real credentials). Reads UPSTASH_VECTOR_REST_URL and UPSTASH_VECTOR_REST_TOKEN from the environment - tests skip cleanly if these aren't set, rather than failing confusingly.
test_requires_url_and_tokenskipped
Requires url and token (no description in the source; shown from the name)test_init_schema_rejects_dimension_mismatchskipped
Init schema rejects dimension mismatch (no description in the source; shown from the name)test_insert_and_search_dense_shapeskipped
Insert and search dense shape (no description in the source; shown from the name)test_search_dense_single_key_filterskipped
Search dense single key filter (no description in the source; shown from the name)test_search_dense_multi_key_filterskipped
Upstash's filter= is a real SQL-like string, so multi-key filterstest_search_dense_empty_embedding_returns_emptyskipped
Search dense empty embedding returns empty (no description in the source; shown from the name)test_search_sparse_not_supportedskipped
Search sparse not supported (no description in the source; shown from the name)test_search_hybrid_falls_back_to_denseskipped
Search hybrid falls back to dense (no description in the source; shown from the name)test_supports_sparse_is_falseskipped
Supports sparse is false (no description in the source; shown from the name)test_list_documentsskipped
List documents (no description in the source; shown from the name)test_get_document_filenameskipped
Get document filename (no description in the source; shown from the name)test_delete_document_removes_registry_entry_and_vectorsskipped
Delete document removes registry entry and vectors (no description in the source; shown from the name)test_insert_chunk_upserts_not_duplicatesskipped
Regression guard: re-inserting the same document_id/chunk_indextest_init_schema_idempotentskipped
Calling init_schema again should reconnect and re-verify