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