1{ 2 "runOn": [ 3 { 4 "minServerVersion": "4.1.10" 5 } 6 ], 7 "database_name": "default", 8 "collection_name": "default", 9 "data": [], 10 "json_schema": {}, 11 "key_vault_data": [ 12 { 13 "status": 1, 14 "_id": { 15 "$binary": { 16 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 17 "subType": "04" 18 } 19 }, 20 "masterKey": { 21 "provider": "aws", 22 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0", 23 "region": "us-east-1" 24 }, 25 "updateDate": { 26 "$date": { 27 "$numberLong": "1552949630483" 28 } 29 }, 30 "keyMaterial": { 31 "$binary": { 32 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO", 33 "subType": "00" 34 } 35 }, 36 "creationDate": { 37 "$date": { 38 "$numberLong": "1552949630483" 39 } 40 }, 41 "keyAltNames": [ 42 "altname", 43 "another_altname" 44 ] 45 } 46 ], 47 "tests": [ 48 { 49 "description": "A local schema should override", 50 "clientOptions": { 51 "autoEncryptOpts": { 52 "schemaMap": { 53 "default.default": { 54 "properties": { 55 "encrypted_w_altname": { 56 "encrypt": { 57 "keyId": "/altname", 58 "bsonType": "string", 59 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 60 } 61 }, 62 "encrypted_string": { 63 "encrypt": { 64 "keyId": [ 65 { 66 "$binary": { 67 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 68 "subType": "04" 69 } 70 } 71 ], 72 "bsonType": "string", 73 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 74 } 75 }, 76 "random": { 77 "encrypt": { 78 "keyId": [ 79 { 80 "$binary": { 81 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 82 "subType": "04" 83 } 84 } 85 ], 86 "bsonType": "string", 87 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 88 } 89 }, 90 "encrypted_string_equivalent": { 91 "encrypt": { 92 "keyId": [ 93 { 94 "$binary": { 95 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 96 "subType": "04" 97 } 98 } 99 ], 100 "bsonType": "string", 101 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 102 } 103 } 104 }, 105 "bsonType": "object" 106 } 107 }, 108 "kmsProviders": { 109 "aws": {} 110 } 111 } 112 }, 113 "operations": [ 114 { 115 "name": "insertOne", 116 "arguments": { 117 "document": { 118 "_id": 1, 119 "encrypted_string": "string0" 120 } 121 } 122 }, 123 { 124 "name": "find", 125 "arguments": { 126 "filter": { 127 "_id": 1 128 } 129 }, 130 "result": [ 131 { 132 "_id": 1, 133 "encrypted_string": "string0" 134 } 135 ] 136 } 137 ], 138 "expectations": [ 139 { 140 "command_started_event": { 141 "command": { 142 "find": "datakeys", 143 "filter": { 144 "$or": [ 145 { 146 "_id": { 147 "$in": [ 148 { 149 "$binary": { 150 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 151 "subType": "04" 152 } 153 } 154 ] 155 } 156 }, 157 { 158 "keyAltNames": { 159 "$in": [] 160 } 161 } 162 ] 163 }, 164 "$db": "keyvault", 165 "readConcern": { 166 "level": "majority" 167 } 168 }, 169 "command_name": "find" 170 } 171 }, 172 { 173 "command_started_event": { 174 "command": { 175 "insert": "default", 176 "documents": [ 177 { 178 "_id": 1, 179 "encrypted_string": { 180 "$binary": { 181 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==", 182 "subType": "06" 183 } 184 } 185 } 186 ], 187 "ordered": true 188 }, 189 "command_name": "insert" 190 } 191 }, 192 { 193 "command_started_event": { 194 "command": { 195 "find": "default", 196 "filter": { 197 "_id": 1 198 } 199 }, 200 "command_name": "find" 201 } 202 } 203 ], 204 "outcome": { 205 "collection": { 206 "data": [ 207 { 208 "_id": 1, 209 "encrypted_string": { 210 "$binary": { 211 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==", 212 "subType": "06" 213 } 214 } 215 } 216 ] 217 } 218 } 219 }, 220 { 221 "description": "A local schema with no encryption is an error", 222 "clientOptions": { 223 "autoEncryptOpts": { 224 "schemaMap": { 225 "default.default": { 226 "properties": { 227 "test": { 228 "bsonType": "string" 229 } 230 }, 231 "bsonType": "object", 232 "required": [ 233 "test" 234 ] 235 } 236 }, 237 "kmsProviders": { 238 "aws": {} 239 } 240 } 241 }, 242 "operations": [ 243 { 244 "name": "insertOne", 245 "arguments": { 246 "document": { 247 "_id": 1, 248 "encrypted_string": "string0" 249 } 250 }, 251 "result": { 252 "errorContains": "JSON schema keyword 'required' is only allowed with a remote schema" 253 } 254 } 255 ] 256 } 257 ] 258} 259