{ "runOn": [ { "minServerVersion": "6.0.0" } ], "database_name": "default", "collection_name": "default", "data": [], "tests": [ { "description": "create with a validator on an unencrypted field is OK", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection", "validator": { "unencrypted_string": "foo" } } }, { "name": "assertCollectionExists", "object": "testRunner", "arguments": { "database": "default", "collection": "encryptedCollection" } } ] }, { "description": "create with a validator on an encrypted field is an error", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection", "validator": { "encrypted_string": "foo" } }, "result": { "errorContains": "Comparison to encrypted fields not supported" } } ] }, { "description": "collMod with a validator on an unencrypted field is OK", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "runCommand", "object": "database", "arguments": { "command": { "collMod": "encryptedCollection", "validator": { "unencrypted_string": "foo" } } } } ] }, { "description": "collMod with a validator on an encrypted field is an error", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "runCommand", "object": "database", "arguments": { "command": { "collMod": "encryptedCollection", "validator": { "encrypted_string": "foo" } } }, "result": { "errorContains": "Comparison to encrypted fields not supported" } } ] }, { "description": "createIndexes with a partialFilterExpression on an unencrypted field is OK", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "runCommand", "object": "database", "arguments": { "command": { "createIndexes": "encryptedCollection", "indexes": [ { "name": "name", "key": { "name": 1 }, "partialFilterExpression": { "unencrypted_string": "foo" } } ] } } }, { "name": "assertIndexExists", "object": "testRunner", "arguments": { "database": "default", "collection": "encryptedCollection", "index": "name" } } ] }, { "description": "createIndexes with a partialFilterExpression on an encrypted field is an error", "clientOptions": { "autoEncryptOpts": { "kmsProviders": { "local": { "key": { "$binary": { "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk", "subType": "00" } } } }, "schemaMap": { "default.encryptedCollection": { "properties": { "encrypted_w_altname": { "encrypt": { "keyId": "/altname", "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } }, "random": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" } }, "encrypted_string_equivalent": { "encrypt": { "keyId": [ { "$binary": { "base64": "AAAAAAAAAAAAAAAAAAAAAA==", "subType": "04" } } ], "bsonType": "string", "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" } } }, "bsonType": "object" } } } }, "operations": [ { "name": "dropCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "createCollection", "object": "database", "arguments": { "collection": "encryptedCollection" } }, { "name": "runCommand", "object": "database", "arguments": { "command": { "createIndexes": "encryptedCollection", "indexes": [ { "name": "name", "key": { "name": 1 }, "partialFilterExpression": { "encrypted_string": "foo" } } ] } }, "result": { "errorContains": "Comparison to encrypted fields not supported" } } ] } ] }