1{
2 "runOn": [
3 {
4 "minServerVersion": "4.1.10"
5 }
6 ],
7 "database_name": "default",
8 "collection_name": "default",
9 "data": [
10 {
11 "_id": 1,
12 "encrypted_string": {
13 "$binary": {
14 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
15 "subType": "06"
16 }
17 }
18 }
19 ],
20 "json_schema": {
21 "properties": {
22 "encrypted_w_altname": {
23 "encrypt": {
24 "keyId": "/altname",
25 "bsonType": "string",
26 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
27 }
28 },
29 "encrypted_string": {
30 "encrypt": {
31 "keyId": [
32 {
33 "$binary": {
34 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
35 "subType": "04"
36 }
37 }
38 ],
39 "bsonType": "string",
40 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
41 }
42 },
43 "random": {
44 "encrypt": {
45 "keyId": [
46 {
47 "$binary": {
48 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
49 "subType": "04"
50 }
51 }
52 ],
53 "bsonType": "string",
54 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
55 }
56 },
57 "encrypted_string_equivalent": {
58 "encrypt": {
59 "keyId": [
60 {
61 "$binary": {
62 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
63 "subType": "04"
64 }
65 }
66 ],
67 "bsonType": "string",
68 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
69 }
70 }
71 },
72 "bsonType": "object"
73 },
74 "key_vault_data": [
75 {
76 "status": 1,
77 "_id": {
78 "$binary": {
79 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
80 "subType": "04"
81 }
82 },
83 "masterKey": {
84 "provider": "aws",
85 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
86 "region": "us-east-1"
87 },
88 "updateDate": {
89 "$date": {
90 "$numberLong": "1552949630483"
91 }
92 },
93 "keyMaterial": {
94 "$binary": {
95 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
96 "subType": "00"
97 }
98 },
99 "creationDate": {
100 "$date": {
101 "$numberLong": "1552949630483"
102 }
103 },
104 "keyAltNames": [
105 "altname",
106 "another_altname"
107 ]
108 }
109 ],
110 "tests": [
111 {
112 "description": "Insert with bypassAutoEncryption",
113 "clientOptions": {
114 "autoEncryptOpts": {
115 "bypassAutoEncryption": true,
116 "kmsProviders": {
117 "aws": {}
118 }
119 }
120 },
121 "operations": [
122 {
123 "name": "insertOne",
124 "arguments": {
125 "document": {
126 "_id": 2,
127 "encrypted_string": "string0"
128 },
129 "bypassDocumentValidation": true
130 }
131 },
132 {
133 "name": "find",
134 "arguments": {
135 "filter": {}
136 },
137 "result": [
138 {
139 "_id": 1,
140 "encrypted_string": "string0"
141 },
142 {
143 "_id": 2,
144 "encrypted_string": "string0"
145 }
146 ]
147 }
148 ],
149 "expectations": [
150 {
151 "command_started_event": {
152 "command": {
153 "insert": "default",
154 "documents": [
155 {
156 "_id": 2,
157 "encrypted_string": "string0"
158 }
159 ],
160 "ordered": true
161 },
162 "command_name": "insert"
163 }
164 },
165 {
166 "command_started_event": {
167 "command": {
168 "find": "default",
169 "filter": {}
170 },
171 "command_name": "find"
172 }
173 },
174 {
175 "command_started_event": {
176 "command": {
177 "find": "datakeys",
178 "filter": {
179 "$or": [
180 {
181 "_id": {
182 "$in": [
183 {
184 "$binary": {
185 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
186 "subType": "04"
187 }
188 }
189 ]
190 }
191 },
192 {
193 "keyAltNames": {
194 "$in": []
195 }
196 }
197 ]
198 },
199 "$db": "keyvault",
200 "readConcern": {
201 "level": "majority"
202 }
203 },
204 "command_name": "find"
205 }
206 }
207 ],
208 "outcome": {
209 "collection": {
210 "data": [
211 {
212 "_id": 1,
213 "encrypted_string": {
214 "$binary": {
215 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
216 "subType": "06"
217 }
218 }
219 },
220 {
221 "_id": 2,
222 "encrypted_string": "string0"
223 }
224 ]
225 }
226 }
227 },
228 {
229 "description": "Insert with bypassAutoEncryption for local schema",
230 "clientOptions": {
231 "autoEncryptOpts": {
232 "schemaMap": {
233 "default.default": {
234 "properties": {
235 "encrypted_w_altname": {
236 "encrypt": {
237 "keyId": "/altname",
238 "bsonType": "string",
239 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
240 }
241 },
242 "encrypted_string": {
243 "encrypt": {
244 "keyId": [
245 {
246 "$binary": {
247 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
248 "subType": "04"
249 }
250 }
251 ],
252 "bsonType": "string",
253 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
254 }
255 },
256 "random": {
257 "encrypt": {
258 "keyId": [
259 {
260 "$binary": {
261 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
262 "subType": "04"
263 }
264 }
265 ],
266 "bsonType": "string",
267 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
268 }
269 },
270 "encrypted_string_equivalent": {
271 "encrypt": {
272 "keyId": [
273 {
274 "$binary": {
275 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
276 "subType": "04"
277 }
278 }
279 ],
280 "bsonType": "string",
281 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
282 }
283 }
284 },
285 "bsonType": "object"
286 }
287 },
288 "bypassAutoEncryption": true,
289 "kmsProviders": {
290 "aws": {}
291 }
292 }
293 },
294 "operations": [
295 {
296 "name": "insertOne",
297 "arguments": {
298 "document": {
299 "_id": 2,
300 "encrypted_string": "string0"
301 },
302 "bypassDocumentValidation": true
303 }
304 },
305 {
306 "name": "find",
307 "arguments": {
308 "filter": {}
309 },
310 "result": [
311 {
312 "_id": 1,
313 "encrypted_string": "string0"
314 },
315 {
316 "_id": 2,
317 "encrypted_string": "string0"
318 }
319 ]
320 }
321 ],
322 "expectations": [
323 {
324 "command_started_event": {
325 "command": {
326 "insert": "default",
327 "documents": [
328 {
329 "_id": 2,
330 "encrypted_string": "string0"
331 }
332 ],
333 "ordered": true
334 },
335 "command_name": "insert"
336 }
337 },
338 {
339 "command_started_event": {
340 "command": {
341 "find": "default",
342 "filter": {}
343 },
344 "command_name": "find"
345 }
346 },
347 {
348 "command_started_event": {
349 "command": {
350 "find": "datakeys",
351 "filter": {
352 "$or": [
353 {
354 "_id": {
355 "$in": [
356 {
357 "$binary": {
358 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
359 "subType": "04"
360 }
361 }
362 ]
363 }
364 },
365 {
366 "keyAltNames": {
367 "$in": []
368 }
369 }
370 ]
371 },
372 "$db": "keyvault",
373 "readConcern": {
374 "level": "majority"
375 }
376 },
377 "command_name": "find"
378 }
379 }
380 ],
381 "outcome": {
382 "collection": {
383 "data": [
384 {
385 "_id": 1,
386 "encrypted_string": {
387 "$binary": {
388 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
389 "subType": "06"
390 }
391 }
392 },
393 {
394 "_id": 2,
395 "encrypted_string": "string0"
396 }
397 ]
398 }
399 }
400 }
401 ]
402}
View as plain text