DRIVERS-3082 add prose tests for $lookup #1757
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Summary
Add prose test for
$lookupsupport in QE/CSFLE.Tests were run in the C driver in this patch. Note:
latesttasks were updated to uselatest-buildto use unreleased 8.1 builds (see slack for background).Testing requires a unreleased version of libmongocrypt to include changes from MONGOCRYPT-723. Binaries are available on this patch build or by building from source at mongodb/libmongocrypt@33fdf65.
The failed
Markdown Link Checkon the GitHub action appears unrelated (and is failing on master).libmongocrypt protocol change
libmongocrypt's protocol previously assumed auto encrypting a command only required at most one schema. With
$lookupthere can be multiple schemas on anaggregatecommand. As a result, a small driver change is needed: feed all listCollections results to libmongocrypt in theMONGOCRYPT_CTX_NEED_MONGO_COLLINFO(_WITH_DB)states. The previous protocol only required returning the first. Callmongocrypt_setopt_enable_multiple_collinfoto indicate the new behavior is implemented (otherwise libmongocrypt returns an error if a command requires multiple schemas).The libmongocrypt documentation includes a change to the protocol in integrating.md.
See the small protocol change implemented in the C driver here.
Please complete the following before merging:
[ ] Update changelog.Test changes onlyclusters, and serverless).