...

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

View as plain text