chroma-core/chroma

[CLN] Break up test_api

Open

#2586 opened on Jul 28, 2024

View on GitHub
 (3 comments) (0 reactions) (1 assignee)Rust (27,958 stars) (2,247 forks)batch import
by-chromacleanupgood first issue

Description

test_api.py is a legacy of Chroma's launch, and provided some basic initial test coverage. We've continued to add to it as the project has evolved, and it's become a catch-all kitchen sink test file.

In practice a lot of the surface covered in test_api is better covered by our property tests. test_api.py should be broken up into separate files by API / object, and each object test should cover exceptional cases, rather than normal operation.

For example, we should save entropy in the property tests by not having them generate lists of IDs that are shorter than the lists of documents on a Collection.add call, but we should also be testing this path.

Contributor guide