...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/fle2v2-Range-Date-Correctness.json

Documentation: go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy

     1{
     2  "runOn": [
     3    {
     4      "minServerVersion": "7.0.0",
     5      "topology": [
     6        "replicaset",
     7        "sharded",
     8        "load-balanced"
     9      ],
    10      "maxServerVersion": "7.99.99"
    11    }
    12  ],
    13  "database_name": "default",
    14  "collection_name": "default",
    15  "data": [],
    16  "encrypted_fields": {
    17    "fields": [
    18      {
    19        "keyId": {
    20          "$binary": {
    21            "base64": "EjRWeBI0mHYSNBI0VniQEg==",
    22            "subType": "04"
    23          }
    24        },
    25        "path": "encryptedDate",
    26        "bsonType": "date",
    27        "queries": {
    28          "queryType": "rangePreview",
    29          "contention": {
    30            "$numberLong": "0"
    31          },
    32          "sparsity": {
    33            "$numberLong": "1"
    34          },
    35          "min": {
    36            "$date": {
    37              "$numberLong": "0"
    38            }
    39          },
    40          "max": {
    41            "$date": {
    42              "$numberLong": "200"
    43            }
    44          }
    45        }
    46      }
    47    ]
    48  },
    49  "key_vault_data": [
    50    {
    51      "_id": {
    52        "$binary": {
    53          "base64": "EjRWeBI0mHYSNBI0VniQEg==",
    54          "subType": "04"
    55        }
    56      },
    57      "keyMaterial": {
    58        "$binary": {
    59          "base64": "sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==",
    60          "subType": "00"
    61        }
    62      },
    63      "creationDate": {
    64        "$date": {
    65          "$numberLong": "1648914851981"
    66        }
    67      },
    68      "updateDate": {
    69        "$date": {
    70          "$numberLong": "1648914851981"
    71        }
    72      },
    73      "status": {
    74        "$numberInt": "0"
    75      },
    76      "masterKey": {
    77        "provider": "local"
    78      }
    79    }
    80  ],
    81  "tests": [
    82    {
    83      "description": "Find with $gt",
    84      "clientOptions": {
    85        "autoEncryptOpts": {
    86          "kmsProviders": {
    87            "local": {
    88              "key": {
    89                "$binary": {
    90                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
    91                  "subType": "00"
    92                }
    93              }
    94            }
    95          }
    96        }
    97      },
    98      "operations": [
    99        {
   100          "name": "insertOne",
   101          "arguments": {
   102            "document": {
   103              "_id": 0,
   104              "encryptedDate": {
   105                "$date": {
   106                  "$numberLong": "0"
   107                }
   108              }
   109            }
   110          }
   111        },
   112        {
   113          "name": "insertOne",
   114          "arguments": {
   115            "document": {
   116              "_id": 1,
   117              "encryptedDate": {
   118                "$date": {
   119                  "$numberLong": "1"
   120                }
   121              }
   122            }
   123          }
   124        },
   125        {
   126          "name": "find",
   127          "arguments": {
   128            "filter": {
   129              "encryptedDate": {
   130                "$gt": {
   131                  "$date": {
   132                    "$numberLong": "0"
   133                  }
   134                }
   135              }
   136            }
   137          },
   138          "result": [
   139            {
   140              "_id": 1,
   141              "encryptedDate": {
   142                "$date": {
   143                  "$numberLong": "1"
   144                }
   145              }
   146            }
   147          ]
   148        }
   149      ]
   150    },
   151    {
   152      "description": "Find with $gte",
   153      "clientOptions": {
   154        "autoEncryptOpts": {
   155          "kmsProviders": {
   156            "local": {
   157              "key": {
   158                "$binary": {
   159                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   160                  "subType": "00"
   161                }
   162              }
   163            }
   164          }
   165        }
   166      },
   167      "operations": [
   168        {
   169          "name": "insertOne",
   170          "arguments": {
   171            "document": {
   172              "_id": 0,
   173              "encryptedDate": {
   174                "$date": {
   175                  "$numberLong": "0"
   176                }
   177              }
   178            }
   179          }
   180        },
   181        {
   182          "name": "insertOne",
   183          "arguments": {
   184            "document": {
   185              "_id": 1,
   186              "encryptedDate": {
   187                "$date": {
   188                  "$numberLong": "1"
   189                }
   190              }
   191            }
   192          }
   193        },
   194        {
   195          "name": "find",
   196          "arguments": {
   197            "filter": {
   198              "encryptedDate": {
   199                "$gte": {
   200                  "$date": {
   201                    "$numberLong": "0"
   202                  }
   203                }
   204              }
   205            },
   206            "sort": {
   207              "_id": 1
   208            }
   209          },
   210          "result": [
   211            {
   212              "_id": 0,
   213              "encryptedDate": {
   214                "$date": {
   215                  "$numberLong": "0"
   216                }
   217              }
   218            },
   219            {
   220              "_id": 1,
   221              "encryptedDate": {
   222                "$date": {
   223                  "$numberLong": "1"
   224                }
   225              }
   226            }
   227          ]
   228        }
   229      ]
   230    },
   231    {
   232      "description": "Find with $gt with no results",
   233      "clientOptions": {
   234        "autoEncryptOpts": {
   235          "kmsProviders": {
   236            "local": {
   237              "key": {
   238                "$binary": {
   239                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   240                  "subType": "00"
   241                }
   242              }
   243            }
   244          }
   245        }
   246      },
   247      "operations": [
   248        {
   249          "name": "insertOne",
   250          "arguments": {
   251            "document": {
   252              "_id": 0,
   253              "encryptedDate": {
   254                "$date": {
   255                  "$numberLong": "0"
   256                }
   257              }
   258            }
   259          }
   260        },
   261        {
   262          "name": "insertOne",
   263          "arguments": {
   264            "document": {
   265              "_id": 1,
   266              "encryptedDate": {
   267                "$date": {
   268                  "$numberLong": "1"
   269                }
   270              }
   271            }
   272          }
   273        },
   274        {
   275          "name": "find",
   276          "arguments": {
   277            "filter": {
   278              "encryptedDate": {
   279                "$gt": {
   280                  "$date": {
   281                    "$numberLong": "1"
   282                  }
   283                }
   284              }
   285            }
   286          },
   287          "result": []
   288        }
   289      ]
   290    },
   291    {
   292      "description": "Find with $lt",
   293      "clientOptions": {
   294        "autoEncryptOpts": {
   295          "kmsProviders": {
   296            "local": {
   297              "key": {
   298                "$binary": {
   299                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   300                  "subType": "00"
   301                }
   302              }
   303            }
   304          }
   305        }
   306      },
   307      "operations": [
   308        {
   309          "name": "insertOne",
   310          "arguments": {
   311            "document": {
   312              "_id": 0,
   313              "encryptedDate": {
   314                "$date": {
   315                  "$numberLong": "0"
   316                }
   317              }
   318            }
   319          }
   320        },
   321        {
   322          "name": "insertOne",
   323          "arguments": {
   324            "document": {
   325              "_id": 1,
   326              "encryptedDate": {
   327                "$date": {
   328                  "$numberLong": "1"
   329                }
   330              }
   331            }
   332          }
   333        },
   334        {
   335          "name": "find",
   336          "arguments": {
   337            "filter": {
   338              "encryptedDate": {
   339                "$lt": {
   340                  "$date": {
   341                    "$numberLong": "1"
   342                  }
   343                }
   344              }
   345            }
   346          },
   347          "result": [
   348            {
   349              "_id": 0,
   350              "encryptedDate": {
   351                "$date": {
   352                  "$numberLong": "0"
   353                }
   354              }
   355            }
   356          ]
   357        }
   358      ]
   359    },
   360    {
   361      "description": "Find with $lte",
   362      "clientOptions": {
   363        "autoEncryptOpts": {
   364          "kmsProviders": {
   365            "local": {
   366              "key": {
   367                "$binary": {
   368                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   369                  "subType": "00"
   370                }
   371              }
   372            }
   373          }
   374        }
   375      },
   376      "operations": [
   377        {
   378          "name": "insertOne",
   379          "arguments": {
   380            "document": {
   381              "_id": 0,
   382              "encryptedDate": {
   383                "$date": {
   384                  "$numberLong": "0"
   385                }
   386              }
   387            }
   388          }
   389        },
   390        {
   391          "name": "insertOne",
   392          "arguments": {
   393            "document": {
   394              "_id": 1,
   395              "encryptedDate": {
   396                "$date": {
   397                  "$numberLong": "1"
   398                }
   399              }
   400            }
   401          }
   402        },
   403        {
   404          "name": "find",
   405          "arguments": {
   406            "filter": {
   407              "encryptedDate": {
   408                "$lte": {
   409                  "$date": {
   410                    "$numberLong": "1"
   411                  }
   412                }
   413              }
   414            },
   415            "sort": {
   416              "_id": 1
   417            }
   418          },
   419          "result": [
   420            {
   421              "_id": 0,
   422              "encryptedDate": {
   423                "$date": {
   424                  "$numberLong": "0"
   425                }
   426              }
   427            },
   428            {
   429              "_id": 1,
   430              "encryptedDate": {
   431                "$date": {
   432                  "$numberLong": "1"
   433                }
   434              }
   435            }
   436          ]
   437        }
   438      ]
   439    },
   440    {
   441      "description": "Find with $lt below min",
   442      "clientOptions": {
   443        "autoEncryptOpts": {
   444          "kmsProviders": {
   445            "local": {
   446              "key": {
   447                "$binary": {
   448                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   449                  "subType": "00"
   450                }
   451              }
   452            }
   453          }
   454        }
   455      },
   456      "operations": [
   457        {
   458          "name": "insertOne",
   459          "arguments": {
   460            "document": {
   461              "_id": 0,
   462              "encryptedDate": {
   463                "$date": {
   464                  "$numberLong": "0"
   465                }
   466              }
   467            }
   468          }
   469        },
   470        {
   471          "name": "insertOne",
   472          "arguments": {
   473            "document": {
   474              "_id": 1,
   475              "encryptedDate": {
   476                "$date": {
   477                  "$numberLong": "1"
   478                }
   479              }
   480            }
   481          }
   482        },
   483        {
   484          "name": "find",
   485          "arguments": {
   486            "filter": {
   487              "encryptedDate": {
   488                "$lt": {
   489                  "$date": {
   490                    "$numberLong": "0"
   491                  }
   492                }
   493              }
   494            }
   495          },
   496          "result": {
   497            "errorContains": "must be greater than the range minimum"
   498          }
   499        }
   500      ]
   501    },
   502    {
   503      "description": "Find with $gt above max",
   504      "clientOptions": {
   505        "autoEncryptOpts": {
   506          "kmsProviders": {
   507            "local": {
   508              "key": {
   509                "$binary": {
   510                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   511                  "subType": "00"
   512                }
   513              }
   514            }
   515          }
   516        }
   517      },
   518      "operations": [
   519        {
   520          "name": "insertOne",
   521          "arguments": {
   522            "document": {
   523              "_id": 0,
   524              "encryptedDate": {
   525                "$date": {
   526                  "$numberLong": "0"
   527                }
   528              }
   529            }
   530          }
   531        },
   532        {
   533          "name": "insertOne",
   534          "arguments": {
   535            "document": {
   536              "_id": 1,
   537              "encryptedDate": {
   538                "$date": {
   539                  "$numberLong": "1"
   540                }
   541              }
   542            }
   543          }
   544        },
   545        {
   546          "name": "find",
   547          "arguments": {
   548            "filter": {
   549              "encryptedDate": {
   550                "$gt": {
   551                  "$date": {
   552                    "$numberLong": "200"
   553                  }
   554                }
   555              }
   556            }
   557          },
   558          "result": {
   559            "errorContains": "must be less than the range maximum"
   560          }
   561        }
   562      ]
   563    },
   564    {
   565      "description": "Find with $gt and $lt",
   566      "clientOptions": {
   567        "autoEncryptOpts": {
   568          "kmsProviders": {
   569            "local": {
   570              "key": {
   571                "$binary": {
   572                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   573                  "subType": "00"
   574                }
   575              }
   576            }
   577          }
   578        }
   579      },
   580      "operations": [
   581        {
   582          "name": "insertOne",
   583          "arguments": {
   584            "document": {
   585              "_id": 0,
   586              "encryptedDate": {
   587                "$date": {
   588                  "$numberLong": "0"
   589                }
   590              }
   591            }
   592          }
   593        },
   594        {
   595          "name": "insertOne",
   596          "arguments": {
   597            "document": {
   598              "_id": 1,
   599              "encryptedDate": {
   600                "$date": {
   601                  "$numberLong": "1"
   602                }
   603              }
   604            }
   605          }
   606        },
   607        {
   608          "name": "find",
   609          "arguments": {
   610            "filter": {
   611              "encryptedDate": {
   612                "$gt": {
   613                  "$date": {
   614                    "$numberLong": "0"
   615                  }
   616                },
   617                "$lt": {
   618                  "$date": {
   619                    "$numberLong": "2"
   620                  }
   621                }
   622              }
   623            }
   624          },
   625          "result": [
   626            {
   627              "_id": 1,
   628              "encryptedDate": {
   629                "$date": {
   630                  "$numberLong": "1"
   631                }
   632              }
   633            }
   634          ]
   635        }
   636      ]
   637    },
   638    {
   639      "description": "Find with equality",
   640      "clientOptions": {
   641        "autoEncryptOpts": {
   642          "kmsProviders": {
   643            "local": {
   644              "key": {
   645                "$binary": {
   646                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   647                  "subType": "00"
   648                }
   649              }
   650            }
   651          }
   652        }
   653      },
   654      "operations": [
   655        {
   656          "name": "insertOne",
   657          "arguments": {
   658            "document": {
   659              "_id": 0,
   660              "encryptedDate": {
   661                "$date": {
   662                  "$numberLong": "0"
   663                }
   664              }
   665            }
   666          }
   667        },
   668        {
   669          "name": "insertOne",
   670          "arguments": {
   671            "document": {
   672              "_id": 1,
   673              "encryptedDate": {
   674                "$date": {
   675                  "$numberLong": "1"
   676                }
   677              }
   678            }
   679          }
   680        },
   681        {
   682          "name": "find",
   683          "arguments": {
   684            "filter": {
   685              "encryptedDate": {
   686                "$date": {
   687                  "$numberLong": "0"
   688                }
   689              }
   690            }
   691          },
   692          "result": [
   693            {
   694              "_id": 0,
   695              "encryptedDate": {
   696                "$date": {
   697                  "$numberLong": "0"
   698                }
   699              }
   700            }
   701          ]
   702        },
   703        {
   704          "name": "find",
   705          "arguments": {
   706            "filter": {
   707              "encryptedDate": {
   708                "$date": {
   709                  "$numberLong": "1"
   710                }
   711              }
   712            }
   713          },
   714          "result": [
   715            {
   716              "_id": 1,
   717              "encryptedDate": {
   718                "$date": {
   719                  "$numberLong": "1"
   720                }
   721              }
   722            }
   723          ]
   724        }
   725      ]
   726    },
   727    {
   728      "description": "Find with full range",
   729      "clientOptions": {
   730        "autoEncryptOpts": {
   731          "kmsProviders": {
   732            "local": {
   733              "key": {
   734                "$binary": {
   735                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   736                  "subType": "00"
   737                }
   738              }
   739            }
   740          }
   741        }
   742      },
   743      "operations": [
   744        {
   745          "name": "insertOne",
   746          "arguments": {
   747            "document": {
   748              "_id": 0,
   749              "encryptedDate": {
   750                "$date": {
   751                  "$numberLong": "0"
   752                }
   753              }
   754            }
   755          }
   756        },
   757        {
   758          "name": "insertOne",
   759          "arguments": {
   760            "document": {
   761              "_id": 1,
   762              "encryptedDate": {
   763                "$date": {
   764                  "$numberLong": "1"
   765                }
   766              }
   767            }
   768          }
   769        },
   770        {
   771          "name": "find",
   772          "arguments": {
   773            "filter": {
   774              "encryptedDate": {
   775                "$gte": {
   776                  "$date": {
   777                    "$numberLong": "0"
   778                  }
   779                },
   780                "$lte": {
   781                  "$date": {
   782                    "$numberLong": "200"
   783                  }
   784                }
   785              }
   786            },
   787            "sort": {
   788              "_id": 1
   789            }
   790          },
   791          "result": [
   792            {
   793              "_id": 0,
   794              "encryptedDate": {
   795                "$date": {
   796                  "$numberLong": "0"
   797                }
   798              }
   799            },
   800            {
   801              "_id": 1,
   802              "encryptedDate": {
   803                "$date": {
   804                  "$numberLong": "1"
   805                }
   806              }
   807            }
   808          ]
   809        }
   810      ]
   811    },
   812    {
   813      "description": "Find with $in",
   814      "clientOptions": {
   815        "autoEncryptOpts": {
   816          "kmsProviders": {
   817            "local": {
   818              "key": {
   819                "$binary": {
   820                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   821                  "subType": "00"
   822                }
   823              }
   824            }
   825          }
   826        }
   827      },
   828      "operations": [
   829        {
   830          "name": "insertOne",
   831          "arguments": {
   832            "document": {
   833              "_id": 0,
   834              "encryptedDate": {
   835                "$date": {
   836                  "$numberLong": "0"
   837                }
   838              }
   839            }
   840          }
   841        },
   842        {
   843          "name": "insertOne",
   844          "arguments": {
   845            "document": {
   846              "_id": 1,
   847              "encryptedDate": {
   848                "$date": {
   849                  "$numberLong": "1"
   850                }
   851              }
   852            }
   853          }
   854        },
   855        {
   856          "name": "find",
   857          "arguments": {
   858            "filter": {
   859              "encryptedDate": {
   860                "$in": [
   861                  {
   862                    "$date": {
   863                      "$numberLong": "0"
   864                    }
   865                  }
   866                ]
   867              }
   868            }
   869          },
   870          "result": [
   871            {
   872              "_id": 0,
   873              "encryptedDate": {
   874                "$date": {
   875                  "$numberLong": "0"
   876                }
   877              }
   878            }
   879          ]
   880        }
   881      ]
   882    },
   883    {
   884      "description": "Insert out of range",
   885      "clientOptions": {
   886        "autoEncryptOpts": {
   887          "kmsProviders": {
   888            "local": {
   889              "key": {
   890                "$binary": {
   891                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   892                  "subType": "00"
   893                }
   894              }
   895            }
   896          }
   897        }
   898      },
   899      "operations": [
   900        {
   901          "name": "insertOne",
   902          "arguments": {
   903            "document": {
   904              "_id": 0,
   905              "encryptedDate": {
   906                "$date": {
   907                  "$numberLong": "-1"
   908                }
   909              }
   910            }
   911          },
   912          "result": {
   913            "errorContains": "value must be greater than or equal to the minimum value"
   914          }
   915        }
   916      ]
   917    },
   918    {
   919      "description": "Insert min and max",
   920      "clientOptions": {
   921        "autoEncryptOpts": {
   922          "kmsProviders": {
   923            "local": {
   924              "key": {
   925                "$binary": {
   926                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   927                  "subType": "00"
   928                }
   929              }
   930            }
   931          }
   932        }
   933      },
   934      "operations": [
   935        {
   936          "name": "insertOne",
   937          "arguments": {
   938            "document": {
   939              "_id": 0,
   940              "encryptedDate": {
   941                "$date": {
   942                  "$numberLong": "0"
   943                }
   944              }
   945            }
   946          }
   947        },
   948        {
   949          "name": "insertOne",
   950          "arguments": {
   951            "document": {
   952              "_id": 200,
   953              "encryptedDate": {
   954                "$date": {
   955                  "$numberLong": "200"
   956                }
   957              }
   958            }
   959          }
   960        },
   961        {
   962          "name": "find",
   963          "arguments": {
   964            "filter": {},
   965            "sort": {
   966              "_id": 1
   967            }
   968          },
   969          "result": [
   970            {
   971              "_id": 0,
   972              "encryptedDate": {
   973                "$date": {
   974                  "$numberLong": "0"
   975                }
   976              }
   977            },
   978            {
   979              "_id": 200,
   980              "encryptedDate": {
   981                "$date": {
   982                  "$numberLong": "200"
   983                }
   984              }
   985            }
   986          ]
   987        }
   988      ]
   989    },
   990    {
   991      "description": "Aggregate with $gte",
   992      "clientOptions": {
   993        "autoEncryptOpts": {
   994          "kmsProviders": {
   995            "local": {
   996              "key": {
   997                "$binary": {
   998                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
   999                  "subType": "00"
  1000                }
  1001              }
  1002            }
  1003          }
  1004        }
  1005      },
  1006      "operations": [
  1007        {
  1008          "name": "insertOne",
  1009          "arguments": {
  1010            "document": {
  1011              "_id": 0,
  1012              "encryptedDate": {
  1013                "$date": {
  1014                  "$numberLong": "0"
  1015                }
  1016              }
  1017            }
  1018          }
  1019        },
  1020        {
  1021          "name": "insertOne",
  1022          "arguments": {
  1023            "document": {
  1024              "_id": 1,
  1025              "encryptedDate": {
  1026                "$date": {
  1027                  "$numberLong": "1"
  1028                }
  1029              }
  1030            }
  1031          }
  1032        },
  1033        {
  1034          "name": "aggregate",
  1035          "arguments": {
  1036            "pipeline": [
  1037              {
  1038                "$match": {
  1039                  "encryptedDate": {
  1040                    "$gte": {
  1041                      "$date": {
  1042                        "$numberLong": "0"
  1043                      }
  1044                    }
  1045                  }
  1046                }
  1047              },
  1048              {
  1049                "$sort": {
  1050                  "_id": 1
  1051                }
  1052              }
  1053            ]
  1054          },
  1055          "result": [
  1056            {
  1057              "_id": 0,
  1058              "encryptedDate": {
  1059                "$date": {
  1060                  "$numberLong": "0"
  1061                }
  1062              }
  1063            },
  1064            {
  1065              "_id": 1,
  1066              "encryptedDate": {
  1067                "$date": {
  1068                  "$numberLong": "1"
  1069                }
  1070              }
  1071            }
  1072          ]
  1073        }
  1074      ]
  1075    },
  1076    {
  1077      "description": "Aggregate with $gt with no results",
  1078      "clientOptions": {
  1079        "autoEncryptOpts": {
  1080          "kmsProviders": {
  1081            "local": {
  1082              "key": {
  1083                "$binary": {
  1084                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1085                  "subType": "00"
  1086                }
  1087              }
  1088            }
  1089          }
  1090        }
  1091      },
  1092      "operations": [
  1093        {
  1094          "name": "insertOne",
  1095          "arguments": {
  1096            "document": {
  1097              "_id": 0,
  1098              "encryptedDate": {
  1099                "$date": {
  1100                  "$numberLong": "0"
  1101                }
  1102              }
  1103            }
  1104          }
  1105        },
  1106        {
  1107          "name": "insertOne",
  1108          "arguments": {
  1109            "document": {
  1110              "_id": 1,
  1111              "encryptedDate": {
  1112                "$date": {
  1113                  "$numberLong": "1"
  1114                }
  1115              }
  1116            }
  1117          }
  1118        },
  1119        {
  1120          "name": "aggregate",
  1121          "arguments": {
  1122            "pipeline": [
  1123              {
  1124                "$match": {
  1125                  "encryptedDate": {
  1126                    "$gt": {
  1127                      "$date": {
  1128                        "$numberLong": "1"
  1129                      }
  1130                    }
  1131                  }
  1132                }
  1133              }
  1134            ]
  1135          },
  1136          "result": []
  1137        }
  1138      ]
  1139    },
  1140    {
  1141      "description": "Aggregate with $lt",
  1142      "clientOptions": {
  1143        "autoEncryptOpts": {
  1144          "kmsProviders": {
  1145            "local": {
  1146              "key": {
  1147                "$binary": {
  1148                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1149                  "subType": "00"
  1150                }
  1151              }
  1152            }
  1153          }
  1154        }
  1155      },
  1156      "operations": [
  1157        {
  1158          "name": "insertOne",
  1159          "arguments": {
  1160            "document": {
  1161              "_id": 0,
  1162              "encryptedDate": {
  1163                "$date": {
  1164                  "$numberLong": "0"
  1165                }
  1166              }
  1167            }
  1168          }
  1169        },
  1170        {
  1171          "name": "insertOne",
  1172          "arguments": {
  1173            "document": {
  1174              "_id": 1,
  1175              "encryptedDate": {
  1176                "$date": {
  1177                  "$numberLong": "1"
  1178                }
  1179              }
  1180            }
  1181          }
  1182        },
  1183        {
  1184          "name": "aggregate",
  1185          "arguments": {
  1186            "pipeline": [
  1187              {
  1188                "$match": {
  1189                  "encryptedDate": {
  1190                    "$lt": {
  1191                      "$date": {
  1192                        "$numberLong": "1"
  1193                      }
  1194                    }
  1195                  }
  1196                }
  1197              }
  1198            ]
  1199          },
  1200          "result": [
  1201            {
  1202              "_id": 0,
  1203              "encryptedDate": {
  1204                "$date": {
  1205                  "$numberLong": "0"
  1206                }
  1207              }
  1208            }
  1209          ]
  1210        }
  1211      ]
  1212    },
  1213    {
  1214      "description": "Aggregate with $lte",
  1215      "clientOptions": {
  1216        "autoEncryptOpts": {
  1217          "kmsProviders": {
  1218            "local": {
  1219              "key": {
  1220                "$binary": {
  1221                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1222                  "subType": "00"
  1223                }
  1224              }
  1225            }
  1226          }
  1227        }
  1228      },
  1229      "operations": [
  1230        {
  1231          "name": "insertOne",
  1232          "arguments": {
  1233            "document": {
  1234              "_id": 0,
  1235              "encryptedDate": {
  1236                "$date": {
  1237                  "$numberLong": "0"
  1238                }
  1239              }
  1240            }
  1241          }
  1242        },
  1243        {
  1244          "name": "insertOne",
  1245          "arguments": {
  1246            "document": {
  1247              "_id": 1,
  1248              "encryptedDate": {
  1249                "$date": {
  1250                  "$numberLong": "1"
  1251                }
  1252              }
  1253            }
  1254          }
  1255        },
  1256        {
  1257          "name": "aggregate",
  1258          "arguments": {
  1259            "pipeline": [
  1260              {
  1261                "$match": {
  1262                  "encryptedDate": {
  1263                    "$lte": {
  1264                      "$date": {
  1265                        "$numberLong": "1"
  1266                      }
  1267                    }
  1268                  }
  1269                }
  1270              },
  1271              {
  1272                "$sort": {
  1273                  "_id": 1
  1274                }
  1275              }
  1276            ]
  1277          },
  1278          "result": [
  1279            {
  1280              "_id": 0,
  1281              "encryptedDate": {
  1282                "$date": {
  1283                  "$numberLong": "0"
  1284                }
  1285              }
  1286            },
  1287            {
  1288              "_id": 1,
  1289              "encryptedDate": {
  1290                "$date": {
  1291                  "$numberLong": "1"
  1292                }
  1293              }
  1294            }
  1295          ]
  1296        }
  1297      ]
  1298    },
  1299    {
  1300      "description": "Aggregate with $lt below min",
  1301      "clientOptions": {
  1302        "autoEncryptOpts": {
  1303          "kmsProviders": {
  1304            "local": {
  1305              "key": {
  1306                "$binary": {
  1307                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1308                  "subType": "00"
  1309                }
  1310              }
  1311            }
  1312          }
  1313        }
  1314      },
  1315      "operations": [
  1316        {
  1317          "name": "insertOne",
  1318          "arguments": {
  1319            "document": {
  1320              "_id": 0,
  1321              "encryptedDate": {
  1322                "$date": {
  1323                  "$numberLong": "0"
  1324                }
  1325              }
  1326            }
  1327          }
  1328        },
  1329        {
  1330          "name": "insertOne",
  1331          "arguments": {
  1332            "document": {
  1333              "_id": 1,
  1334              "encryptedDate": {
  1335                "$date": {
  1336                  "$numberLong": "1"
  1337                }
  1338              }
  1339            }
  1340          }
  1341        },
  1342        {
  1343          "name": "aggregate",
  1344          "arguments": {
  1345            "pipeline": [
  1346              {
  1347                "$match": {
  1348                  "encryptedDate": {
  1349                    "$lt": {
  1350                      "$date": {
  1351                        "$numberLong": "0"
  1352                      }
  1353                    }
  1354                  }
  1355                }
  1356              }
  1357            ]
  1358          },
  1359          "result": {
  1360            "errorContains": "must be greater than the range minimum"
  1361          }
  1362        }
  1363      ]
  1364    },
  1365    {
  1366      "description": "Aggregate with $gt above max",
  1367      "clientOptions": {
  1368        "autoEncryptOpts": {
  1369          "kmsProviders": {
  1370            "local": {
  1371              "key": {
  1372                "$binary": {
  1373                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1374                  "subType": "00"
  1375                }
  1376              }
  1377            }
  1378          }
  1379        }
  1380      },
  1381      "operations": [
  1382        {
  1383          "name": "insertOne",
  1384          "arguments": {
  1385            "document": {
  1386              "_id": 0,
  1387              "encryptedDate": {
  1388                "$date": {
  1389                  "$numberLong": "0"
  1390                }
  1391              }
  1392            }
  1393          }
  1394        },
  1395        {
  1396          "name": "insertOne",
  1397          "arguments": {
  1398            "document": {
  1399              "_id": 1,
  1400              "encryptedDate": {
  1401                "$date": {
  1402                  "$numberLong": "1"
  1403                }
  1404              }
  1405            }
  1406          }
  1407        },
  1408        {
  1409          "name": "aggregate",
  1410          "arguments": {
  1411            "pipeline": [
  1412              {
  1413                "$match": {
  1414                  "encryptedDate": {
  1415                    "$gt": {
  1416                      "$date": {
  1417                        "$numberLong": "200"
  1418                      }
  1419                    }
  1420                  }
  1421                }
  1422              }
  1423            ]
  1424          },
  1425          "result": {
  1426            "errorContains": "must be less than the range maximum"
  1427          }
  1428        }
  1429      ]
  1430    },
  1431    {
  1432      "description": "Aggregate with $gt and $lt",
  1433      "clientOptions": {
  1434        "autoEncryptOpts": {
  1435          "kmsProviders": {
  1436            "local": {
  1437              "key": {
  1438                "$binary": {
  1439                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1440                  "subType": "00"
  1441                }
  1442              }
  1443            }
  1444          }
  1445        }
  1446      },
  1447      "operations": [
  1448        {
  1449          "name": "insertOne",
  1450          "arguments": {
  1451            "document": {
  1452              "_id": 0,
  1453              "encryptedDate": {
  1454                "$date": {
  1455                  "$numberLong": "0"
  1456                }
  1457              }
  1458            }
  1459          }
  1460        },
  1461        {
  1462          "name": "insertOne",
  1463          "arguments": {
  1464            "document": {
  1465              "_id": 1,
  1466              "encryptedDate": {
  1467                "$date": {
  1468                  "$numberLong": "1"
  1469                }
  1470              }
  1471            }
  1472          }
  1473        },
  1474        {
  1475          "name": "aggregate",
  1476          "arguments": {
  1477            "pipeline": [
  1478              {
  1479                "$match": {
  1480                  "encryptedDate": {
  1481                    "$gt": {
  1482                      "$date": {
  1483                        "$numberLong": "0"
  1484                      }
  1485                    },
  1486                    "$lt": {
  1487                      "$date": {
  1488                        "$numberLong": "2"
  1489                      }
  1490                    }
  1491                  }
  1492                }
  1493              }
  1494            ]
  1495          },
  1496          "result": [
  1497            {
  1498              "_id": 1,
  1499              "encryptedDate": {
  1500                "$date": {
  1501                  "$numberLong": "1"
  1502                }
  1503              }
  1504            }
  1505          ]
  1506        }
  1507      ]
  1508    },
  1509    {
  1510      "description": "Aggregate with equality",
  1511      "clientOptions": {
  1512        "autoEncryptOpts": {
  1513          "kmsProviders": {
  1514            "local": {
  1515              "key": {
  1516                "$binary": {
  1517                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1518                  "subType": "00"
  1519                }
  1520              }
  1521            }
  1522          }
  1523        }
  1524      },
  1525      "operations": [
  1526        {
  1527          "name": "insertOne",
  1528          "arguments": {
  1529            "document": {
  1530              "_id": 0,
  1531              "encryptedDate": {
  1532                "$date": {
  1533                  "$numberLong": "0"
  1534                }
  1535              }
  1536            }
  1537          }
  1538        },
  1539        {
  1540          "name": "insertOne",
  1541          "arguments": {
  1542            "document": {
  1543              "_id": 1,
  1544              "encryptedDate": {
  1545                "$date": {
  1546                  "$numberLong": "1"
  1547                }
  1548              }
  1549            }
  1550          }
  1551        },
  1552        {
  1553          "name": "aggregate",
  1554          "arguments": {
  1555            "pipeline": [
  1556              {
  1557                "$match": {
  1558                  "encryptedDate": {
  1559                    "$date": {
  1560                      "$numberLong": "0"
  1561                    }
  1562                  }
  1563                }
  1564              }
  1565            ]
  1566          },
  1567          "result": [
  1568            {
  1569              "_id": 0,
  1570              "encryptedDate": {
  1571                "$date": {
  1572                  "$numberLong": "0"
  1573                }
  1574              }
  1575            }
  1576          ]
  1577        },
  1578        {
  1579          "name": "aggregate",
  1580          "arguments": {
  1581            "pipeline": [
  1582              {
  1583                "$match": {
  1584                  "encryptedDate": {
  1585                    "$date": {
  1586                      "$numberLong": "1"
  1587                    }
  1588                  }
  1589                }
  1590              }
  1591            ]
  1592          },
  1593          "result": [
  1594            {
  1595              "_id": 1,
  1596              "encryptedDate": {
  1597                "$date": {
  1598                  "$numberLong": "1"
  1599                }
  1600              }
  1601            }
  1602          ]
  1603        }
  1604      ]
  1605    },
  1606    {
  1607      "description": "Aggregate with full range",
  1608      "clientOptions": {
  1609        "autoEncryptOpts": {
  1610          "kmsProviders": {
  1611            "local": {
  1612              "key": {
  1613                "$binary": {
  1614                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1615                  "subType": "00"
  1616                }
  1617              }
  1618            }
  1619          }
  1620        }
  1621      },
  1622      "operations": [
  1623        {
  1624          "name": "insertOne",
  1625          "arguments": {
  1626            "document": {
  1627              "_id": 0,
  1628              "encryptedDate": {
  1629                "$date": {
  1630                  "$numberLong": "0"
  1631                }
  1632              }
  1633            }
  1634          }
  1635        },
  1636        {
  1637          "name": "insertOne",
  1638          "arguments": {
  1639            "document": {
  1640              "_id": 1,
  1641              "encryptedDate": {
  1642                "$date": {
  1643                  "$numberLong": "1"
  1644                }
  1645              }
  1646            }
  1647          }
  1648        },
  1649        {
  1650          "name": "aggregate",
  1651          "arguments": {
  1652            "pipeline": [
  1653              {
  1654                "$match": {
  1655                  "encryptedDate": {
  1656                    "$gte": {
  1657                      "$date": {
  1658                        "$numberLong": "0"
  1659                      }
  1660                    },
  1661                    "$lte": {
  1662                      "$date": {
  1663                        "$numberLong": "200"
  1664                      }
  1665                    }
  1666                  }
  1667                }
  1668              },
  1669              {
  1670                "$sort": {
  1671                  "_id": 1
  1672                }
  1673              }
  1674            ]
  1675          },
  1676          "result": [
  1677            {
  1678              "_id": 0,
  1679              "encryptedDate": {
  1680                "$date": {
  1681                  "$numberLong": "0"
  1682                }
  1683              }
  1684            },
  1685            {
  1686              "_id": 1,
  1687              "encryptedDate": {
  1688                "$date": {
  1689                  "$numberLong": "1"
  1690                }
  1691              }
  1692            }
  1693          ]
  1694        }
  1695      ]
  1696    },
  1697    {
  1698      "description": "Aggregate with $in",
  1699      "clientOptions": {
  1700        "autoEncryptOpts": {
  1701          "kmsProviders": {
  1702            "local": {
  1703              "key": {
  1704                "$binary": {
  1705                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1706                  "subType": "00"
  1707                }
  1708              }
  1709            }
  1710          }
  1711        }
  1712      },
  1713      "operations": [
  1714        {
  1715          "name": "insertOne",
  1716          "arguments": {
  1717            "document": {
  1718              "_id": 0,
  1719              "encryptedDate": {
  1720                "$date": {
  1721                  "$numberLong": "0"
  1722                }
  1723              }
  1724            }
  1725          }
  1726        },
  1727        {
  1728          "name": "insertOne",
  1729          "arguments": {
  1730            "document": {
  1731              "_id": 1,
  1732              "encryptedDate": {
  1733                "$date": {
  1734                  "$numberLong": "1"
  1735                }
  1736              }
  1737            }
  1738          }
  1739        },
  1740        {
  1741          "name": "aggregate",
  1742          "arguments": {
  1743            "pipeline": [
  1744              {
  1745                "$match": {
  1746                  "encryptedDate": {
  1747                    "$in": [
  1748                      {
  1749                        "$date": {
  1750                          "$numberLong": "0"
  1751                        }
  1752                      }
  1753                    ]
  1754                  }
  1755                }
  1756              }
  1757            ]
  1758          },
  1759          "result": [
  1760            {
  1761              "_id": 0,
  1762              "encryptedDate": {
  1763                "$date": {
  1764                  "$numberLong": "0"
  1765                }
  1766              }
  1767            }
  1768          ]
  1769        }
  1770      ]
  1771    },
  1772    {
  1773      "description": "Wrong type: Insert Double",
  1774      "clientOptions": {
  1775        "autoEncryptOpts": {
  1776          "kmsProviders": {
  1777            "local": {
  1778              "key": {
  1779                "$binary": {
  1780                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1781                  "subType": "00"
  1782                }
  1783              }
  1784            }
  1785          }
  1786        }
  1787      },
  1788      "operations": [
  1789        {
  1790          "name": "insertOne",
  1791          "arguments": {
  1792            "document": {
  1793              "_id": 0,
  1794              "encryptedDate": {
  1795                "$numberDouble": "0"
  1796              }
  1797            }
  1798          },
  1799          "result": {
  1800            "errorContains": "cannot encrypt element"
  1801          }
  1802        }
  1803      ]
  1804    },
  1805    {
  1806      "description": "Wrong type: Find Double",
  1807      "clientOptions": {
  1808        "autoEncryptOpts": {
  1809          "kmsProviders": {
  1810            "local": {
  1811              "key": {
  1812                "$binary": {
  1813                  "base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
  1814                  "subType": "00"
  1815                }
  1816              }
  1817            }
  1818          }
  1819        }
  1820      },
  1821      "operations": [
  1822        {
  1823          "name": "find",
  1824          "arguments": {
  1825            "filter": {
  1826              "encryptedDate": {
  1827                "$gte": {
  1828                  "$numberDouble": "0"
  1829                }
  1830              }
  1831            }
  1832          },
  1833          "result": {
  1834            "errorContains": "value type is a date"
  1835          }
  1836        }
  1837      ]
  1838    }
  1839  ]
  1840}

View as plain text