...

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

View as plain text