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": "type=objectId",
50      "clientOptions": {
51        "autoEncryptOpts": {
52          "schemaMap": {
53            "default.default": {
54              "properties": {
55                "encrypted_objectId": {
56                  "encrypt": {
57                    "keyId": [
58                      {
59                        "$binary": {
60                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
61                          "subType": "04"
62                        }
63                      }
64                    ],
65                    "bsonType": "objectId",
66                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
67                  }
68                }
69              },
70              "bsonType": "object"
71            }
72          },
73          "kmsProviders": {
74            "aws": {}
75          }
76        }
77      },
78      "operations": [
79        {
80          "name": "insertOne",
81          "arguments": {
82            "document": {
83              "_id": 1,
84              "encrypted_objectId": {
85                "$oid": "AAAAAAAAAAAAAAAAAAAAAAAA"
86              }
87            }
88          }
89        },
90        {
91          "name": "findOne",
92          "arguments": {
93            "filter": {
94              "_id": 1
95            }
96          },
97          "result": {
98            "_id": 1,
99            "encrypted_objectId": {
100              "$oid": "AAAAAAAAAAAAAAAAAAAAAAAA"
101            }
102          }
103        }
104      ],
105      "expectations": [
106        {
107          "command_started_event": {
108            "command": {
109              "find": "datakeys",
110              "filter": {
111                "$or": [
112                  {
113                    "_id": {
114                      "$in": [
115                        {
116                          "$binary": {
117                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
118                            "subType": "04"
119                          }
120                        }
121                      ]
122                    }
123                  },
124                  {
125                    "keyAltNames": {
126                      "$in": []
127                    }
128                  }
129                ]
130              },
131              "$db": "keyvault",
132              "readConcern": {
133                "level": "majority"
134              }
135            },
136            "command_name": "find"
137          }
138        },
139        {
140          "command_started_event": {
141            "command": {
142              "insert": "default",
143              "documents": [
144                {
145                  "_id": 1,
146                  "encrypted_objectId": {
147                    "$binary": {
148                      "base64": "AQAAAAAAAAAAAAAAAAAAAAAHmkTPqvzfHMWpvS1mEsrjOxVQ2dyihEgIFWD5E0eNEsiMBQsC0GuvjdqYRL5DHLFI1vKuGek7EYYp0Qyii/tHqA==",
149                      "subType": "06"
150                    }
151                  }
152                }
153              ],
154              "ordered": true
155            },
156            "command_name": "insert"
157          }
158        },
159        {
160          "command_started_event": {
161            "command": {
162              "find": "default",
163              "filter": {
164                "_id": 1
165              }
166            },
167            "command_name": "find"
168          }
169        }
170      ],
171      "outcome": {
172        "collection": {
173          "data": [
174            {
175              "_id": 1,
176              "encrypted_objectId": {
177                "$binary": {
178                  "base64": "AQAAAAAAAAAAAAAAAAAAAAAHmkTPqvzfHMWpvS1mEsrjOxVQ2dyihEgIFWD5E0eNEsiMBQsC0GuvjdqYRL5DHLFI1vKuGek7EYYp0Qyii/tHqA==",
179                  "subType": "06"
180                }
181              }
182            }
183          ]
184        }
185      }
186    },
187    {
188      "description": "type=symbol",
189      "clientOptions": {
190        "autoEncryptOpts": {
191          "schemaMap": {
192            "default.default": {
193              "properties": {
194                "encrypted_symbol": {
195                  "encrypt": {
196                    "keyId": [
197                      {
198                        "$binary": {
199                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
200                          "subType": "04"
201                        }
202                      }
203                    ],
204                    "bsonType": "symbol",
205                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
206                  }
207                }
208              },
209              "bsonType": "object"
210            }
211          },
212          "kmsProviders": {
213            "aws": {}
214          }
215        }
216      },
217      "operations": [
218        {
219          "name": "insertOne",
220          "arguments": {
221            "document": {
222              "_id": 1,
223              "encrypted_symbol": {
224                "$symbol": "test"
225              }
226            }
227          }
228        },
229        {
230          "name": "findOne",
231          "arguments": {
232            "filter": {
233              "_id": 1
234            }
235          },
236          "result": {
237            "_id": 1,
238            "encrypted_symbol": {
239              "$symbol": "test"
240            }
241          }
242        }
243      ],
244      "expectations": [
245        {
246          "command_started_event": {
247            "command": {
248              "find": "datakeys",
249              "filter": {
250                "$or": [
251                  {
252                    "_id": {
253                      "$in": [
254                        {
255                          "$binary": {
256                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
257                            "subType": "04"
258                          }
259                        }
260                      ]
261                    }
262                  },
263                  {
264                    "keyAltNames": {
265                      "$in": []
266                    }
267                  }
268                ]
269              },
270              "$db": "keyvault",
271              "readConcern": {
272                "level": "majority"
273              }
274            },
275            "command_name": "find"
276          }
277        },
278        {
279          "command_started_event": {
280            "command": {
281              "insert": "default",
282              "documents": [
283                {
284                  "_id": 1,
285                  "encrypted_symbol": {
286                    "$binary": {
287                      "base64": "AQAAAAAAAAAAAAAAAAAAAAAOOmvDmWjcuKsSCO7U/7t9HJ8eI73B6wduyMbdkvn7n7V4uTJes/j+BTtneSdyG2JHKHGkevWAJSIU2XoO66BSXw==",
288                      "subType": "06"
289                    }
290                  }
291                }
292              ],
293              "ordered": true
294            },
295            "command_name": "insert"
296          }
297        },
298        {
299          "command_started_event": {
300            "command": {
301              "find": "default",
302              "filter": {
303                "_id": 1
304              }
305            },
306            "command_name": "find"
307          }
308        }
309      ],
310      "outcome": {
311        "collection": {
312          "data": [
313            {
314              "_id": 1,
315              "encrypted_symbol": {
316                "$binary": {
317                  "base64": "AQAAAAAAAAAAAAAAAAAAAAAOOmvDmWjcuKsSCO7U/7t9HJ8eI73B6wduyMbdkvn7n7V4uTJes/j+BTtneSdyG2JHKHGkevWAJSIU2XoO66BSXw==",
318                  "subType": "06"
319                }
320              }
321            }
322          ]
323        }
324      }
325    },
326    {
327      "description": "type=int",
328      "clientOptions": {
329        "autoEncryptOpts": {
330          "schemaMap": {
331            "default.default": {
332              "properties": {
333                "encrypted_int": {
334                  "encrypt": {
335                    "keyId": [
336                      {
337                        "$binary": {
338                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
339                          "subType": "04"
340                        }
341                      }
342                    ],
343                    "bsonType": "int",
344                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
345                  }
346                }
347              },
348              "bsonType": "object"
349            }
350          },
351          "kmsProviders": {
352            "aws": {}
353          }
354        }
355      },
356      "operations": [
357        {
358          "name": "insertOne",
359          "arguments": {
360            "document": {
361              "_id": 1,
362              "encrypted_int": {
363                "$numberInt": "123"
364              }
365            }
366          }
367        },
368        {
369          "name": "findOne",
370          "arguments": {
371            "filter": {
372              "_id": 1
373            }
374          },
375          "result": {
376            "_id": 1,
377            "encrypted_int": {
378              "$numberInt": "123"
379            }
380          }
381        }
382      ],
383      "expectations": [
384        {
385          "command_started_event": {
386            "command": {
387              "find": "datakeys",
388              "filter": {
389                "$or": [
390                  {
391                    "_id": {
392                      "$in": [
393                        {
394                          "$binary": {
395                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
396                            "subType": "04"
397                          }
398                        }
399                      ]
400                    }
401                  },
402                  {
403                    "keyAltNames": {
404                      "$in": []
405                    }
406                  }
407                ]
408              },
409              "$db": "keyvault",
410              "readConcern": {
411                "level": "majority"
412              }
413            },
414            "command_name": "find"
415          }
416        },
417        {
418          "command_started_event": {
419            "command": {
420              "insert": "default",
421              "documents": [
422                {
423                  "_id": 1,
424                  "encrypted_int": {
425                    "$binary": {
426                      "base64": "AQAAAAAAAAAAAAAAAAAAAAAQPNXJVXMEjGZnftMuf2INKufXCtQIRHdw5wTgn6QYt3ejcoAXyiwI4XIUizkpsob494qpt2in4tWeiO7b9zkA8Q==",
427                      "subType": "06"
428                    }
429                  }
430                }
431              ],
432              "ordered": true
433            },
434            "command_name": "insert"
435          }
436        },
437        {
438          "command_started_event": {
439            "command": {
440              "find": "default",
441              "filter": {
442                "_id": 1
443              }
444            },
445            "command_name": "find"
446          }
447        }
448      ],
449      "outcome": {
450        "collection": {
451          "data": [
452            {
453              "_id": 1,
454              "encrypted_int": {
455                "$binary": {
456                  "base64": "AQAAAAAAAAAAAAAAAAAAAAAQPNXJVXMEjGZnftMuf2INKufXCtQIRHdw5wTgn6QYt3ejcoAXyiwI4XIUizkpsob494qpt2in4tWeiO7b9zkA8Q==",
457                  "subType": "06"
458                }
459              }
460            }
461          ]
462        }
463      }
464    },
465    {
466      "description": "type=double",
467      "clientOptions": {
468        "autoEncryptOpts": {
469          "schemaMap": {
470            "default.default": {
471              "properties": {
472                "encrypted_double": {
473                  "encrypt": {
474                    "keyId": [
475                      {
476                        "$binary": {
477                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
478                          "subType": "04"
479                        }
480                      }
481                    ],
482                    "bsonType": "double",
483                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
484                  }
485                }
486              },
487              "bsonType": "object"
488            }
489          },
490          "kmsProviders": {
491            "aws": {}
492          }
493        }
494      },
495      "operations": [
496        {
497          "name": "insertOne",
498          "arguments": {
499            "document": {
500              "_id": 1,
501              "encrypted_double": {
502                "$numberDouble": "1.23"
503              }
504            }
505          },
506          "result": {
507            "errorContains": "Cannot use deterministic encryption for element of type: double"
508          }
509        }
510      ]
511    },
512    {
513      "description": "type=decimal",
514      "clientOptions": {
515        "autoEncryptOpts": {
516          "schemaMap": {
517            "default.default": {
518              "properties": {
519                "encrypted_decimal": {
520                  "encrypt": {
521                    "keyId": [
522                      {
523                        "$binary": {
524                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
525                          "subType": "04"
526                        }
527                      }
528                    ],
529                    "bsonType": "decimal",
530                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
531                  }
532                }
533              },
534              "bsonType": "object"
535            }
536          },
537          "kmsProviders": {
538            "aws": {}
539          }
540        }
541      },
542      "operations": [
543        {
544          "name": "insertOne",
545          "arguments": {
546            "document": {
547              "_id": 1,
548              "encrypted_decimal": {
549                "$numberDecimal": "1.23"
550              }
551            }
552          },
553          "result": {
554            "errorContains": "Cannot use deterministic encryption for element of type: decimal"
555          }
556        }
557      ]
558    },
559    {
560      "description": "type=binData",
561      "clientOptions": {
562        "autoEncryptOpts": {
563          "schemaMap": {
564            "default.default": {
565              "properties": {
566                "encrypted_binData": {
567                  "encrypt": {
568                    "keyId": [
569                      {
570                        "$binary": {
571                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
572                          "subType": "04"
573                        }
574                      }
575                    ],
576                    "bsonType": "binData",
577                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
578                  }
579                }
580              },
581              "bsonType": "object"
582            }
583          },
584          "kmsProviders": {
585            "aws": {}
586          }
587        }
588      },
589      "operations": [
590        {
591          "name": "insertOne",
592          "arguments": {
593            "document": {
594              "_id": 1,
595              "encrypted_binData": {
596                "$binary": {
597                  "base64": "AAAA",
598                  "subType": "00"
599                }
600              }
601            }
602          }
603        },
604        {
605          "name": "findOne",
606          "arguments": {
607            "filter": {
608              "_id": 1
609            }
610          },
611          "result": {
612            "_id": 1,
613            "encrypted_binData": {
614              "$binary": {
615                "base64": "AAAA",
616                "subType": "00"
617              }
618            }
619          }
620        }
621      ],
622      "expectations": [
623        {
624          "command_started_event": {
625            "command": {
626              "find": "datakeys",
627              "filter": {
628                "$or": [
629                  {
630                    "_id": {
631                      "$in": [
632                        {
633                          "$binary": {
634                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
635                            "subType": "04"
636                          }
637                        }
638                      ]
639                    }
640                  },
641                  {
642                    "keyAltNames": {
643                      "$in": []
644                    }
645                  }
646                ]
647              },
648              "$db": "keyvault",
649              "readConcern": {
650                "level": "majority"
651              }
652            },
653            "command_name": "find"
654          }
655        },
656        {
657          "command_started_event": {
658            "command": {
659              "insert": "default",
660              "documents": [
661                {
662                  "_id": 1,
663                  "encrypted_binData": {
664                    "$binary": {
665                      "base64": "AQAAAAAAAAAAAAAAAAAAAAAFB/KHZQHaHHo8fctcl7v6kR+sLkJoTRx2cPSSck9ya+nbGROSeFhdhDRHaCzhV78fDEqnMDSVPNi+ZkbaIh46GQ==",
666                      "subType": "06"
667                    }
668                  }
669                }
670              ],
671              "ordered": true
672            },
673            "command_name": "insert"
674          }
675        },
676        {
677          "command_started_event": {
678            "command": {
679              "find": "default",
680              "filter": {
681                "_id": 1
682              }
683            },
684            "command_name": "find"
685          }
686        }
687      ],
688      "outcome": {
689        "collection": {
690          "data": [
691            {
692              "_id": 1,
693              "encrypted_binData": {
694                "$binary": {
695                  "base64": "AQAAAAAAAAAAAAAAAAAAAAAFB/KHZQHaHHo8fctcl7v6kR+sLkJoTRx2cPSSck9ya+nbGROSeFhdhDRHaCzhV78fDEqnMDSVPNi+ZkbaIh46GQ==",
696                  "subType": "06"
697                }
698              }
699            }
700          ]
701        }
702      }
703    },
704    {
705      "description": "type=javascript",
706      "clientOptions": {
707        "autoEncryptOpts": {
708          "schemaMap": {
709            "default.default": {
710              "properties": {
711                "encrypted_javascript": {
712                  "encrypt": {
713                    "keyId": [
714                      {
715                        "$binary": {
716                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
717                          "subType": "04"
718                        }
719                      }
720                    ],
721                    "bsonType": "javascript",
722                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
723                  }
724                }
725              },
726              "bsonType": "object"
727            }
728          },
729          "kmsProviders": {
730            "aws": {}
731          }
732        }
733      },
734      "operations": [
735        {
736          "name": "insertOne",
737          "arguments": {
738            "document": {
739              "_id": 1,
740              "encrypted_javascript": {
741                "$code": "var x = 1;"
742              }
743            }
744          }
745        },
746        {
747          "name": "findOne",
748          "arguments": {
749            "filter": {
750              "_id": 1
751            }
752          },
753          "result": {
754            "_id": 1,
755            "encrypted_javascript": {
756              "$code": "var x = 1;"
757            }
758          }
759        }
760      ],
761      "expectations": [
762        {
763          "command_started_event": {
764            "command": {
765              "find": "datakeys",
766              "filter": {
767                "$or": [
768                  {
769                    "_id": {
770                      "$in": [
771                        {
772                          "$binary": {
773                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
774                            "subType": "04"
775                          }
776                        }
777                      ]
778                    }
779                  },
780                  {
781                    "keyAltNames": {
782                      "$in": []
783                    }
784                  }
785                ]
786              },
787              "$db": "keyvault",
788              "readConcern": {
789                "level": "majority"
790              }
791            },
792            "command_name": "find"
793          }
794        },
795        {
796          "command_started_event": {
797            "command": {
798              "insert": "default",
799              "documents": [
800                {
801                  "_id": 1,
802                  "encrypted_javascript": {
803                    "$binary": {
804                      "base64": "AQAAAAAAAAAAAAAAAAAAAAANrvMgJkTKWGMc9wt3E2RBR2Hu5gL9p+vIIdHe9FcOm99t1W480/oX1Gnd87ON3B399DuFaxi/aaIiQSo7gTX6Lw==",
805                      "subType": "06"
806                    }
807                  }
808                }
809              ],
810              "ordered": true
811            },
812            "command_name": "insert"
813          }
814        },
815        {
816          "command_started_event": {
817            "command": {
818              "find": "default",
819              "filter": {
820                "_id": 1
821              }
822            },
823            "command_name": "find"
824          }
825        }
826      ],
827      "outcome": {
828        "collection": {
829          "data": [
830            {
831              "_id": 1,
832              "encrypted_javascript": {
833                "$binary": {
834                  "base64": "AQAAAAAAAAAAAAAAAAAAAAANrvMgJkTKWGMc9wt3E2RBR2Hu5gL9p+vIIdHe9FcOm99t1W480/oX1Gnd87ON3B399DuFaxi/aaIiQSo7gTX6Lw==",
835                  "subType": "06"
836                }
837              }
838            }
839          ]
840        }
841      }
842    },
843    {
844      "description": "type=javascriptWithScope",
845      "clientOptions": {
846        "autoEncryptOpts": {
847          "schemaMap": {
848            "default.default": {
849              "properties": {
850                "encrypted_javascriptWithScope": {
851                  "encrypt": {
852                    "keyId": [
853                      {
854                        "$binary": {
855                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
856                          "subType": "04"
857                        }
858                      }
859                    ],
860                    "bsonType": "javascriptWithScope",
861                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
862                  }
863                }
864              },
865              "bsonType": "object"
866            }
867          },
868          "kmsProviders": {
869            "aws": {}
870          }
871        }
872      },
873      "operations": [
874        {
875          "name": "insertOne",
876          "arguments": {
877            "document": {
878              "_id": 1,
879              "encrypted_javascriptWithScope": {
880                "$code": "var x = 1;",
881                "$scope": {}
882              }
883            }
884          },
885          "result": {
886            "errorContains": "Cannot use deterministic encryption for element of type: javascriptWithScope"
887          }
888        }
889      ]
890    },
891    {
892      "description": "type=object",
893      "clientOptions": {
894        "autoEncryptOpts": {
895          "schemaMap": {
896            "default.default": {
897              "properties": {
898                "encrypted_object": {
899                  "encrypt": {
900                    "keyId": [
901                      {
902                        "$binary": {
903                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
904                          "subType": "04"
905                        }
906                      }
907                    ],
908                    "bsonType": "object",
909                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
910                  }
911                }
912              },
913              "bsonType": "object"
914            }
915          },
916          "kmsProviders": {
917            "aws": {}
918          }
919        }
920      },
921      "operations": [
922        {
923          "name": "insertOne",
924          "arguments": {
925            "document": {
926              "_id": 1,
927              "encrypted_object": {}
928            }
929          },
930          "result": {
931            "errorContains": "Cannot use deterministic encryption for element of type: object"
932          }
933        }
934      ]
935    },
936    {
937      "description": "type=timestamp",
938      "clientOptions": {
939        "autoEncryptOpts": {
940          "schemaMap": {
941            "default.default": {
942              "properties": {
943                "encrypted_timestamp": {
944                  "encrypt": {
945                    "keyId": [
946                      {
947                        "$binary": {
948                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
949                          "subType": "04"
950                        }
951                      }
952                    ],
953                    "bsonType": "timestamp",
954                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
955                  }
956                }
957              },
958              "bsonType": "object"
959            }
960          },
961          "kmsProviders": {
962            "aws": {}
963          }
964        }
965      },
966      "operations": [
967        {
968          "name": "insertOne",
969          "arguments": {
970            "document": {
971              "_id": 1,
972              "encrypted_timestamp": {
973                "$timestamp": {
974                  "t": 123,
975                  "i": 456
976                }
977              }
978            }
979          }
980        },
981        {
982          "name": "findOne",
983          "arguments": {
984            "filter": {
985              "_id": 1
986            }
987          },
988          "result": {
989            "_id": 1,
990            "encrypted_timestamp": {
991              "$timestamp": {
992                "t": 123,
993                "i": 456
994              }
995            }
996          }
997        }
998      ],
999      "expectations": [
1000        {
1001          "command_started_event": {
1002            "command": {
1003              "find": "datakeys",
1004              "filter": {
1005                "$or": [
1006                  {
1007                    "_id": {
1008                      "$in": [
1009                        {
1010                          "$binary": {
1011                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1012                            "subType": "04"
1013                          }
1014                        }
1015                      ]
1016                    }
1017                  },
1018                  {
1019                    "keyAltNames": {
1020                      "$in": []
1021                    }
1022                  }
1023                ]
1024              },
1025              "$db": "keyvault",
1026              "readConcern": {
1027                "level": "majority"
1028              }
1029            },
1030            "command_name": "find"
1031          }
1032        },
1033        {
1034          "command_started_event": {
1035            "command": {
1036              "insert": "default",
1037              "documents": [
1038                {
1039                  "_id": 1,
1040                  "encrypted_timestamp": {
1041                    "$binary": {
1042                      "base64": "AQAAAAAAAAAAAAAAAAAAAAARJHaM4Gq3MpDTdBasBsEolQaOmxJQU1wsZVaSFAOLpEh1QihDglXI95xemePFMKhg+KNpFg7lw1ChCs2Wn/c26Q==",
1043                      "subType": "06"
1044                    }
1045                  }
1046                }
1047              ],
1048              "ordered": true
1049            },
1050            "command_name": "insert"
1051          }
1052        },
1053        {
1054          "command_started_event": {
1055            "command": {
1056              "find": "default",
1057              "filter": {
1058                "_id": 1
1059              }
1060            },
1061            "command_name": "find"
1062          }
1063        }
1064      ],
1065      "outcome": {
1066        "collection": {
1067          "data": [
1068            {
1069              "_id": 1,
1070              "encrypted_timestamp": {
1071                "$binary": {
1072                  "base64": "AQAAAAAAAAAAAAAAAAAAAAARJHaM4Gq3MpDTdBasBsEolQaOmxJQU1wsZVaSFAOLpEh1QihDglXI95xemePFMKhg+KNpFg7lw1ChCs2Wn/c26Q==",
1073                  "subType": "06"
1074                }
1075              }
1076            }
1077          ]
1078        }
1079      }
1080    },
1081    {
1082      "description": "type=regex",
1083      "clientOptions": {
1084        "autoEncryptOpts": {
1085          "schemaMap": {
1086            "default.default": {
1087              "properties": {
1088                "encrypted_regex": {
1089                  "encrypt": {
1090                    "keyId": [
1091                      {
1092                        "$binary": {
1093                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1094                          "subType": "04"
1095                        }
1096                      }
1097                    ],
1098                    "bsonType": "regex",
1099                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1100                  }
1101                }
1102              },
1103              "bsonType": "object"
1104            }
1105          },
1106          "kmsProviders": {
1107            "aws": {}
1108          }
1109        }
1110      },
1111      "operations": [
1112        {
1113          "name": "insertOne",
1114          "arguments": {
1115            "document": {
1116              "_id": 1,
1117              "encrypted_regex": {
1118                "$regularExpression": {
1119                  "pattern": "test",
1120                  "options": ""
1121                }
1122              }
1123            }
1124          }
1125        },
1126        {
1127          "name": "findOne",
1128          "arguments": {
1129            "filter": {
1130              "_id": 1
1131            }
1132          },
1133          "result": {
1134            "_id": 1,
1135            "encrypted_regex": {
1136              "$regularExpression": {
1137                "pattern": "test",
1138                "options": ""
1139              }
1140            }
1141          }
1142        }
1143      ],
1144      "expectations": [
1145        {
1146          "command_started_event": {
1147            "command": {
1148              "find": "datakeys",
1149              "filter": {
1150                "$or": [
1151                  {
1152                    "_id": {
1153                      "$in": [
1154                        {
1155                          "$binary": {
1156                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1157                            "subType": "04"
1158                          }
1159                        }
1160                      ]
1161                    }
1162                  },
1163                  {
1164                    "keyAltNames": {
1165                      "$in": []
1166                    }
1167                  }
1168                ]
1169              },
1170              "$db": "keyvault",
1171              "readConcern": {
1172                "level": "majority"
1173              }
1174            },
1175            "command_name": "find"
1176          }
1177        },
1178        {
1179          "command_started_event": {
1180            "command": {
1181              "insert": "default",
1182              "documents": [
1183                {
1184                  "_id": 1,
1185                  "encrypted_regex": {
1186                    "$binary": {
1187                      "base64": "AQAAAAAAAAAAAAAAAAAAAAALVnxM4UqGhqf5eXw6nsS08am3YJrTf1EvjKitT8tyyMAbHsICIU3GUjuC7EBofCHbusvgo7pDyaClGostFz44nA==",
1188                      "subType": "06"
1189                    }
1190                  }
1191                }
1192              ],
1193              "ordered": true
1194            },
1195            "command_name": "insert"
1196          }
1197        },
1198        {
1199          "command_started_event": {
1200            "command": {
1201              "find": "default",
1202              "filter": {
1203                "_id": 1
1204              }
1205            },
1206            "command_name": "find"
1207          }
1208        }
1209      ],
1210      "outcome": {
1211        "collection": {
1212          "data": [
1213            {
1214              "_id": 1,
1215              "encrypted_regex": {
1216                "$binary": {
1217                  "base64": "AQAAAAAAAAAAAAAAAAAAAAALVnxM4UqGhqf5eXw6nsS08am3YJrTf1EvjKitT8tyyMAbHsICIU3GUjuC7EBofCHbusvgo7pDyaClGostFz44nA==",
1218                  "subType": "06"
1219                }
1220              }
1221            }
1222          ]
1223        }
1224      }
1225    },
1226    {
1227      "description": "type=date",
1228      "clientOptions": {
1229        "autoEncryptOpts": {
1230          "schemaMap": {
1231            "default.default": {
1232              "properties": {
1233                "encrypted_date": {
1234                  "encrypt": {
1235                    "keyId": [
1236                      {
1237                        "$binary": {
1238                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1239                          "subType": "04"
1240                        }
1241                      }
1242                    ],
1243                    "bsonType": "date",
1244                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1245                  }
1246                }
1247              },
1248              "bsonType": "object"
1249            }
1250          },
1251          "kmsProviders": {
1252            "aws": {}
1253          }
1254        }
1255      },
1256      "operations": [
1257        {
1258          "name": "insertOne",
1259          "arguments": {
1260            "document": {
1261              "_id": 1,
1262              "encrypted_date": {
1263                "$date": {
1264                  "$numberLong": "123"
1265                }
1266              }
1267            }
1268          }
1269        },
1270        {
1271          "name": "findOne",
1272          "arguments": {
1273            "filter": {
1274              "_id": 1
1275            }
1276          },
1277          "result": {
1278            "_id": 1,
1279            "encrypted_date": {
1280              "$date": {
1281                "$numberLong": "123"
1282              }
1283            }
1284          }
1285        }
1286      ],
1287      "expectations": [
1288        {
1289          "command_started_event": {
1290            "command": {
1291              "find": "datakeys",
1292              "filter": {
1293                "$or": [
1294                  {
1295                    "_id": {
1296                      "$in": [
1297                        {
1298                          "$binary": {
1299                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1300                            "subType": "04"
1301                          }
1302                        }
1303                      ]
1304                    }
1305                  },
1306                  {
1307                    "keyAltNames": {
1308                      "$in": []
1309                    }
1310                  }
1311                ]
1312              },
1313              "$db": "keyvault",
1314              "readConcern": {
1315                "level": "majority"
1316              }
1317            },
1318            "command_name": "find"
1319          }
1320        },
1321        {
1322          "command_started_event": {
1323            "command": {
1324              "insert": "default",
1325              "documents": [
1326                {
1327                  "_id": 1,
1328                  "encrypted_date": {
1329                    "$binary": {
1330                      "base64": "AQAAAAAAAAAAAAAAAAAAAAAJ5sN7u6l97+DswfKTqZAijSTSOo5htinGKQKUD7pHNJYlLXGOkB4glrCu7ibu0g3344RHQ5yUp4YxMEa8GD+Snw==",
1331                      "subType": "06"
1332                    }
1333                  }
1334                }
1335              ],
1336              "ordered": true
1337            },
1338            "command_name": "insert"
1339          }
1340        },
1341        {
1342          "command_started_event": {
1343            "command": {
1344              "find": "default",
1345              "filter": {
1346                "_id": 1
1347              }
1348            },
1349            "command_name": "find"
1350          }
1351        }
1352      ],
1353      "outcome": {
1354        "collection": {
1355          "data": [
1356            {
1357              "_id": 1,
1358              "encrypted_date": {
1359                "$binary": {
1360                  "base64": "AQAAAAAAAAAAAAAAAAAAAAAJ5sN7u6l97+DswfKTqZAijSTSOo5htinGKQKUD7pHNJYlLXGOkB4glrCu7ibu0g3344RHQ5yUp4YxMEa8GD+Snw==",
1361                  "subType": "06"
1362                }
1363              }
1364            }
1365          ]
1366        }
1367      }
1368    },
1369    {
1370      "description": "type=minKey",
1371      "clientOptions": {
1372        "autoEncryptOpts": {
1373          "schemaMap": {
1374            "default.default": {
1375              "properties": {
1376                "encrypted_minKey": {
1377                  "encrypt": {
1378                    "keyId": [
1379                      {
1380                        "$binary": {
1381                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1382                          "subType": "04"
1383                        }
1384                      }
1385                    ],
1386                    "bsonType": "minKey",
1387                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1388                  }
1389                }
1390              },
1391              "bsonType": "object"
1392            }
1393          },
1394          "kmsProviders": {
1395            "aws": {}
1396          }
1397        }
1398      },
1399      "operations": [
1400        {
1401          "name": "insertOne",
1402          "arguments": {
1403            "document": {
1404              "_id": 1,
1405              "encrypted_minKey": {
1406                "$minKey": 1
1407              }
1408            }
1409          },
1410          "result": {
1411            "errorContains": "Cannot encrypt element of type: minKey"
1412          }
1413        }
1414      ]
1415    },
1416    {
1417      "description": "type=maxKey",
1418      "clientOptions": {
1419        "autoEncryptOpts": {
1420          "schemaMap": {
1421            "default.default": {
1422              "properties": {
1423                "encrypted_maxKey": {
1424                  "encrypt": {
1425                    "keyId": [
1426                      {
1427                        "$binary": {
1428                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1429                          "subType": "04"
1430                        }
1431                      }
1432                    ],
1433                    "bsonType": "maxKey",
1434                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1435                  }
1436                }
1437              },
1438              "bsonType": "object"
1439            }
1440          },
1441          "kmsProviders": {
1442            "aws": {}
1443          }
1444        }
1445      },
1446      "operations": [
1447        {
1448          "name": "insertOne",
1449          "arguments": {
1450            "document": {
1451              "_id": 1,
1452              "encrypted_maxKey": {
1453                "$maxKey": 1
1454              }
1455            }
1456          },
1457          "result": {
1458            "errorContains": "Cannot encrypt element of type: maxKey"
1459          }
1460        }
1461      ]
1462    },
1463    {
1464      "description": "type=undefined",
1465      "clientOptions": {
1466        "autoEncryptOpts": {
1467          "schemaMap": {
1468            "default.default": {
1469              "properties": {
1470                "encrypted_undefined": {
1471                  "encrypt": {
1472                    "keyId": [
1473                      {
1474                        "$binary": {
1475                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1476                          "subType": "04"
1477                        }
1478                      }
1479                    ],
1480                    "bsonType": "undefined",
1481                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1482                  }
1483                }
1484              },
1485              "bsonType": "object"
1486            }
1487          },
1488          "kmsProviders": {
1489            "aws": {}
1490          }
1491        }
1492      },
1493      "operations": [
1494        {
1495          "name": "insertOne",
1496          "arguments": {
1497            "document": {
1498              "_id": 1,
1499              "encrypted_undefined": {
1500                "$undefined": true
1501              }
1502            }
1503          },
1504          "result": {
1505            "errorContains": "Cannot encrypt element of type: undefined"
1506          }
1507        }
1508      ]
1509    },
1510    {
1511      "description": "type=array",
1512      "clientOptions": {
1513        "autoEncryptOpts": {
1514          "schemaMap": {
1515            "default.default": {
1516              "properties": {
1517                "encrypted_array": {
1518                  "encrypt": {
1519                    "keyId": [
1520                      {
1521                        "$binary": {
1522                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1523                          "subType": "04"
1524                        }
1525                      }
1526                    ],
1527                    "bsonType": "array",
1528                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1529                  }
1530                }
1531              },
1532              "bsonType": "object"
1533            }
1534          },
1535          "kmsProviders": {
1536            "aws": {}
1537          }
1538        }
1539      },
1540      "operations": [
1541        {
1542          "name": "insertOne",
1543          "arguments": {
1544            "document": {
1545              "_id": 1,
1546              "encrypted_array": []
1547            }
1548          },
1549          "result": {
1550            "errorContains": "Cannot use deterministic encryption for element of type: array"
1551          }
1552        }
1553      ]
1554    },
1555    {
1556      "description": "type=bool",
1557      "clientOptions": {
1558        "autoEncryptOpts": {
1559          "schemaMap": {
1560            "default.default": {
1561              "properties": {
1562                "encrypted_bool": {
1563                  "encrypt": {
1564                    "keyId": [
1565                      {
1566                        "$binary": {
1567                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1568                          "subType": "04"
1569                        }
1570                      }
1571                    ],
1572                    "bsonType": "bool",
1573                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1574                  }
1575                }
1576              },
1577              "bsonType": "object"
1578            }
1579          },
1580          "kmsProviders": {
1581            "aws": {}
1582          }
1583        }
1584      },
1585      "operations": [
1586        {
1587          "name": "insertOne",
1588          "arguments": {
1589            "document": {
1590              "_id": 1,
1591              "encrypted_bool": true
1592            }
1593          },
1594          "result": {
1595            "errorContains": "Cannot use deterministic encryption for element of type: bool"
1596          }
1597        }
1598      ]
1599    },
1600    {
1601      "description": "type=null",
1602      "clientOptions": {
1603        "autoEncryptOpts": {
1604          "schemaMap": {
1605            "default.default": {
1606              "properties": {
1607                "encrypted_null": {
1608                  "encrypt": {
1609                    "keyId": [
1610                      {
1611                        "$binary": {
1612                          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
1613                          "subType": "04"
1614                        }
1615                      }
1616                    ],
1617                    "bsonType": "null",
1618                    "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
1619                  }
1620                }
1621              },
1622              "bsonType": "object"
1623            }
1624          },
1625          "kmsProviders": {
1626            "aws": {}
1627          }
1628        }
1629      },
1630      "operations": [
1631        {
1632          "name": "insertOne",
1633          "arguments": {
1634            "document": {
1635              "_id": 1,
1636              "encrypted_null": true
1637            }
1638          },
1639          "result": {
1640            "errorContains": "Cannot encrypt element of type: null"
1641          }
1642        }
1643      ]
1644    }
1645  ]
1646}
1647