From de253a749f1dd1194b6fbc30c36e88f906981bd3 Mon Sep 17 00:00:00 2001 From: Bailey Pearson Date: Thu, 11 Jul 2024 09:12:21 -0600 Subject: [PATCH] feat(NODE-5908): support range v2 (#4141) Co-authored-by: Aditi Khare <106987683+aditi-khare-mongoDB@users.noreply.github.com> --- .evergreen/config.in.yml | 17 ++- .evergreen/config.yml | 88 +++---------- .evergreen/generate_evergreen_tasks.js | 47 +++---- .../install-mongodb-client-encryption.sh | 30 +++++ .evergreen/run-custom-csfle-tests.sh | 42 ------ package-lock.json | 122 +++++++----------- package.json | 2 +- .../client_encryption.ts | 45 +------ ...nt_side_encryption.prose.06.corpus.test.ts | 2 +- ...prose.22.range_explicit_encryption.test.ts | 51 +++++--- .../client_side_encryption.spec.test.ts | 23 ++-- .../node-specific/client_encryption.test.ts | 36 +++--- .../read_write_concern.spec.test.js | 3 +- .../retryable_reads.spec.test.ts | 11 +- .../etc/data/range-encryptedFields-Date.json | 7 +- ...ge-encryptedFields-DecimalNoPrecision.json | 7 +- ...ange-encryptedFields-DecimalPrecision.json | 7 +- ...nge-encryptedFields-DoubleNoPrecision.json | 7 +- ...range-encryptedFields-DoublePrecision.json | 7 +- .../etc/data/range-encryptedFields-Int.json | 7 +- .../etc/data/range-encryptedFields-Long.json | 7 +- .../tests/legacy/fle2v2-Compact.json | 2 +- .../tests/legacy/fle2v2-Compact.yml | 5 +- ...son => fle2v2-Rangev2-Date-Aggregate.json} | 37 +++--- ....yml => fle2v2-Rangev2-Date-Aggregate.yml} | 18 +-- ...n => fle2v2-Rangev2-Date-Correctness.json} | 10 +- ...ml => fle2v2-Rangev2-Date-Correctness.yml} | 6 +- ...e.json => fle2v2-Rangev2-Date-Delete.json} | 31 +++-- ...ete.yml => fle2v2-Rangev2-Date-Delete.yml} | 12 +- ...fle2v2-Rangev2-Date-FindOneAndUpdate.json} | 37 +++--- ... fle2v2-Rangev2-Date-FindOneAndUpdate.yml} | 18 +-- ...on => fle2v2-Rangev2-Date-InsertFind.json} | 37 +++--- ...yml => fle2v2-Rangev2-Date-InsertFind.yml} | 18 +-- ...e.json => fle2v2-Rangev2-Date-Update.json} | 37 +++--- ...ate.yml => fle2v2-Rangev2-Date-Update.yml} | 18 +-- ... => fle2v2-Rangev2-Decimal-Aggregate.json} | 37 +++--- ...l => fle2v2-Rangev2-Decimal-Aggregate.yml} | 18 +-- ...> fle2v2-Rangev2-Decimal-Correctness.json} | 10 +- ...=> fle2v2-Rangev2-Decimal-Correctness.yml} | 6 +- ...son => fle2v2-Rangev2-Decimal-Delete.json} | 31 +++-- ....yml => fle2v2-Rangev2-Decimal-Delete.yml} | 12 +- ...2v2-Rangev2-Decimal-FindOneAndUpdate.json} | 37 +++--- ...e2v2-Rangev2-Decimal-FindOneAndUpdate.yml} | 18 +-- ...=> fle2v2-Rangev2-Decimal-InsertFind.json} | 37 +++--- ... => fle2v2-Rangev2-Decimal-InsertFind.yml} | 18 +-- ...son => fle2v2-Rangev2-Decimal-Update.json} | 37 +++--- ....yml => fle2v2-Rangev2-Decimal-Update.yml} | 18 +-- ...2-Rangev2-DecimalPrecision-Aggregate.json} | 37 +++--- ...v2-Rangev2-DecimalPrecision-Aggregate.yml} | 18 +-- ...Rangev2-DecimalPrecision-Correctness.json} | 10 +- ...-Rangev2-DecimalPrecision-Correctness.yml} | 6 +- ...e2v2-Rangev2-DecimalPrecision-Delete.json} | 31 +++-- ...le2v2-Rangev2-DecimalPrecision-Delete.yml} | 12 +- ...v2-DecimalPrecision-FindOneAndUpdate.json} | 37 +++--- ...ev2-DecimalPrecision-FindOneAndUpdate.yml} | 18 +-- ...-Rangev2-DecimalPrecision-InsertFind.json} | 37 +++--- ...2-Rangev2-DecimalPrecision-InsertFind.yml} | 18 +-- ...e2v2-Rangev2-DecimalPrecision-Update.json} | 37 +++--- ...le2v2-Rangev2-DecimalPrecision-Update.yml} | 18 +-- ...n => fle2v2-Rangev2-Double-Aggregate.json} | 37 +++--- ...ml => fle2v2-Rangev2-Double-Aggregate.yml} | 18 +-- ...=> fle2v2-Rangev2-Double-Correctness.json} | 10 +- ... => fle2v2-Rangev2-Double-Correctness.yml} | 6 +- ...json => fle2v2-Rangev2-Double-Delete.json} | 31 +++-- ...e.yml => fle2v2-Rangev2-Double-Delete.yml} | 12 +- ...e2v2-Rangev2-Double-FindOneAndUpdate.json} | 37 +++--- ...le2v2-Rangev2-Double-FindOneAndUpdate.yml} | 18 +-- ... => fle2v2-Rangev2-Double-InsertFind.json} | 37 +++--- ...l => fle2v2-Rangev2-Double-InsertFind.yml} | 18 +-- ...json => fle2v2-Rangev2-Double-Update.json} | 37 +++--- ...e.yml => fle2v2-Rangev2-Double-Update.yml} | 18 +-- ...v2-Rangev2-DoublePrecision-Aggregate.json} | 37 +++--- ...2v2-Rangev2-DoublePrecision-Aggregate.yml} | 18 +-- ...-Rangev2-DoublePrecision-Correctness.json} | 10 +- ...2-Rangev2-DoublePrecision-Correctness.yml} | 6 +- ...le2v2-Rangev2-DoublePrecision-Delete.json} | 31 +++-- ...fle2v2-Rangev2-DoublePrecision-Delete.yml} | 12 +- ...ev2-DoublePrecision-FindOneAndUpdate.json} | 37 +++--- ...gev2-DoublePrecision-FindOneAndUpdate.yml} | 18 +-- ...2-Rangev2-DoublePrecision-InsertFind.json} | 37 +++--- ...v2-Rangev2-DoublePrecision-InsertFind.yml} | 18 +-- ...le2v2-Rangev2-DoublePrecision-Update.json} | 37 +++--- ...fle2v2-Rangev2-DoublePrecision-Update.yml} | 18 +-- ...json => fle2v2-Rangev2-Int-Aggregate.json} | 37 +++--- ...e.yml => fle2v2-Rangev2-Int-Aggregate.yml} | 18 +-- ...on => fle2v2-Rangev2-Int-Correctness.json} | 10 +- ...yml => fle2v2-Rangev2-Int-Correctness.yml} | 6 +- ...te.json => fle2v2-Rangev2-Int-Delete.json} | 31 +++-- ...lete.yml => fle2v2-Rangev2-Int-Delete.yml} | 12 +- ... fle2v2-Rangev2-Int-FindOneAndUpdate.json} | 37 +++--- ...> fle2v2-Rangev2-Int-FindOneAndUpdate.yml} | 18 +-- ...son => fle2v2-Rangev2-Int-InsertFind.json} | 37 +++--- ....yml => fle2v2-Rangev2-Int-InsertFind.yml} | 18 +-- ...te.json => fle2v2-Rangev2-Int-Update.json} | 37 +++--- ...date.yml => fle2v2-Rangev2-Int-Update.yml} | 18 +-- ...son => fle2v2-Rangev2-Long-Aggregate.json} | 37 +++--- ....yml => fle2v2-Rangev2-Long-Aggregate.yml} | 18 +-- ...n => fle2v2-Rangev2-Long-Correctness.json} | 10 +- ...ml => fle2v2-Rangev2-Long-Correctness.yml} | 6 +- ...e.json => fle2v2-Rangev2-Long-Delete.json} | 31 +++-- ...ete.yml => fle2v2-Rangev2-Long-Delete.yml} | 12 +- ...fle2v2-Rangev2-Long-FindOneAndUpdate.json} | 37 +++--- ... fle2v2-Rangev2-Long-FindOneAndUpdate.yml} | 18 +-- ...on => fle2v2-Rangev2-Long-InsertFind.json} | 37 +++--- ...yml => fle2v2-Rangev2-Long-InsertFind.yml} | 18 +-- ...e.json => fle2v2-Rangev2-Long-Update.json} | 37 +++--- ...ate.yml => fle2v2-Rangev2-Long-Update.yml} | 18 +-- ...ype.json => fle2v2-Rangev2-WrongType.json} | 9 +- ...gType.yml => fle2v2-Rangev2-WrongType.yml} | 7 +- test/tools/runner/config.ts | 1 + .../filters/client_encryption_filter.ts | 35 +++-- test/tools/runner/hooks/configuration.ts | 9 +- test/tools/spec-runner/index.js | 11 +- 113 files changed, 1050 insertions(+), 1550 deletions(-) create mode 100644 .evergreen/install-mongodb-client-encryption.sh rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Aggregate.json => fle2v2-Rangev2-Date-Aggregate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Aggregate.yml => fle2v2-Rangev2-Date-Aggregate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Correctness.json => fle2v2-Rangev2-Date-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Correctness.yml => fle2v2-Rangev2-Date-Correctness.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Delete.json => fle2v2-Rangev2-Date-Delete.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Delete.yml => fle2v2-Rangev2-Date-Delete.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-FindOneAndUpdate.json => fle2v2-Rangev2-Date-FindOneAndUpdate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-FindOneAndUpdate.yml => fle2v2-Rangev2-Date-FindOneAndUpdate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-InsertFind.json => fle2v2-Rangev2-Date-InsertFind.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-InsertFind.yml => fle2v2-Rangev2-Date-InsertFind.yml} (92%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Update.json => fle2v2-Rangev2-Date-Update.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Date-Update.yml => fle2v2-Rangev2-Date-Update.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Aggregate.json => fle2v2-Rangev2-Decimal-Aggregate.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Aggregate.yml => fle2v2-Rangev2-Decimal-Aggregate.yml} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Correctness.json => fle2v2-Rangev2-Decimal-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Correctness.yml => fle2v2-Rangev2-Decimal-Correctness.yml} (97%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Delete.json => fle2v2-Rangev2-Decimal-Delete.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Delete.yml => fle2v2-Rangev2-Decimal-Delete.yml} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-FindOneAndUpdate.json => fle2v2-Rangev2-Decimal-FindOneAndUpdate.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-FindOneAndUpdate.yml => fle2v2-Rangev2-Decimal-FindOneAndUpdate.yml} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-InsertFind.json => fle2v2-Rangev2-Decimal-InsertFind.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-InsertFind.yml => fle2v2-Rangev2-Decimal-InsertFind.yml} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Update.json => fle2v2-Rangev2-Decimal-Update.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Decimal-Update.yml => fle2v2-Rangev2-Decimal-Update.yml} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Aggregate.json => fle2v2-Rangev2-DecimalPrecision-Aggregate.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Aggregate.yml => fle2v2-Rangev2-DecimalPrecision-Aggregate.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Correctness.json => fle2v2-Rangev2-DecimalPrecision-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Correctness.yml => fle2v2-Rangev2-DecimalPrecision-Correctness.yml} (97%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Delete.json => fle2v2-Rangev2-DecimalPrecision-Delete.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Delete.yml => fle2v2-Rangev2-DecimalPrecision-Delete.yml} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json => fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml => fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-InsertFind.json => fle2v2-Rangev2-DecimalPrecision-InsertFind.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-InsertFind.yml => fle2v2-Rangev2-DecimalPrecision-InsertFind.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Update.json => fle2v2-Rangev2-DecimalPrecision-Update.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DecimalPrecision-Update.yml => fle2v2-Rangev2-DecimalPrecision-Update.yml} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Aggregate.json => fle2v2-Rangev2-Double-Aggregate.json} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Aggregate.yml => fle2v2-Rangev2-Double-Aggregate.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Correctness.json => fle2v2-Rangev2-Double-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Correctness.yml => fle2v2-Rangev2-Double-Correctness.yml} (97%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Delete.json => fle2v2-Rangev2-Double-Delete.json} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Delete.yml => fle2v2-Rangev2-Double-Delete.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-FindOneAndUpdate.json => fle2v2-Rangev2-Double-FindOneAndUpdate.json} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-FindOneAndUpdate.yml => fle2v2-Rangev2-Double-FindOneAndUpdate.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-InsertFind.json => fle2v2-Rangev2-Double-InsertFind.json} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-InsertFind.yml => fle2v2-Rangev2-Double-InsertFind.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Update.json => fle2v2-Rangev2-Double-Update.json} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Double-Update.yml => fle2v2-Rangev2-Double-Update.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Aggregate.json => fle2v2-Rangev2-DoublePrecision-Aggregate.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Aggregate.yml => fle2v2-Rangev2-DoublePrecision-Aggregate.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Correctness.json => fle2v2-Rangev2-DoublePrecision-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Correctness.yml => fle2v2-Rangev2-DoublePrecision-Correctness.yml} (97%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Delete.json => fle2v2-Rangev2-DoublePrecision-Delete.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Delete.yml => fle2v2-Rangev2-DoublePrecision-Delete.yml} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-FindOneAndUpdate.json => fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml => fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-InsertFind.json => fle2v2-Rangev2-DoublePrecision-InsertFind.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-InsertFind.yml => fle2v2-Rangev2-DoublePrecision-InsertFind.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Update.json => fle2v2-Rangev2-DoublePrecision-Update.json} (96%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-DoublePrecision-Update.yml => fle2v2-Rangev2-DoublePrecision-Update.yml} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Aggregate.json => fle2v2-Rangev2-Int-Aggregate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Aggregate.yml => fle2v2-Rangev2-Int-Aggregate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Correctness.json => fle2v2-Rangev2-Int-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Correctness.yml => fle2v2-Rangev2-Int-Correctness.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Delete.json => fle2v2-Rangev2-Int-Delete.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Delete.yml => fle2v2-Rangev2-Int-Delete.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-FindOneAndUpdate.json => fle2v2-Rangev2-Int-FindOneAndUpdate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-FindOneAndUpdate.yml => fle2v2-Rangev2-Int-FindOneAndUpdate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-InsertFind.json => fle2v2-Rangev2-Int-InsertFind.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-InsertFind.yml => fle2v2-Rangev2-Int-InsertFind.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Update.json => fle2v2-Rangev2-Int-Update.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Int-Update.yml => fle2v2-Rangev2-Int-Update.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Aggregate.json => fle2v2-Rangev2-Long-Aggregate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Aggregate.yml => fle2v2-Rangev2-Long-Aggregate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Correctness.json => fle2v2-Rangev2-Long-Correctness.json} (99%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Correctness.yml => fle2v2-Rangev2-Long-Correctness.yml} (98%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Delete.json => fle2v2-Rangev2-Long-Delete.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Delete.yml => fle2v2-Rangev2-Long-Delete.yml} (94%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-FindOneAndUpdate.json => fle2v2-Rangev2-Long-FindOneAndUpdate.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-FindOneAndUpdate.yml => fle2v2-Rangev2-Long-FindOneAndUpdate.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-InsertFind.json => fle2v2-Rangev2-Long-InsertFind.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-InsertFind.yml => fle2v2-Rangev2-Long-InsertFind.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Update.json => fle2v2-Rangev2-Long-Update.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-Long-Update.yml => fle2v2-Rangev2-Long-Update.yml} (93%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-WrongType.json => fle2v2-Rangev2-WrongType.json} (95%) rename test/spec/client-side-encryption/tests/legacy/{fle2v2-Range-WrongType.yml => fle2v2-Rangev2-WrongType.yml} (88%) diff --git a/.evergreen/config.in.yml b/.evergreen/config.in.yml index 2f40498ff5..b4d1c00ac7 100644 --- a/.evergreen/config.in.yml +++ b/.evergreen/config.in.yml @@ -272,6 +272,7 @@ functions: - command: shell.exec type: test params: + shell: bash working_dir: src timeout_secs: 300 script: | @@ -475,8 +476,6 @@ functions: export AWS_CMK_ID='${AWS_CMK_ID}' export AWS_ACCESS_KEY_ID='${AWS_ACCESS_KEY_ID}' export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}' - export CSFLE_GIT_REF='${CSFLE_GIT_REF}' - export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}' EOT - command: shell.exec type: test @@ -914,8 +913,6 @@ functions: export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}' export AWS_REGION='${AWS_REGION}' export AWS_CMK_ID='${AWS_CMK_ID}' - export CSFLE_GIT_REF='${CSFLE_GIT_REF}' - export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}' EOT - command: shell.exec type: test @@ -1074,6 +1071,18 @@ functions: args: - ${PROJECT_DIRECTORY}/.evergreen/run-x509-tests.sh + install mongodb-client-encryption: + - command: subprocess.exec + type: setup + params: + working_dir: "src" + env: + INSTALL_DIR: mongodb-client-encryption + PROJECT_DIRECTORY: ${PROJECT_DIRECTORY} + binary: bash + args: + - ${PROJECT_DIRECTORY}/.evergreen/install-mongodb-client-encryption.sh + tasks: - name: 'test-atlas-data-lake' tags: ["datalake", "mongohouse"] diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 9bbb7c014c..184828452b 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -241,6 +241,7 @@ functions: - command: shell.exec type: test params: + shell: bash working_dir: src timeout_secs: 300 script: | @@ -428,8 +429,6 @@ functions: export AWS_CMK_ID='${AWS_CMK_ID}' export AWS_ACCESS_KEY_ID='${AWS_ACCESS_KEY_ID}' export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}' - export CSFLE_GIT_REF='${CSFLE_GIT_REF}' - export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}' EOT - command: shell.exec type: test @@ -886,8 +885,6 @@ functions: export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}' export AWS_REGION='${AWS_REGION}' export AWS_CMK_ID='${AWS_CMK_ID}' - export CSFLE_GIT_REF='${CSFLE_GIT_REF}' - export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}' EOT - command: shell.exec type: test @@ -1035,6 +1032,17 @@ functions: binary: bash args: - ${PROJECT_DIRECTORY}/.evergreen/run-x509-tests.sh + install mongodb-client-encryption: + - command: subprocess.exec + type: setup + params: + working_dir: src + env: + INSTALL_DIR: mongodb-client-encryption + PROJECT_DIRECTORY: ${PROJECT_DIRECTORY} + binary: bash + args: + - ${PROJECT_DIRECTORY}/.evergreen/install-mongodb-client-encryption.sh tasks: - name: test-atlas-data-lake tags: @@ -3516,7 +3524,7 @@ tasks: variant: '*' status: '*' patch_optional: true - - name: run-custom-csfle-tests-5.0-pinned-commit + - name: run-custom-csfle-tests-5.0 tags: - run-custom-dependency-tests commands: @@ -3528,46 +3536,12 @@ tasks: - {key: NPM_VERSION, value: '9'} - {key: VERSION, value: '5.0'} - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: 974a4614f8c1c3786e5e39fa63568d83f4f69ebd} - - func: install dependencies - - func: bootstrap mongo-orchestration - - func: bootstrap kms servers - - func: run custom csfle tests - - name: run-custom-csfle-tests-5.0-master - tags: - - run-custom-dependency-tests - commands: - - command: expansions.update - type: setup - params: - updates: - - {key: NODE_LTS_VERSION, value: '16'} - - {key: NPM_VERSION, value: '9'} - - {key: VERSION, value: '5.0'} - - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: master} - - func: install dependencies - - func: bootstrap mongo-orchestration - - func: bootstrap kms servers - - func: run custom csfle tests - - name: run-custom-csfle-tests-rapid-pinned-commit - tags: - - run-custom-dependency-tests - commands: - - command: expansions.update - type: setup - params: - updates: - - {key: NODE_LTS_VERSION, value: '16'} - - {key: NPM_VERSION, value: '9'} - - {key: VERSION, value: rapid} - - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: 974a4614f8c1c3786e5e39fa63568d83f4f69ebd} - func: install dependencies - func: bootstrap mongo-orchestration - func: bootstrap kms servers + - func: install mongodb-client-encryption - func: run custom csfle tests - - name: run-custom-csfle-tests-rapid-master + - name: run-custom-csfle-tests-rapid tags: - run-custom-dependency-tests commands: @@ -3579,29 +3553,12 @@ tasks: - {key: NPM_VERSION, value: '9'} - {key: VERSION, value: rapid} - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: master} - - func: install dependencies - - func: bootstrap mongo-orchestration - - func: bootstrap kms servers - - func: run custom csfle tests - - name: run-custom-csfle-tests-latest-pinned-commit - tags: - - run-custom-dependency-tests - commands: - - command: expansions.update - type: setup - params: - updates: - - {key: NODE_LTS_VERSION, value: '16'} - - {key: NPM_VERSION, value: '9'} - - {key: VERSION, value: latest} - - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: 974a4614f8c1c3786e5e39fa63568d83f4f69ebd} - func: install dependencies - func: bootstrap mongo-orchestration - func: bootstrap kms servers + - func: install mongodb-client-encryption - func: run custom csfle tests - - name: run-custom-csfle-tests-latest-master + - name: run-custom-csfle-tests-latest tags: - run-custom-dependency-tests commands: @@ -3613,10 +3570,10 @@ tasks: - {key: NPM_VERSION, value: '9'} - {key: VERSION, value: latest} - {key: TOPOLOGY, value: replica_set} - - {key: CSFLE_GIT_REF, value: master} - func: install dependencies - func: bootstrap mongo-orchestration - func: bootstrap kms servers + - func: install mongodb-client-encryption - func: run custom csfle tests - name: test-latest-driver-mongodb-client-encryption-6.0.0 tags: @@ -5118,12 +5075,9 @@ buildvariants: display_name: Custom Dependency Version Test run_on: rhel80-large tasks: - - run-custom-csfle-tests-5.0-pinned-commit - - run-custom-csfle-tests-5.0-master - - run-custom-csfle-tests-rapid-pinned-commit - - run-custom-csfle-tests-rapid-master - - run-custom-csfle-tests-latest-pinned-commit - - run-custom-csfle-tests-latest-master + - run-custom-csfle-tests-5.0 + - run-custom-csfle-tests-rapid + - run-custom-csfle-tests-latest - test-latest-driver-mongodb-client-encryption-6.0.0 - name: rhel8-test-serverless display_name: Serverless Test diff --git a/.evergreen/generate_evergreen_tasks.js b/.evergreen/generate_evergreen_tasks.js index a9d2584631..5d2d2b366c 100644 --- a/.evergreen/generate_evergreen_tasks.js +++ b/.evergreen/generate_evergreen_tasks.js @@ -579,33 +579,29 @@ BUILD_VARIANTS.push({ tasks: ['test-atlas-data-lake'] }); -const oneOffFuncAsTasks = []; - -const FLE_PINNED_COMMIT = '974a4614f8c1c3786e5e39fa63568d83f4f69ebd'; +const customDependencyTests = []; for (const version of ['5.0', 'rapid', 'latest']) { - for (const ref of [FLE_PINNED_COMMIT, 'master']) { - oneOffFuncAsTasks.push({ - name: `run-custom-csfle-tests-${version}-${ref === 'master' ? ref : 'pinned-commit'}`, - tags: ['run-custom-dependency-tests'], - commands: [ - updateExpansions({ - NODE_LTS_VERSION: LOWEST_LTS, - NPM_VERSION: 9, - VERSION: version, - TOPOLOGY: 'replica_set', - CSFLE_GIT_REF: ref - }), - { func: 'install dependencies' }, - { func: 'bootstrap mongo-orchestration' }, - { func: 'bootstrap kms servers' }, - { func: 'run custom csfle tests' } - ] - }); - } + customDependencyTests.push({ + name: `run-custom-csfle-tests-${version}`, + tags: ['run-custom-dependency-tests'], + commands: [ + updateExpansions({ + NODE_LTS_VERSION: LOWEST_LTS, + NPM_VERSION: 9, + VERSION: version, + TOPOLOGY: 'replica_set', + }), + { func: 'install dependencies' }, + { func: 'bootstrap mongo-orchestration' }, + { func: 'bootstrap kms servers' }, + { func: 'install mongodb-client-encryption' }, + { func: 'run custom csfle tests' } + ] + }); } -oneOffFuncAsTasks.push({ +customDependencyTests.push({ name: `test-latest-driver-mongodb-client-encryption-6.0.0`, tags: ['run-custom-dependency-tests'], commands: [ @@ -641,13 +637,13 @@ const coverageTask = { }; SINGLETON_TASKS.push(coverageTask); -SINGLETON_TASKS.push(...oneOffFuncAsTasks); +SINGLETON_TASKS.push(...customDependencyTests); BUILD_VARIANTS.push({ name: 'rhel8-custom-dependency-tests', display_name: 'Custom Dependency Version Test', run_on: DEFAULT_OS, - tasks: oneOffFuncAsTasks.map(({ name }) => name) + tasks: customDependencyTests.map(({ name }) => name) }); // special case for serverless testing @@ -759,7 +755,6 @@ fileData.tasks = (fileData.tasks || []) .concat(AUTH_DISABLED_TASKS) .concat(AWS_LAMBDA_HANDLER_TASKS) .concat(MONGOCRYPTD_CSFLE_TASKS); - fileData.buildvariants = (fileData.buildvariants || []).concat(BUILD_VARIANTS); fs.writeFileSync( diff --git a/.evergreen/install-mongodb-client-encryption.sh b/.evergreen/install-mongodb-client-encryption.sh new file mode 100644 index 0000000000..583749feea --- /dev/null +++ b/.evergreen/install-mongodb-client-encryption.sh @@ -0,0 +1,30 @@ +#! /usr/bin/env bash +set +o xtrace # Do not write AWS credentials to stderr + +# Initial checks for running these tests +if [ -z ${PROJECT_DIRECTORY+omitted} ]; then echo "PROJECT_DIRECTORY is unset" && exit 1; fi + +source "${PROJECT_DIRECTORY}/.evergreen/init-node-and-npm-env.sh" + +set -o xtrace # Write all commands first to stderr +set -o errexit # Exit the script with error if any of the commands fail + +rm -rf $INSTALL_DIR +git clone https://github.com/mongodb-js/mongodb-client-encryption.git +pushd mongodb-client-encryption + +if [ -n "${LIBMONGOCRYPT_VERSION}" ]; then + # nightly tests test with `latest` to test against the laster FLE build. + npm run install:libmongocrypt -- --libVersion $LIBMONGOCRYPT_VERSION +else + # otherwise use whatever is specified in the package.json. + npm run install:libmongocrypt +fi + +echo "finished installing libmongocrypt" +BINDINGS_DIR=$(pwd) + +popd + +echo "linking mongodb-client-encrytion" +npm link ./mongodb-client-encryption diff --git a/.evergreen/run-custom-csfle-tests.sh b/.evergreen/run-custom-csfle-tests.sh index b71d0904e6..e0cd68d782 100644 --- a/.evergreen/run-custom-csfle-tests.sh +++ b/.evergreen/run-custom-csfle-tests.sh @@ -22,48 +22,6 @@ echo "adding temporary AWS credentials to environment" # CSFLE_AWS_TEMP_ACCESS_KEY_ID, CSFLE_AWS_TEMP_SECRET_ACCESS_KEY, CSFLE_AWS_TEMP_SESSION_TOKEN . "$DRIVERS_TOOLS"/.evergreen/csfle/set-temp-creds.sh -ABS_PATH_TO_PATCH=$(pwd) - -# Environment Variables: -# CSFLE_GIT_REF - set the git reference to checkout for a custom CSFLE version -# CDRIVER_GIT_REF - set the git reference to checkout for a custom CDRIVER version (this is for libbson) -CSFLE_GIT_REF=${CSFLE_GIT_REF:-master} -CDRIVER_GIT_REF=${CDRIVER_GIT_REF:-1.17.6} - -rm -rf ../csfle-deps-tmp -mkdir -p ../csfle-deps-tmp -pushd ../csfle-deps-tmp - -rm -rf libmongocrypt mongo-c-driver - -git clone https://github.com/mongodb/libmongocrypt.git -pushd libmongocrypt -git fetch --tags -git checkout "$CSFLE_GIT_REF" -b csfle-custom -echo "checked out libmongocrypt at $(git rev-parse HEAD)" -popd # libmongocrypt - -git clone https://github.com/mongodb/mongo-c-driver.git -pushd mongo-c-driver -git fetch --tags -git checkout "$CDRIVER_GIT_REF" -b cdriver-custom -echo "checked out C driver at $(git rev-parse HEAD)" -popd # mongo-c-driver - -pushd libmongocrypt/bindings/node - -npm install --production --ignore-scripts -bash ./etc/build-static.sh - -npm run rebuild # just in case this is necessary? - -BINDINGS_DIR=$(pwd) -popd # libmongocrypt/bindings/node -popd # ../csfle-deps-tmp - -# copy mongodb-client-encryption into driver's node_modules -npm link $BINDINGS_DIR - export MONGODB_URI=${MONGODB_URI} export KMIP_TLS_CA_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/ca.pem" export KMIP_TLS_CERT_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem" diff --git a/package-lock.json b/package-lock.json index 538973bf4f..0fa708e66c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ "js-yaml": "^4.1.0", "mocha": "^10.4.0", "mocha-sinon": "^2.1.2", - "mongodb-client-encryption": "^6.0.1", + "mongodb-client-encryption": "^6.1.0-alpha.0", "mongodb-legacy": "^6.0.1", "nyc": "^15.1.0", "prettier": "^2.8.8", @@ -7729,15 +7729,51 @@ "node": ">=10" } }, - "node_modules/mongodb": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.0.0.tgz", - "integrity": "sha512-wUIYesF4DTyDccm0noE5TwGi9ISdXUAi9T2cQ4xPc+EUBZG44bfMVt2ecOG5Ypca7eCz3oRpJm6YI6c7jAnuNw==", + "node_modules/mongodb-client-encryption": { + "version": "6.1.0-alpha.0", + "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.1.0-alpha.0.tgz", + "integrity": "sha512-pcypn4m2EdAYPkfw0V4cfu64E5spJDHJTVSiIU8ErNbiIk+zJe1HcnfMRbyiXsulI4B46aWoOzNNd7NUGUBRwg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.1.2" + }, + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", + "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongodb-legacy": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mongodb-legacy/-/mongodb-legacy-6.0.1.tgz", + "integrity": "sha512-cbm3UOqAYo6yElNk9CHNp5tQwRl1PCpBpcSkVvlvyg7S+gG6vSt1zrFiEniNaWOwwWnIr/IsAeSo48Nm701B/A==", + "dev": true, + "dependencies": { + "mongodb": "^6.0.0" + }, + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/mongodb-legacy/node_modules/mongodb": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", + "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", "dev": true, "dependencies": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^6.0.0", - "mongodb-connection-string-url": "^2.6.0" + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", + "mongodb-connection-string-url": "^3.0.0" }, "engines": { "node": ">=16.20.1" @@ -7775,12 +7811,14 @@ } } }, - "node_modules/mongodb-client-encryption": { + "node_modules/mongodb-legacy/node_modules/mongodb-client-encryption": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.0.1.tgz", "integrity": "sha512-u6pKu9plR7hQH6VtsfYonC9dwWAM3HFEpi+Xy3EJIdUyoH6dlFgaxX8TnKx/Ycfi2I1cxTXq2IbhSpg157vVgg==", "dev": true, "hasInstallScript": true, + "optional": true, + "peer": true, "dependencies": { "bindings": "^1.5.0", "node-addon-api": "^4.3.0", @@ -7790,72 +7828,6 @@ "node": ">=16.20.1" } }, - "node_modules/mongodb-connection-string-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", - "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", - "dependencies": { - "@types/whatwg-url": "^11.0.2", - "whatwg-url": "^13.0.0" - } - }, - "node_modules/mongodb-legacy": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/mongodb-legacy/-/mongodb-legacy-6.0.1.tgz", - "integrity": "sha512-cbm3UOqAYo6yElNk9CHNp5tQwRl1PCpBpcSkVvlvyg7S+gG6vSt1zrFiEniNaWOwwWnIr/IsAeSo48Nm701B/A==", - "dev": true, - "dependencies": { - "mongodb": "^6.0.0" - }, - "engines": { - "node": ">=16.20.1" - } - }, - "node_modules/mongodb/node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "node_modules/mongodb/node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dev": true, - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index ca5286251f..989f2ce003 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "js-yaml": "^4.1.0", "mocha": "^10.4.0", "mocha-sinon": "^2.1.2", - "mongodb-client-encryption": "^6.0.1", + "mongodb-client-encryption": "^6.1.0-alpha.0", "mongodb-legacy": "^6.0.1", "nyc": "^15.1.0", "prettier": "^2.8.8", diff --git a/src/client-side-encryption/client_encryption.ts b/src/client-side-encryption/client_encryption.ts index 49747b6f6e..b78b354996 100644 --- a/src/client-side-encryption/client_encryption.ts +++ b/src/client-side-encryption/client_encryption.ts @@ -595,7 +595,7 @@ export class ClientEncryption { /** * Encrypts a Match Expression or Aggregate Expression to query a range index. * - * Only supported when queryType is "rangePreview" and algorithm is "RangePreview". + * Only supported when queryType is "range" and algorithm is "Range". * * @experimental The Range algorithm is experimental only. It is not intended for production use. It is subject to breaking changes. * @@ -737,7 +737,7 @@ export interface ClientEncryptionEncryptOptions { | 'AEAD_AES_256_CBC_HMAC_SHA_512-Random' | 'Indexed' | 'Unindexed' - | 'RangePreview'; + | 'Range'; /** * The id of the Binary dataKey to use for encryption @@ -757,7 +757,7 @@ export interface ClientEncryptionEncryptOptions { * * @experimental Public Technical Preview: The queryType `rangePreview` is experimental. */ - queryType?: 'equality' | 'rangePreview'; + queryType?: 'equality' | 'range'; /** @experimental Public Technical Preview: The index options for a Queryable Encryption field supporting "rangePreview" queries.*/ rangeOptions?: RangeOptions; @@ -957,42 +957,3 @@ export interface RangeOptions { sparsity: Long; precision?: number; } - -/** - * @public - * Options to provide when encrypting data. - */ -export interface ClientEncryptionEncryptOptions { - /** - * The algorithm to use for encryption. - */ - algorithm: - | 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' - | 'AEAD_AES_256_CBC_HMAC_SHA_512-Random' - | 'Indexed' - | 'Unindexed' - | 'RangePreview'; - - /** - * The id of the Binary dataKey to use for encryption - */ - keyId?: Binary; - - /** - * A unique string name corresponding to an already existing dataKey. - */ - keyAltName?: string; - - /** The contention factor. */ - contentionFactor?: bigint | number; - - /** - * The query type supported. Only the queryType `equality` is stable. - * - * @experimental Public Technical Preview: The queryType `rangePreview` is experimental. - */ - queryType?: 'equality' | 'rangePreview'; - - /** @experimental Public Technical Preview: The index options for a Queryable Encryption field supporting "rangePreview" queries.*/ - rangeOptions?: RangeOptions; -} diff --git a/test/integration/client-side-encryption/client_side_encryption.prose.06.corpus.test.ts b/test/integration/client-side-encryption/client_side_encryption.prose.06.corpus.test.ts index b6615267bf..edbf8efaf5 100644 --- a/test/integration/client-side-encryption/client_side_encryption.prose.06.corpus.test.ts +++ b/test/integration/client-side-encryption/client_side_encryption.prose.06.corpus.test.ts @@ -15,7 +15,7 @@ describe('Client Side Encryption Prose Corpus Test', function () { const metadata = { requires: { mongodb: '>=4.2.0', - clientSideEncryption: true + clientSideEncryption: true as const } }; diff --git a/test/integration/client-side-encryption/client_side_encryption.prose.22.range_explicit_encryption.test.ts b/test/integration/client-side-encryption/client_side_encryption.prose.22.range_explicit_encryption.test.ts index 26f588bf61..9aec9a2533 100644 --- a/test/integration/client-side-encryption/client_side_encryption.prose.22.range_explicit_encryption.test.ts +++ b/test/integration/client-side-encryption/client_side_encryption.prose.22.range_explicit_encryption.test.ts @@ -20,13 +20,13 @@ const getKmsProviders = () => { const metaData: MongoDBMetadataUI = { requires: { - clientSideEncryption: true, + clientSideEncryption: '>=6.1.0-alpha', // The Range Explicit Encryption tests require MongoDB server 7.0+ for QE v2. // The tests must not run against a standalone. // - // `rangePreview` is not supported on 8.0+ servers. - mongodb: '>=7.0.0 <8.0.0', + // `range` is not supported on 8.0+ servers. + mongodb: '>=8.0.0', topology: '!single' } }; @@ -60,7 +60,8 @@ const dataTypes: ReadonlyArray<{ { type: 'DecimalNoPrecision', rangeOptions: prepareOptions({ - sparsity: { $numberLong: '1' } + sparsity: { $numberLong: '1' }, + trimFactor: { $numberInt: '1' } }), factory: value => new Decimal128(value.toString()) }, @@ -69,6 +70,7 @@ const dataTypes: ReadonlyArray<{ rangeOptions: prepareOptions({ min: { $numberDecimal: '0' }, max: { $numberDecimal: '200' }, + trimFactor: { $numberInt: '1' }, sparsity: { $numberLong: '1' }, precision: 2 }), @@ -76,7 +78,10 @@ const dataTypes: ReadonlyArray<{ }, { type: 'DoubleNoPrecision', - rangeOptions: prepareOptions({ sparsity: { $numberLong: '1' } }), + rangeOptions: prepareOptions({ + trimFactor: { $numberInt: '1' }, + sparsity: { $numberLong: '1' } + }), factory: value => new Double(value) }, { @@ -84,6 +89,7 @@ const dataTypes: ReadonlyArray<{ rangeOptions: prepareOptions({ min: { $numberDouble: '0' }, max: { $numberDouble: '200' }, + trimFactor: { $numberInt: '1' }, sparsity: { $numberLong: '1' }, precision: 2 }), @@ -94,6 +100,7 @@ const dataTypes: ReadonlyArray<{ rangeOptions: prepareOptions({ min: { $date: { $numberLong: '0' } }, max: { $date: { $numberLong: '200' } }, + trimFactor: { $numberInt: '1' }, sparsity: { $numberLong: '1' } }), factory: value => new Date(value) @@ -103,6 +110,7 @@ const dataTypes: ReadonlyArray<{ rangeOptions: prepareOptions({ min: { $numberInt: '0' }, max: { $numberInt: '200' }, + trimFactor: { $numberInt: '1' }, sparsity: { $numberLong: '1' } }), factory: value => value @@ -112,6 +120,7 @@ const dataTypes: ReadonlyArray<{ rangeOptions: prepareOptions({ min: { $numberLong: '0' }, max: { $numberLong: '200' }, + trimFactor: { $numberInt: '1' }, sparsity: { $numberLong: '1' } }), factory: value => Long.fromNumber(value) @@ -217,9 +226,9 @@ describe('Range Explicit Encryption', function () { const opts = { keyId, - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, - rangeOptions // TODO: is this the correct place to encrypt with rangeOpts? + rangeOptions }; encryptedZero = await clientEncryption.encrypt(factory(0), opts); @@ -257,14 +266,14 @@ describe('Range Explicit Encryption', function () { }); afterEach(async function () { - await keyVaultClient.close(); - await encryptedClient.close(); + await keyVaultClient?.close(); + await encryptedClient?.close(); }); it('Case 1: can decrypt a payload', metaData, async function () { const insertedPayload = await clientEncryption.encrypt(factory(6), { keyId, - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, rangeOptions }); @@ -283,8 +292,8 @@ describe('Range Explicit Encryption', function () { const findPayload = await clientEncryption.encryptExpression(query, { keyId, - algorithm: 'RangePreview', - queryType: 'rangePreview', + algorithm: 'Range', + queryType: 'range', contentionFactor: 0, rangeOptions }); @@ -335,8 +344,8 @@ describe('Range Explicit Encryption', function () { const findPayload = await clientEncryption.encryptExpression(query, { keyId, - algorithm: 'RangePreview', - queryType: 'rangePreview', + algorithm: 'Range', + queryType: 'range', contentionFactor: 0, rangeOptions }); @@ -380,8 +389,8 @@ describe('Range Explicit Encryption', function () { const findPayload = await clientEncryption.encryptExpression(query, { keyId, - algorithm: 'RangePreview', - queryType: 'rangePreview', + algorithm: 'Range', + queryType: 'range', contentionFactor: 0, rangeOptions }); @@ -408,8 +417,8 @@ describe('Range Explicit Encryption', function () { const findPayload = await clientEncryption.encryptExpression(query, { keyId, - algorithm: 'RangePreview', - queryType: 'rangePreview', + algorithm: 'Range', + queryType: 'range', contentionFactor: 0, rangeOptions }); @@ -458,7 +467,7 @@ describe('Range Explicit Encryption', function () { const resultOrError = await clientEncryption .encrypt(factory(201), { keyId, - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, rangeOptions }) @@ -485,7 +494,7 @@ describe('Range Explicit Encryption', function () { const resultOrError = await clientEncryption .encrypt(payload, { keyId, - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, rangeOptions }) @@ -528,7 +537,7 @@ describe('Range Explicit Encryption', function () { const resultOrError = await clientEncryption .encrypt(factory(6), { keyId, - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, rangeOptions: options }) diff --git a/test/integration/client-side-encryption/client_side_encryption.spec.test.ts b/test/integration/client-side-encryption/client_side_encryption.spec.test.ts index 50e5ad7c47..e5c9ac93c9 100644 --- a/test/integration/client-side-encryption/client_side_encryption.spec.test.ts +++ b/test/integration/client-side-encryption/client_side_encryption.spec.test.ts @@ -82,19 +82,18 @@ describe('Client Side Encryption (Legacy)', function () { await filter.initializeFilter({} as any, {}); }); - generateTopologyTests(testSuites, testContext, ({ description }) => { + generateTopologyTests(testSuites, testContext, test => { + const { description } = test; if (SKIPPED_TESTS.has(description)) { - return false; + return 'Skipped by generic test name skip filter.'; } - - // TODO(NODE-5686): add CSOT support to FLE if ( [ 'timeoutMS applied to listCollections to get collection schema', 'remaining timeoutMS applied to find to get keyvault data' ].includes(description) ) { - return false; + return 'TODO(NODE-5686): add CSOT support to FLE'; } if (isServerless) { @@ -104,7 +103,7 @@ describe('Client Side Encryption (Legacy)', function () { 'encryptedFieldsMap is preferred over remote encryptedFields' ].includes(description); - return !isSkippedTest; + return isSkippedTest ? 'TODO(NODE-4730): Fix failing csfle tests against serverless' : true; } if ( @@ -113,13 +112,11 @@ describe('Client Side Encryption (Legacy)', function () { 'Automatically encrypt and decrypt with a named KMS provider' ].includes(description) ) { - if ( - typeof filter.filter({ - metadata: { requires: { clientSideEncryption: '>=6.0.1' } } - }) === 'string' - ) { - return false; - } + const result = filter.filter({ + metadata: { requires: { clientSideEncryption: '>=6.0.1' } } + }); + + if (typeof result === 'string') return result; } return true; diff --git a/test/integration/node-specific/client_encryption.test.ts b/test/integration/node-specific/client_encryption.test.ts index 7b22333fa4..a15daeed1c 100644 --- a/test/integration/node-specific/client_encryption.test.ts +++ b/test/integration/node-specific/client_encryption.test.ts @@ -321,7 +321,7 @@ describe('ClientEncryption integration tests', function () { }); completeOptions = { - algorithm: 'RangePreview', + algorithm: 'Range', contentionFactor: 0, rangeOptions: { min: new Long(0), @@ -335,7 +335,11 @@ describe('ClientEncryption integration tests', function () { context('when expressionMode is incorrectly provided as an argument', function () { it( 'overrides the provided option with the correct value for expression mode', - metadata, + { + requires: { + clientSideEncryption: '>=6.1.0-alpha' + } + }, async function () { const optionsWithExpressionMode = { ...completeOptions, expressionMode: true }; const result = await clientEncryption.encrypt(new Long(0), optionsWithExpressionMode); @@ -353,6 +357,11 @@ describe('ClientEncryption integration tests', function () { const expression = { $and: [{ someField: { $gt: 1 } }] }; + const metadata: MongoDBMetadataUI = { + requires: { + clientSideEncryption: '>=6.1.0-alpha' + } + }; beforeEach(async function () { clientEncryption = new ClientEncryption(client, { @@ -366,12 +375,13 @@ describe('ClientEncryption integration tests', function () { }); completeOptions = { - algorithm: 'RangePreview', - queryType: 'rangePreview', + algorithm: 'Range', + queryType: 'range', contentionFactor: 0, rangeOptions: { min: new Int32(0), max: new Int32(10), + trimFactor: new Int32(1), sparsity: new Long(1) }, keyId: dataKey @@ -396,7 +406,7 @@ describe('ClientEncryption integration tests', function () { expect(errorOrResult).to.be.instanceof(TypeError); }); - it(`throws if algorithm does not equal 'rangePreview'`, metadata, async function () { + it(`throws if algorithm does not equal 'range'`, metadata, async function () { completeOptions['algorithm'] = 'equality'; const errorOrResult = await clientEncryption .encryptExpression(expression, completeOptions) @@ -405,18 +415,12 @@ describe('ClientEncryption integration tests', function () { expect(errorOrResult).to.be.instanceof(TypeError); }); - it( - `does not throw if algorithm has different casing than 'rangePreview'`, - metadata, - async function () { - completeOptions['algorithm'] = 'rAnGePrEvIeW'; - const errorOrResult = await clientEncryption - .encryptExpression(expression, completeOptions) - .catch(e => e); + it(`works with any casing of 'range'`, metadata, async function () { + completeOptions['algorithm'] = 'rAnGe'; + const result = await clientEncryption.encryptExpression(expression, completeOptions); - expect(errorOrResult).not.to.be.instanceof(Error); - } - ); + expect(result.$and).to.exist; + }); context('when expressionMode is incorrectly provided as an argument', function () { it( diff --git a/test/integration/read-write-concern/read_write_concern.spec.test.js b/test/integration/read-write-concern/read_write_concern.spec.test.js index 2104cb7b91..1374a8e8b4 100644 --- a/test/integration/read-write-concern/read_write_concern.spec.test.js +++ b/test/integration/read-write-concern/read_write_concern.spec.test.js @@ -16,8 +16,7 @@ describe('Read Write Concern spec tests', function () { generateTopologyTests(testSuites, testContext, ({ description }) => { if (description === 'MapReduce omits default write concern') { - // The node driver does not have a mapReduce collection helper - return false; + return 'The node driver does not have a mapReduce collection helper'; } return true; }); diff --git a/test/integration/retryable-reads/retryable_reads.spec.test.ts b/test/integration/retryable-reads/retryable_reads.spec.test.ts index 594ec2b6fd..15eb7b97b8 100644 --- a/test/integration/retryable-reads/retryable_reads.spec.test.ts +++ b/test/integration/retryable-reads/retryable_reads.spec.test.ts @@ -15,7 +15,7 @@ describe('Retryable Reads (legacy)', function () { }); generateTopologyTests(testSuites, testContext, spec => { - return ( + const shouldRun = spec.description.match(/distinct/i) || spec.description.match(/aggregate/i) || spec.description.match(/countDocuments/i) || @@ -26,8 +26,13 @@ describe('Retryable Reads (legacy)', function () { spec.description.match(/listCollectionNames/i) || spec.description.match(/estimatedDocumentCount/i) || spec.description.match(/count/i) || - spec.description.match(/find/i) - ); + spec.description.match(/find/i); + + if (!shouldRun) { + return 'Test skipped by generic filter.'; + } + + return true; }); }); diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Date.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Date.json index 97a2b2d4e5..defa6e37ff 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Date.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Date.json @@ -10,10 +10,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -30,4 +33,4 @@ } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalNoPrecision.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalNoPrecision.json index 4d284475f4..dbe28e9c10 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalNoPrecision.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalNoPrecision.json @@ -10,14 +10,17 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalPrecision.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalPrecision.json index 53449182b2..538ab20f0e 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalPrecision.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DecimalPrecision.json @@ -10,10 +10,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -29,4 +32,4 @@ } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoubleNoPrecision.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoubleNoPrecision.json index b478a772d7..fb4f46d375 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoubleNoPrecision.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoubleNoPrecision.json @@ -10,14 +10,17 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoublePrecision.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoublePrecision.json index 395a369680..07d1c84d6f 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoublePrecision.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-DoublePrecision.json @@ -10,10 +10,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -29,4 +32,4 @@ } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Int.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Int.json index 61b7082dff..4f0b4854e4 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Int.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Int.json @@ -10,10 +10,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -26,4 +29,4 @@ } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Long.json b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Long.json index b18b84b6e8..32fe1ea15d 100644 --- a/test/spec/client-side-encryption/etc/data/range-encryptedFields-Long.json +++ b/test/spec/client-side-encryption/etc/data/range-encryptedFields-Long.json @@ -10,10 +10,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -26,4 +29,4 @@ } } ] -} +} \ No newline at end of file diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.json index 27310cb59f..ffbfcf4b3a 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.json @@ -1,7 +1,7 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.yml index 2398a5cd44..89a162e300 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Compact.yml @@ -1,6 +1,7 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + # TODO(NODE-6128): lower server version to 7.0.0 + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] @@ -79,4 +80,4 @@ tests: command: compactStructuredEncryptionData: *collection_name result: - errorContains: "'compactStructuredEncryptionData.compactionTokens' is missing" \ No newline at end of file + errorContains: "'compactStructuredEncryptionData.compactionTokens' is missing" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.json index 9eaabe0d71..63a2db3ef1 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -226,10 +228,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -283,10 +288,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -346,10 +354,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -383,12 +394,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -445,12 +450,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.yml index c0f6179445..9f36eec0ad 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Date. Aggregate." @@ -124,12 +122,6 @@ tests: "_id": 0, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -185,12 +177,6 @@ tests: "_id": 1, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.json index fa887e0892..fae25a1c02 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.yml index 49f66ae285..f7ed9fb93f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.json index cce4faf188..63a2b29fcc 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -215,10 +217,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -272,10 +277,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -336,10 +344,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -373,12 +384,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.yml index 689d93a716..17f954e045 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Date. Delete." @@ -126,12 +124,6 @@ tests: "_id": 0, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.json index 4392b67686..049186c869 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -230,10 +232,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -287,10 +292,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -352,10 +360,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -389,12 +400,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -451,12 +456,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.yml index 69418e441c..99ed076aa7 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Date. FindOneAndUpdate." @@ -122,12 +120,6 @@ tests: "_id": 0, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -183,12 +175,6 @@ tests: "_id": 1, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.json index 27ce7881df..d0751434b5 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -222,10 +224,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -279,10 +284,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -337,10 +345,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -374,12 +385,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -436,12 +441,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.yml similarity index 92% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.yml index 9ad57efa71..c55ba9eeee 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Date. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -179,12 +171,6 @@ tests: "_id": 1, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.json index f7d5a6af66..1e7750feeb 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -226,10 +228,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -283,10 +288,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -354,10 +362,13 @@ "path": "encryptedDate", "bsonType": "date", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -391,12 +402,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -453,12 +458,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.yml index 2dd35dfaa6..f81d20a178 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Date-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Date-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Date. Update." @@ -135,12 +133,6 @@ tests: "_id": 0, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -196,12 +188,6 @@ tests: "_id": 1, "encryptedDate": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.json index 401ee34e3f..5f573a933d 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -206,10 +208,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -253,10 +258,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -306,10 +314,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -335,12 +346,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -1119,12 +1124,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "RGTjNVEsNJb+DG7DpPOam8rQWD5HZAMpRyiTQaw7tk8=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.yml similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.yml index 4debfefc80..c0bbff5900 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Aggregate.yml @@ -1,17 +1,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Decimal. Aggregate." @@ -127,12 +125,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -910,12 +902,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "RGTjNVEsNJb+DG7DpPOam8rQWD5HZAMpRyiTQaw7tk8=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.json index 758d3e5732..4316a31c3e 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.yml similarity index 97% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.yml index 4eef897c4a..8154624799 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Correctness.yml @@ -3,17 +3,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.json index 24a08f318c..a94dd40fee 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -197,10 +199,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -244,10 +249,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -298,10 +306,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -327,12 +338,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.yml similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.yml index aad79c5459..ca9c58f92a 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Delete.yml @@ -1,17 +1,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Decimal. Delete." @@ -129,12 +127,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.json index 2a8070ecf9..5226facfb6 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -208,10 +210,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -255,10 +260,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -310,10 +318,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -339,12 +350,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -1123,12 +1128,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "Mr/laWHUijZT5VT3x2a7crb7wgd/UXOGz8jr8BVqBpM=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.yml similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.yml index d71ba28c5b..2869767add 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-FindOneAndUpdate.yml @@ -1,17 +1,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Decimal. FindOneAndUpdate." @@ -125,12 +123,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -908,12 +900,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "Mr/laWHUijZT5VT3x2a7crb7wgd/UXOGz8jr8BVqBpM=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.json index 2ef63f42b9..b6615454bd 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -202,10 +204,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -249,10 +254,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -297,10 +305,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -326,12 +337,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -1110,12 +1115,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "RGTjNVEsNJb+DG7DpPOam8rQWD5HZAMpRyiTQaw7tk8=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.yml similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.yml index 9e70ff9728..69c58a7738 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-InsertFind.yml @@ -1,17 +1,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Decimal. Insert and Find." @@ -121,12 +119,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -904,12 +896,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "RGTjNVEsNJb+DG7DpPOam8rQWD5HZAMpRyiTQaw7tk8=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.json index 8064eb1b18..ceef8ca9ba 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.json @@ -1,11 +1,10 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -23,10 +22,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -206,10 +208,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -253,10 +258,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -314,10 +322,13 @@ "path": "encryptedDecimalNoPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -343,12 +354,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -1127,12 +1132,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "Mr/laWHUijZT5VT3x2a7crb7wgd/UXOGz8jr8BVqBpM=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.yml similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.yml index f06c13a4eb..32e93c41da 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Decimal-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Decimal-Update.yml @@ -1,17 +1,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. # Tests for Decimal (without precision) must only run against a replica set. Decimal (without precision) queries are expected to take a long time and may exceed the default mongos timeout. topology: [ "replicaset" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalNoPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Decimal. Update." @@ -138,12 +136,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "rbf3AeBEv4wWFAKknqDxRW5cLNkFvbIs6iJjc6LShQY=", @@ -921,12 +913,6 @@ tests: }, "encryptedDecimalNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "Mr/laWHUijZT5VT3x2a7crb7wgd/UXOGz8jr8BVqBpM=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.json index 8cf143c094..35cc4aba87 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -217,10 +219,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -273,10 +278,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -335,10 +343,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -373,12 +384,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -479,12 +484,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.yml index 43f1df6864..79d5267b01 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DecimalPrecision. Aggregate." @@ -126,12 +124,6 @@ tests: }, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -231,12 +223,6 @@ tests: }, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.json index a4b06998f7..8954445887 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.yml similarity index 97% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.yml index c4b037bde8..cd1ced0b8f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.json index fad8234838..e000c40589 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -208,10 +210,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -264,10 +269,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -327,10 +335,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -365,12 +376,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.yml similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.yml index cb10767df1..7c3b7623be 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DecimalPrecision. Delete." @@ -128,12 +126,6 @@ tests: }, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.json index fb8f4f4140..27f10a30a7 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -219,10 +221,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -275,10 +280,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -339,10 +347,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -377,12 +388,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -483,12 +488,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.yml index 2c67b36381..2bf6c16866 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DecimalPrecision. FindOneAndUpdate." @@ -124,12 +122,6 @@ tests: }, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -229,12 +221,6 @@ tests: }, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.json index 79562802e6..5fb96730d6 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -213,10 +215,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -269,10 +274,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -326,10 +334,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -362,12 +373,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -466,12 +471,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.yml index f01401718d..5bde559848 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DecimalPrecision. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -221,12 +213,6 @@ tests: "_id": 1, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.json index cc93b76948..f67ae3ca23 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -217,10 +219,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -273,10 +278,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -343,10 +351,13 @@ "path": "encryptedDecimalPrecision", "bsonType": "decimal", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -379,12 +390,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -483,12 +488,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.yml similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.yml index 22beb93e94..75763dcb60 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DecimalPrecision-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DecimalPrecision-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DecimalPrecision. Update." @@ -135,12 +133,6 @@ tests: "_id": 0, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -238,12 +230,6 @@ tests: "_id": 1, "encryptedDecimalPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.json similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.json index 79f26660f2..e14ca8ff0c 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -208,10 +210,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -255,10 +260,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -308,10 +316,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -335,12 +346,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -733,12 +738,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "2FIZh/9N+NeJEQwxYIX5ikQT85xJzulBNReXk8PnG/s=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.yml index 83ca7fb90f..63e06a886f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Double. Aggregate." @@ -124,12 +122,6 @@ tests: "_id": 0, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -521,12 +513,6 @@ tests: "_id": 1, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "2FIZh/9N+NeJEQwxYIX5ikQT85xJzulBNReXk8PnG/s=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.json index 117e56af62..edb336743c 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.yml similarity index 97% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.yml index 5f91aead18..54a116e5ce 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.json similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.json index 40d8ed5bb2..6821c97939 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -199,10 +201,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -246,10 +251,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -300,10 +308,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -327,12 +338,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.yml index def2bcb67b..f926c7b56c 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Double. Delete." @@ -126,12 +124,6 @@ tests: "_id": 0, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.json similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.json index f0893ce661..298a4506cc 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -210,10 +212,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -257,10 +262,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -312,10 +320,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -339,12 +350,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -737,12 +742,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "HI88j1zrIsFoijIXKybr9mYubNV5uVeODyLHFH4Ueco=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.yml index 4bac3c1382..f8cfe40ab8 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Double. FindOneAndUpdate." @@ -122,12 +120,6 @@ tests: "_id": 0, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -519,12 +511,6 @@ tests: "_id": 1, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "HI88j1zrIsFoijIXKybr9mYubNV5uVeODyLHFH4Ueco=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.json similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.json index d3dc2f830c..0c6f9e9872 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -204,10 +206,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -251,10 +256,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -299,10 +307,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -326,12 +337,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -724,12 +729,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "2FIZh/9N+NeJEQwxYIX5ikQT85xJzulBNReXk8PnG/s=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.yml index 33b531f839..cea49c72d1 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Double. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -515,12 +507,6 @@ tests: "_id": 1, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "2FIZh/9N+NeJEQwxYIX5ikQT85xJzulBNReXk8PnG/s=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.json similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.json index 9d6a1fbfdd..dabe8a0930 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -208,10 +210,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -255,10 +260,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -316,10 +324,13 @@ "path": "encryptedDoubleNoPrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" } @@ -343,12 +354,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -741,12 +746,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "HI88j1zrIsFoijIXKybr9mYubNV5uVeODyLHFH4Ueco=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.yml index 65f50aecd4..4c550854df 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Double-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Double-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoubleNoPrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Double. Update." @@ -135,12 +133,6 @@ tests: "_id": 0, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "6YrBn2ofIw1b5ooakrLOwF41BWrps8OO0H9WH4/rtlE=", @@ -532,12 +524,6 @@ tests: "_id": 1, "encryptedDoubleNoPrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "HI88j1zrIsFoijIXKybr9mYubNV5uVeODyLHFH4Ueco=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.json index 4188685a2c..8d434dc279 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -217,10 +219,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -273,10 +278,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -335,10 +343,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -371,12 +382,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -475,12 +480,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.yml index 4c3b3d66bc..bd603467b6 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DoublePrecision. Aggregate." @@ -124,12 +122,6 @@ tests: "_id": 0, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -227,12 +219,6 @@ tests: "_id": 1, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.json index 60f1ea7a33..87d0e3dd8c 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.yml similarity index 97% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.yml index 6f3259f324..9c7a8d22f2 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.json index 4ed591d3f8..a9315dec96 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -208,10 +210,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -264,10 +269,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -327,10 +335,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -363,12 +374,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.yml similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.yml index fa04447534..817d785c1e 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DoublePrecision. Delete." @@ -126,12 +124,6 @@ tests: "_id": 0, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.json index d8fbbfae73..28bebe0dbb 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -219,10 +221,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -275,10 +280,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -339,10 +347,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -375,12 +386,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -479,12 +484,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.yml index 0f615d4b5e..c1aa8333b4 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DoublePrecision. FindOneAndUpdate." @@ -122,12 +120,6 @@ tests: "_id": 0, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -225,12 +217,6 @@ tests: "_id": 1, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.json index 4213b066d1..3b3176be6f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -213,10 +215,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -269,10 +274,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -326,10 +334,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -362,12 +373,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -466,12 +471,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.yml index 107151449d..17295c2e66 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DoublePrecision. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -221,12 +213,6 @@ tests: "_id": 1, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.json similarity index 96% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.json index 89eb4c338d..be2d0e9f4a 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -217,10 +219,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -273,10 +278,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -343,10 +351,13 @@ "path": "encryptedDoublePrecision", "bsonType": "double", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -379,12 +390,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -483,12 +488,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.yml similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.yml index b8ffbe9d4d..c0c794357f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-DoublePrecision-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-DoublePrecision-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '200.0'}, 'precision': {'$numberInt': '2'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range DoublePrecision. Update." @@ -137,12 +135,6 @@ tests: "_id": 0, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=", @@ -240,12 +232,6 @@ tests: "_id": 1, "encryptedDoublePrecision": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.json index 686f0241ba..c689dede18 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -214,10 +216,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -267,10 +272,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -326,10 +334,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -359,12 +370,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -421,12 +426,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.yml index 052a3006e4..f59c104d44 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Int. Aggregate." @@ -124,12 +122,6 @@ tests: "_id": 0, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -185,12 +177,6 @@ tests: "_id": 1, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.json index 2964624f22..9dc4e4e501 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.yml index f7e4c53dec..9cb1cb368f 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.json index 531b3e7590..4a6b34a1dc 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -205,10 +207,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -258,10 +263,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -318,10 +326,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -351,12 +362,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.yml index ecc5eaa279..d2ef688a83 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Int. Delete." @@ -126,12 +124,6 @@ tests: "_id": 0, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.json index 402086cdb6..2bf905fa65 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -216,10 +218,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -269,10 +274,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -330,10 +338,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -363,12 +374,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -425,12 +430,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.yml index 9e878890fb..a27de9b7e5 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Int. FindOneAndUpdate." @@ -122,12 +120,6 @@ tests: "_id": 0, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -183,12 +175,6 @@ tests: "_id": 1, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.json index 965b8a5516..a5eb4d60ec 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -210,10 +212,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -263,10 +268,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -317,10 +325,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -350,12 +361,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -412,12 +417,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.yml index 6e9594a1b6..fdb580cee9 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Int. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -179,12 +171,6 @@ tests: "_id": 1, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.json index 6cf44ac782..e826ea2acf 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -214,10 +216,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -267,10 +272,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -334,10 +342,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -367,12 +378,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -429,12 +434,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.yml index a98c1a659f..7a383aae4a 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Int-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Int-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Int. Update." @@ -137,12 +135,6 @@ tests: "_id": 0, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -198,12 +190,6 @@ tests: "_id": 1, "encryptedInt": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.json index 6edb38a800..d5020f5927 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -214,10 +216,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -267,10 +272,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -326,10 +334,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -359,12 +370,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -421,12 +426,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.yml index 5bc598daa5..8eb8f3615d 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Aggregate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Aggregate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Long. Aggregate." @@ -124,12 +122,6 @@ tests: "_id": 0, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -185,12 +177,6 @@ tests: "_id": 1, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.json similarity index 99% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.json index 3d33f7381b..d81e0933f8 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.yml similarity index 98% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.yml index 01834f1c3b..97b7db2b71 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Correctness.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Correctness.yml @@ -3,16 +3,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Find with $gt" diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.json index 1b32782010..3720d00341 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -205,10 +207,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -258,10 +263,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -318,10 +326,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -351,12 +362,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.yml similarity index 94% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.yml index 617794a174..4f18efa1df 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Delete.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Delete.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Long. Delete." @@ -126,12 +124,6 @@ tests: "_id": 0, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.json index b8e3b888a8..5e4b5ae0de 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -216,10 +218,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -269,10 +274,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -330,10 +338,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -363,12 +374,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -425,12 +430,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.yml index 1459ca106c..4e5a32994d 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-FindOneAndUpdate.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-FindOneAndUpdate.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Long. FindOneAndUpdate." @@ -122,12 +120,6 @@ tests: "_id": 0, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -183,12 +175,6 @@ tests: "_id": 1, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.json index d637fcf9e7..0d48580626 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -210,10 +212,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -263,10 +268,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -317,10 +325,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -350,12 +361,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -412,12 +417,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.yml index 578c08c247..c30106402a 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-InsertFind.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-InsertFind.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Long. Insert and Find." @@ -118,12 +116,6 @@ tests: "_id": 0, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -179,12 +171,6 @@ tests: "_id": 1, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=", - "subType": "00" - } - }, { "$binary": { "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.json index 1b76019a4c..2d3321fd80 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.json @@ -1,13 +1,12 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" - ], - "maxServerVersion": "7.99.99" + ] } ], "database_name": "default", @@ -25,10 +24,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -214,10 +216,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -267,10 +272,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -334,10 +342,13 @@ "path": "encryptedLong", "bsonType": "long", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberInt": "1" + }, "sparsity": { "$numberLong": "1" }, @@ -367,12 +378,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -429,12 +434,6 @@ "$$type": "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.yml similarity index 93% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.yml index db16c3dd64..81879398ea 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-Long-Update.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-Long-Update.yml @@ -1,16 +1,14 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} +encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedLong', 'bsonType': 'long', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberInt': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberLong': '0'}, 'max': {'$numberLong': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "FLE2 Range Long. Update." @@ -137,12 +135,6 @@ tests: "_id": 0, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=", - "subType": "00" - } - }, { "$binary": { "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=", @@ -198,12 +190,6 @@ tests: "_id": 1, "encryptedLong": { $$type: "binData" }, "__safeContent__": [ - { - "$binary": { - "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=", - "subType": "00" - } - }, { "$binary": { "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=", diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.json b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.json similarity index 95% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.json rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.json index 704a693b8f..6215604508 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.json +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.json @@ -1,13 +1,13 @@ { "runOn": [ { - "minServerVersion": "7.0.0", + "minServerVersion": "8.0.0", "topology": [ "replicaset", "sharded", "load-balanced" ], - "maxServerVersion": "7.99.99" + "maxServerVersion": "8.99.99" } ], "database_name": "default", @@ -25,10 +25,13 @@ "path": "encryptedInt", "bsonType": "int", "queries": { - "queryType": "rangePreview", + "queryType": "range", "contention": { "$numberLong": "0" }, + "trimFactor": { + "$numberLong": "1" + }, "sparsity": { "$numberLong": "1" }, diff --git a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.yml b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.yml similarity index 88% rename from test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.yml rename to test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.yml index 9f1a93386a..432f86b423 100644 --- a/test/spec/client-side-encryption/tests/legacy/fle2v2-Range-WrongType.yml +++ b/test/spec/client-side-encryption/tests/legacy/fle2v2-Rangev2-WrongType.yml @@ -3,16 +3,15 @@ # Requires libmongocrypt 1.8.0. runOn: - - minServerVersion: "7.0.0" + - minServerVersion: "8.0.0" # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol. # FLE 2 Encrypted collections are not supported on standalone. topology: [ "replicaset", "sharded", "load-balanced" ] - # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range". - maxServerVersion: "7.99.99" + maxServerVersion: "8.99.99" database_name: &database_name "default" collection_name: &collection_name "default" data: [] -encrypted_fields: &encrypted_fields { 'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} +encrypted_fields: &encrypted_fields { 'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedInt', 'bsonType': 'int', 'queries': {'queryType': 'range', 'contention': {'$numberLong': '0'}, 'trimFactor': {'$numberLong': '1'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberInt': '0'}, 'max': {'$numberInt': '200'}}}]} key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ] tests: - description: "Wrong type: Insert Double" diff --git a/test/tools/runner/config.ts b/test/tools/runner/config.ts index d97f003e19..973a28eed6 100644 --- a/test/tools/runner/config.ts +++ b/test/tools/runner/config.ts @@ -61,6 +61,7 @@ export class TestConfiguration { mongodbClientEncryption: any; CSFLE_KMS_PROVIDERS: string | undefined; version: string; + libmongocrypt: string | null; }; parameters: Record; singleMongosLoadBalancerUri: string; diff --git a/test/tools/runner/filters/client_encryption_filter.ts b/test/tools/runner/filters/client_encryption_filter.ts index f9f2ec9093..095a057f48 100644 --- a/test/tools/runner/filters/client_encryption_filter.ts +++ b/test/tools/runner/filters/client_encryption_filter.ts @@ -22,12 +22,18 @@ import { Filter } from './filter'; export class ClientSideEncryptionFilter extends Filter { enabled: boolean; static version = null; + static libmongocrypt: string | null = null; + + csfleKMSProviders = null; override async initializeFilter(client: MongoClient, context: Record) { - const CSFLE_KMS_PROVIDERS = process.env.CSFLE_KMS_PROVIDERS; + this.csfleKMSProviders = process.env.CSFLE_KMS_PROVIDERS; let mongodbClientEncryption; try { mongodbClientEncryption = require('mongodb-client-encryption'); + ClientSideEncryptionFilter.libmongocrypt = ( + mongodbClientEncryption as typeof import('mongodb-client-encryption') + ).MongoCrypt.libmongocryptVersion; } catch (failedToGetFLELib) { if (process.env.TEST_CSFLE) { console.error({ failedToGetFLELib }); @@ -41,14 +47,15 @@ export class ClientSideEncryptionFilter extends Filter { ) ).version; - this.enabled = !!(CSFLE_KMS_PROVIDERS && mongodbClientEncryption); + this.enabled = !!(this.csfleKMSProviders && mongodbClientEncryption); // Adds these fields onto the context so that they can be reused by tests context.clientSideEncryption = { enabled: this.enabled, mongodbClientEncryption, - CSFLE_KMS_PROVIDERS, - version: ClientSideEncryptionFilter.version + CSFLE_KMS_PROVIDERS: this.csfleKMSProviders, + version: ClientSideEncryptionFilter.version, + libmongocrypt: ClientSideEncryptionFilter.libmongocrypt }; } @@ -67,15 +74,21 @@ export class ClientSideEncryptionFilter extends Filter { } // TODO(NODE-3401): unskip csfle tests on windows - if (process.env.TEST_CSFLE && !this.enabled && process.platform !== 'win32') { - throw new Error('Expected CSFLE to be enabled in the CI'); + if (process.env.TEST_CSFLE && process.platform !== 'win32') { + if (!this.csfleKMSProviders) { + throw new Error('FLE tests must run, but no KMS providers were set in the environment.'); + } + if (ClientSideEncryptionFilter.version == null) { + throw new Error('FLE tests must run, but mongodb client encryption was not installed.'); + } } - const validRange = typeof clientSideEncryption === 'string' ? clientSideEncryption : '>=0.0.0'; - if (ClientSideEncryptionFilter.version && !this.enabled) - return 'Test requires FLE environment variables..'; - if (!this.enabled) return 'Test requires CSFLE to be enabled.'; - return satisfies(ClientSideEncryptionFilter.version, validRange) + if (this.csfleKMSProviders == null) return 'Test requires FLE environment variables.'; + if (ClientSideEncryptionFilter.version == null) + return 'Test requires mongodb-client-encryption to be installed.'; + + const validRange = typeof clientSideEncryption === 'string' ? clientSideEncryption : '>=0.0.0'; + return satisfies(ClientSideEncryptionFilter.version, validRange, { includePrerelease: true }) ? true : `requires mongodb-client-encryption ${validRange}, received ${ClientSideEncryptionFilter.version}`; } diff --git a/test/tools/runner/hooks/configuration.ts b/test/tools/runner/hooks/configuration.ts index a6d986d603..2e14960ca3 100644 --- a/test/tools/runner/hooks/configuration.ts +++ b/test/tools/runner/hooks/configuration.ts @@ -81,6 +81,12 @@ const testSkipBeforeEachHook = async function () { if (metadata && metadata.requires && Object.keys(metadata.requires).length > 0) { const failedFilter = filters.find(filter => filter.filter(this.currentTest) !== true); if (failedFilter) { + const maybeSkipReason = failedFilter.filter(this.currentTest); + if (typeof maybeSkipReason === 'string') { + this.currentTest.skipReason = maybeSkipReason; + this.skip(); + return; + } const filterName = failedFilter.constructor.name; if (filterName === 'GenericPredicateFilter') { this.currentTest.skipReason = `filtered by ${filterName}: ${failedFilter.filter( @@ -169,7 +175,8 @@ const testConfigBeforeHook = async function () { tls: process.env.SSL === 'ssl', csfle: { enabled: this.configuration.clientSideEncryption.enabled, - version: this.configuration.clientSideEncryption.version + version: this.configuration.clientSideEncryption.version, + libmongocrypt: this.configuration.clientSideEncryption.libmongocrypt }, serverApi: MONGODB_API_VERSION, atlas: process.env.ATLAS_CONNECTIVITY != null, diff --git a/test/tools/spec-runner/index.js b/test/tools/spec-runner/index.js index 3fb15d783f..f774465cd5 100644 --- a/test/tools/spec-runner/index.js +++ b/test/tools/spec-runner/index.js @@ -152,7 +152,7 @@ function legacyRunOnToRunOnRequirement(runOn) { } /** - * @param {((test: { description: string }) => boolean)?} filter a function that returns true for any tests that should run, false otherwise. + * @param {((test: { description: string }) => true | string)?} filter a function that returns true for any tests that should run, false otherwise. */ function generateTopologyTests(testSuites, testContext, filter) { for (const testSuite of testSuites) { @@ -187,9 +187,12 @@ function generateTopologyTests(testSuites, testContext, filter) { shouldRun = false; } - if (shouldRun && typeof filter === 'function' && !filter(spec, this.configuration)) { - this.currentTest.skipReason = `filtered by custom filter passed to generateTopologyTests`; - shouldRun = false; + if (shouldRun && typeof filter === 'function') { + const result = filter(spec, this.configuration); + if (typeof result === 'string') { + this.currentTest.skipReason = result; + shouldRun = false; + } } let csfleFilterError = null;