-
Notifications
You must be signed in to change notification settings - Fork 1.5k
JAVA-5767 Support $lookup in CSFLE and QE #1638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryption25Lookup.java
Outdated
Show resolved
Hide resolved
driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryption25Lookup.java
Outdated
Show resolved
Hide resolved
...r-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java
Outdated
Show resolved
Hide resolved
driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryption25Lookup.java
Outdated
Show resolved
Hide resolved
driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryption25Lookup.java
Outdated
Show resolved
Hide resolved
…ncryption25Lookup.java Co-authored-by: Viacheslav Babanin <[email protected]>
mongodb-crypt/build.gradle.kts
Outdated
@@ -60,7 +60,7 @@ val jnaLibsPath: String = System.getProperty("jnaLibsPath", "${jnaResourcesDir}$ | |||
val jnaResources: String = System.getProperty("jna.library.path", jnaLibsPath) | |||
|
|||
// Download jnaLibs that match the git tag or revision to jnaResourcesBuildDir | |||
val downloadRevision = "9a88ac5698e8e3ffcd6580b98c247f0126f26c40" // r1.11.0 | |||
val downloadRevision = "67f10bfb8de69549987cc62a1d4548d7b511a7ef" // TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO, confirm the hash we want to use
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once libmongocrypt is released, we can replace this with the tag, e.g. 1.13.0
, as that download url is also available
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Tagged commits are uploaded to a path with the tag. For reference, on 1.12.0 the Files tab shows two uploaded URLs:
https://mciuploads.s3.amazonaws.com/libmongocrypt/java/085a0ce6538a28179da6bfd2927aea106924443a/libmongocrypt-java.tar.gz
https://mciuploads.s3.amazonaws.com/libmongocrypt/java/1.12.0/libmongocrypt-java.tar.gz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we create a ticket for this //TODO
until libmongocrypt
is released, so we don't forget to update this hash to a tag before the driver release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Release is imminent, so let's just wait a bit to merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1.13.0 is released. Upload is available at:
https://mciuploads.s3.amazonaws.com/libmongocrypt/java/1.13.0/libmongocrypt-java.tar.gz
driver-sync/src/main/com/mongodb/client/internal/CollectionInfoRetriever.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't plan to review the prose tests in detail, but LGTM on the rest.
mongodb-crypt/build.gradle.kts
Outdated
@@ -60,7 +60,7 @@ val jnaLibsPath: String = System.getProperty("jnaLibsPath", "${jnaResourcesDir}$ | |||
val jnaResources: String = System.getProperty("jna.library.path", jnaLibsPath) | |||
|
|||
// Download jnaLibs that match the git tag or revision to jnaResourcesBuildDir | |||
val downloadRevision = "9a88ac5698e8e3ffcd6580b98c247f0126f26c40" // r1.11.0 | |||
val downloadRevision = "67f10bfb8de69549987cc62a1d4548d7b511a7ef" // TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Tagged commits are uploaded to a path with the tag. For reference, on 1.12.0 the Files tab shows two uploaded URLs:
https://mciuploads.s3.amazonaws.com/libmongocrypt/java/085a0ce6538a28179da6bfd2927aea106924443a/libmongocrypt-java.tar.gz
https://mciuploads.s3.amazonaws.com/libmongocrypt/java/1.12.0/libmongocrypt-java.tar.gz
driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryption25LookupProseTests.java
Show resolved
Hide resolved
"csfle, csfle2", | ||
"qe, qe2", | ||
"no_schema, no_schema2"}) | ||
void cases1Through7(final String from, final String to) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nit] Just a bit more context that the test is about using multiple auto-encryption schemas. It might save time understanding its purpose in the future. Alternatively, "test" prefix or comment above a test could help.
void cases1Through7(final String from, final String to) { | |
void shouldUseMultipleAutoEncryptionSchemasCases1Through7(final String from, final String to) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used the "test" prefix.
For prose tests, I think the priority is being able to easily reference the prose test spec file. Tests should be numbered, with the number near the start of the test or file to ensure alphabetical sorting. If extra wording will help clarify, tests should match spec wording of the individual test (so tests should end up with mostly different names), and if the spec's test case naming is unclear, an edit should be made to the spec.
} | ||
|
||
@Test | ||
void case8() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void case8() { | |
void shouldUseMultipleAutoEncryptionSchemasCase8() { |
} | ||
|
||
@Test | ||
void case9() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void case9() { | |
void shouldUseMultipleAutoEncryptionSchemasCase9() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Just couple of nits above.
…ncryption25LookupProseTests.java Co-authored-by: Viacheslav Babanin <[email protected]>
Co-authored-by: Jeff Yemin <[email protected]>
JAVA-5767
Draft due to failing tests (4 and 6).