mongodb / specifications

Specifications related to MongoDB
http://specifications.readthedocs.io/en/latest
Other
389 stars 242 forks source link

DRIVERS-2630: add e2e testing for search index commands and clarifications to search index spec #1442

Closed baileympearson closed 1 year ago

baileympearson commented 1 year ago

This PR does three things:

The third bullet can be separated into a different PR if necessary.

Node POC: https://github.com/mongodb/node-mongodb-native/pull/3736

Notes

Why have unified tests and prose tests?

The initial plan was to enhance the unified test runner to support the new search index management commands. There ended up being complications integrating support for the new commands into the UTR (the largest issue was that the commands are asynchronous, and return from the server before the changes have finished). The unified tests were already written and expected errors when run against non-Atlas deployments, so they effectively serve as unit tests for drivers without writing another specialized test format. The new prose tests add end-to-end functionality for drivers' implementations.

Why setup/teardown a cluster for each test?

CSOT

These commands should work with CSOT as per the CSOT spec, but looking through the specs repo we don't seem to have tests for every driver helper that supports timeoutMS. Consequently, I chose not to add tests for these helpers with timeoutMS.

Please complete the following before merging: