From 871482300fd2aa4efa580df17b6ebd7c7b6e2b9d Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Thu, 14 Mar 2024 13:01:03 +0100 Subject: [PATCH] PHPLIB-1412: Skip range encryption tests on MongoDB 8.0+ This syncs spec tests with mongodb/specifications@d036675f5e91ad9f45bcee5292a2d9a829224495 --- .../Prose22_RangeExplicitEncryptionTest.php | 1 + .../ClientSideEncryptionSpecTest.php | 1 + .../tests/fle2v2-MissingKey.json | 4 +- .../tests/fle2v2-Range-Date-Aggregate.json | 3 +- .../tests/fle2v2-Range-Date-Correctness.json | 3 +- .../tests/fle2v2-Range-Date-Delete.json | 3 +- .../fle2v2-Range-Date-FindOneAndUpdate.json | 3 +- .../tests/fle2v2-Range-Date-InsertFind.json | 3 +- .../tests/fle2v2-Range-Date-Update.json | 3 +- .../tests/fle2v2-Range-Decimal-Aggregate.json | 3 +- .../fle2v2-Range-Decimal-Correctness.json | 3 +- .../tests/fle2v2-Range-Decimal-Delete.json | 3 +- ...fle2v2-Range-Decimal-FindOneAndUpdate.json | 3 +- .../fle2v2-Range-Decimal-InsertFind.json | 3 +- .../tests/fle2v2-Range-Decimal-Update.json | 3 +- ...e2v2-Range-DecimalPrecision-Aggregate.json | 3 +- ...v2-Range-DecimalPrecision-Correctness.json | 3 +- .../fle2v2-Range-DecimalPrecision-Delete.json | 3 +- ...nge-DecimalPrecision-FindOneAndUpdate.json | 3 +- ...2v2-Range-DecimalPrecision-InsertFind.json | 3 +- .../fle2v2-Range-DecimalPrecision-Update.json | 3 +- .../tests/fle2v2-Range-Double-Aggregate.json | 3 +- .../fle2v2-Range-Double-Correctness.json | 3 +- .../tests/fle2v2-Range-Double-Delete.json | 3 +- .../fle2v2-Range-Double-FindOneAndUpdate.json | 3 +- .../tests/fle2v2-Range-Double-InsertFind.json | 3 +- .../tests/fle2v2-Range-Double-Update.json | 3 +- ...le2v2-Range-DoublePrecision-Aggregate.json | 3 +- ...2v2-Range-DoublePrecision-Correctness.json | 3 +- .../fle2v2-Range-DoublePrecision-Delete.json | 3 +- ...ange-DoublePrecision-FindOneAndUpdate.json | 3 +- ...e2v2-Range-DoublePrecision-InsertFind.json | 3 +- .../fle2v2-Range-DoublePrecision-Update.json | 3 +- .../tests/fle2v2-Range-Int-Aggregate.json | 3 +- .../tests/fle2v2-Range-Int-Correctness.json | 3 +- .../tests/fle2v2-Range-Int-Delete.json | 3 +- .../fle2v2-Range-Int-FindOneAndUpdate.json | 3 +- .../tests/fle2v2-Range-Int-InsertFind.json | 3 +- .../tests/fle2v2-Range-Int-Update.json | 3 +- .../tests/fle2v2-Range-Long-Aggregate.json | 3 +- .../tests/fle2v2-Range-Long-Correctness.json | 3 +- .../tests/fle2v2-Range-Long-Delete.json | 3 +- .../fle2v2-Range-Long-FindOneAndUpdate.json | 3 +- .../tests/fle2v2-Range-Long-InsertFind.json | 3 +- .../tests/fle2v2-Range-Long-Update.json | 3 +- .../tests/fle2v2-Range-WrongType.json | 3 +- .../tests/namedKMS.json | 197 ++++++++++++++++++ 47 files changed, 287 insertions(+), 45 deletions(-) create mode 100644 tests/SpecTests/client-side-encryption/tests/namedKMS.json diff --git a/tests/SpecTests/ClientSideEncryption/Prose22_RangeExplicitEncryptionTest.php b/tests/SpecTests/ClientSideEncryption/Prose22_RangeExplicitEncryptionTest.php index 2085300df..3a5b7dbc9 100644 --- a/tests/SpecTests/ClientSideEncryption/Prose22_RangeExplicitEncryptionTest.php +++ b/tests/SpecTests/ClientSideEncryption/Prose22_RangeExplicitEncryptionTest.php @@ -44,6 +44,7 @@ public function setUp(): void } $this->skipIfServerVersion('<', '7.0.0', 'Range explicit encryption tests require MongoDB 7.0 or later'); + $this->skipIfServerVersion('>=', '8.0.0', 'Range explicit encryption tests require MongoDB 8.0 or earlier'); $client = static::createTestClient(); diff --git a/tests/SpecTests/ClientSideEncryptionSpecTest.php b/tests/SpecTests/ClientSideEncryptionSpecTest.php index 0c846aae8..44c311d60 100644 --- a/tests/SpecTests/ClientSideEncryptionSpecTest.php +++ b/tests/SpecTests/ClientSideEncryptionSpecTest.php @@ -111,6 +111,7 @@ class ClientSideEncryptionSpecTest extends FunctionalTestCase 'fle2v2-Range-Decimal-Update: FLE2 Range Decimal. Update.' => 'Bundled libmongocrypt does not support Decimal128 (PHPC-2207)', 'timeoutMS: timeoutMS applied to listCollections to get collection schema' => 'Not yet implemented (PHPC-1760)', 'timeoutMS: remaining timeoutMS applied to find to get keyvault data' => 'Not yet implemented (PHPC-1760)', + 'namedKMS: Automatically encrypt and decrypt with a named KMS provider' => 'Not yet implemented (PHPLIB-1328)', ]; public function setUp(): void diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-MissingKey.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-MissingKey.json index 8812a1f0a..1e655f0a9 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-MissingKey.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-MissingKey.json @@ -54,7 +54,7 @@ "key_vault_data": [], "tests": [ { - "description": "FLE2 encrypt fails with mising key", + "description": "FLE2 encrypt fails with missing key", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { @@ -85,7 +85,7 @@ ] }, { - "description": "FLE2 decrypt fails with mising key", + "description": "FLE2 decrypt fails with missing key", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Aggregate.json index ba53b007b..9eaabe0d7 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Correctness.json index e9620efbe..fa887e089 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Delete.json index daaa09389..cce4faf18 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-FindOneAndUpdate.json index 8500fa829..4392b6768 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-InsertFind.json index 7de45ba00..27ce7881d 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Update.json index d5b62be06..f7d5a6af6 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Date-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Aggregate.json index 081bc577f..401ee34e3 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Aggregate.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Correctness.json index 12fe7c8bc..758d3e573 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Correctness.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Delete.json index ac49d16a2..24a08f318 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Delete.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-FindOneAndUpdate.json index 88a235078..2a8070ecf 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-FindOneAndUpdate.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-InsertFind.json index 54e43e4a2..2ef63f42b 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-InsertFind.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Update.json index b2b8136a9..8064eb1b1 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Decimal-Update.json @@ -4,7 +4,8 @@ "minServerVersion": "7.0.0", "topology": [ "replicaset" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Aggregate.json index b078d1817..8cf143c09 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Correctness.json index 0859e702a..a4b06998f 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Delete.json index 6e1ad90cd..fad823483 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json index 1cfd19a1e..fb8f4f414 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-InsertFind.json index da7660972..79562802e 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Update.json index 2d201948c..cc93b7694 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DecimalPrecision-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Aggregate.json index c188f1f5a..79f26660f 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Correctness.json index 3e298127d..117e56af6 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Delete.json index dc0ba435f..40d8ed5bb 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-FindOneAndUpdate.json index 4b96575e1..f0893ce66 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-InsertFind.json index 4827b6838..d3dc2f830 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Update.json index c3284ad0f..9d6a1fbfd 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Double-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Aggregate.json index a2c1f3b75..4188685a2 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Correctness.json index d0c0601ce..60f1ea7a3 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Delete.json index a617442ee..4ed591d3f 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json index 5565fb179..d8fbbfae7 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-InsertFind.json index a1d8c1785..4213b066d 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Update.json index 6ea99242b..89eb4c338 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-DoublePrecision-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Aggregate.json index b3b2826fa..686f0241b 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Correctness.json index 4932223ba..2964624f2 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Delete.json index 03f816e4b..531b3e759 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-FindOneAndUpdate.json index d573f7b6a..402086cdb 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-InsertFind.json index 04953663f..965b8a551 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Update.json index 4c7a3c278..6cf44ac78 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Int-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Aggregate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Aggregate.json index a7e77fd5c..6edb38a80 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Aggregate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Aggregate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Correctness.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Correctness.json index 365822c79..3d33f7381 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Correctness.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Correctness.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Delete.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Delete.json index 17a01fe07..1b3278201 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Delete.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Delete.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-FindOneAndUpdate.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-FindOneAndUpdate.json index 918d0dfee..b8e3b888a 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-FindOneAndUpdate.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-FindOneAndUpdate.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-InsertFind.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-InsertFind.json index 9fafd10d4..d637fcf9e 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-InsertFind.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-InsertFind.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Update.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Update.json index 20ac25bfa..1b76019a4 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Update.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-Long-Update.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-WrongType.json b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-WrongType.json index 5a6e650ab..704a693b8 100644 --- a/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-WrongType.json +++ b/tests/SpecTests/client-side-encryption/tests/fle2v2-Range-WrongType.json @@ -6,7 +6,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "maxServerVersion": "7.99.99" } ], "database_name": "default", diff --git a/tests/SpecTests/client-side-encryption/tests/namedKMS.json b/tests/SpecTests/client-side-encryption/tests/namedKMS.json new file mode 100644 index 000000000..c85944358 --- /dev/null +++ b/tests/SpecTests/client-side-encryption/tests/namedKMS.json @@ -0,0 +1,197 @@ +{ + "runOn": [ + { + "minServerVersion": "4.1.10" + } + ], + "database_name": "default", + "collection_name": "default", + "data": [], + "json_schema": { + "properties": { + "encrypted_string": { + "encrypt": { + "keyId": [ + { + "$binary": { + "base64": "local+name2+AAAAAAAAAA==", + "subType": "04" + } + } + ], + "bsonType": "string", + "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" + } + } + }, + "bsonType": "object" + }, + "key_vault_data": [ + { + "_id": { + "$binary": { + "base64": "local+name2+AAAAAAAAAA==", + "subType": "04" + } + }, + "keyMaterial": { + "$binary": { + "base64": "DX3iUuOlBsx6wBX9UZ3v/qXk1HNeBace2J+h/JwsDdF/vmSXLZ1l1VmZYIcpVFy6ODhdbzLjd4pNgg9wcm4etYig62KNkmtZ0/s1tAL5VsuW/s7/3PYnYGznZTFhLjIVcOH/RNoRj2eQb/sRTyivL85wePEpAU/JzuBj6qO9Y5txQgs1k0J3aNy10R9aQ8kC1NuSSpLAIXwE6DlNDDJXhw==", + "subType": "00" + } + }, + "creationDate": { + "$date": { + "$numberLong": "1552949630483" + } + }, + "updateDate": { + "$date": { + "$numberLong": "1552949630483" + } + }, + "status": { + "$numberInt": "0" + }, + "masterKey": { + "provider": "local:name2" + } + } + ], + "tests": [ + { + "description": "Automatically encrypt and decrypt with a named KMS provider", + "clientOptions": { + "autoEncryptOpts": { + "kmsProviders": { + "local:name2": { + "key": { + "$binary": { + "base64": "local+name2+YUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", + "subType": "00" + } + } + } + } + } + }, + "operations": [ + { + "name": "insertOne", + "arguments": { + "document": { + "_id": 1, + "encrypted_string": "string0" + } + } + }, + { + "name": "find", + "arguments": { + "filter": { + "_id": 1 + } + }, + "result": [ + { + "_id": 1, + "encrypted_string": "string0" + } + ] + } + ], + "expectations": [ + { + "command_started_event": { + "command": { + "listCollections": 1, + "filter": { + "name": "default" + } + }, + "command_name": "listCollections" + } + }, + { + "command_started_event": { + "command": { + "find": "datakeys", + "filter": { + "$or": [ + { + "_id": { + "$in": [ + { + "$binary": { + "base64": "local+name2+AAAAAAAAAA==", + "subType": "04" + } + } + ] + } + }, + { + "keyAltNames": { + "$in": [] + } + } + ] + }, + "$db": "keyvault", + "readConcern": { + "level": "majority" + } + }, + "command_name": "find" + } + }, + { + "command_started_event": { + "command": { + "insert": "default", + "documents": [ + { + "_id": 1, + "encrypted_string": { + "$binary": { + "base64": "AZaHGpfp2pntvgAAAAAAAAAC07sFvTQ0I4O2U49hpr4HezaK44Ivluzv5ntQBTYHDlAJMLyRMyB6Dl+UGHBgqhHe/Xw+pcT9XdiUoOJYAx9g+w==", + "subType": "06" + } + } + } + ], + "ordered": true + }, + "command_name": "insert" + } + }, + { + "command_started_event": { + "command": { + "find": "default", + "filter": { + "_id": 1 + } + }, + "command_name": "find" + } + } + ], + "outcome": { + "collection": { + "data": [ + { + "_id": 1, + "encrypted_string": { + "$binary": { + "base64": "AZaHGpfp2pntvgAAAAAAAAAC07sFvTQ0I4O2U49hpr4HezaK44Ivluzv5ntQBTYHDlAJMLyRMyB6Dl+UGHBgqhHe/Xw+pcT9XdiUoOJYAx9g+w==", + "subType": "06" + } + } + } + ] + } + } + } + ] +}