Skip to content

Use async DocumentStore mixin tests in pgvector #3050

@davidsbatista

Description

@davidsbatista

As part of deepset-ai/haystack#10799, async test mixin classes are being added to haystack.testing.document_store. Once those are in place, the pgvector integration should inherit the relevant mixins to avoid maintaining duplicate test code.

What needs to be done

In integrations/pgvector/tests/test_document_store_async.py, update the async test class to inherit the appropriate mixin classes:

from haystack.testing.document_store import (
    DocumentStoreBaseExtendedAsyncTests,
    CountDocumentsByFilterAsyncTest,
    CountUniqueMetadataByFilterAsyncTest,
    GetMetadataFieldsInfoAsyncTest,
    GetMetadataFieldMinMaxAsyncTest,
    GetMetadataFieldUniqueValuesAsyncTest,
)

Tests that can be removed (covered by mixins)

  • test_write_documents
  • test_count_documents
  • test_filter_documents
  • test_delete_documents
  • test_delete_all_documents_async
  • test_delete_by_filter_async
  • test_delete_by_filter_async_no_matches
  • test_delete_by_filter_async_advanced_filters
  • test_update_by_filter_async
  • test_update_by_filter_async_multiple_fields
  • test_update_by_filter_async_no_matches
  • test_update_by_filter_async_advanced_filters
  • test_count_documents_by_filter_async
  • test_count_unique_metadata_by_filter_async
  • test_get_metadata_fields_info_async
  • test_get_metadata_field_min_max_async
  • test_get_metadata_field_unique_values_async

Tests to keep (pgvector-specific)

  • test_write_blob
  • test_connection_check_and_recreation
  • test_invalid_connection_string
  • test_hnsw_index_recreation
  • test_create_table_if_not_exists
  • test_delete_table_async_first_call
  • test_update_by_filter_async_empty_meta_raises_error (pgvector-specific validation)

Acceptance criteria

  • The async test class inherits the relevant async mixin classes
  • The document_store async fixture is correctly wired up
  • All duplicate tests listed above are removed
  • All pgvector-specific tests are preserved
  • The full test suite passes

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions