...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/fle2v2-Range-DecimalPrecision-Aggregate.yml

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

     1
     2# Requires libmongocrypt 1.8.0.
     3runOn:
     4  - minServerVersion: "7.0.0"
     5    # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
     6    # FLE 2 Encrypted collections are not supported on standalone.
     7    topology: [ "replicaset", "sharded", "load-balanced" ]
     8    # Skip tests for "rangePreview" algorithm on Server 8.0+. Server 8.0 drops "rangePreview" and adds "range".
     9    maxServerVersion: "7.99.99"
    10database_name: &database_name "default"
    11collection_name: &collection_name "default"
    12data: []
    13encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedDecimalPrecision', 'bsonType': 'decimal', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDecimal': '0.0'}, 'max': {'$numberDecimal': '200.0'}, 'precision': {'$numberInt': '2'}}}]}
    14key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ]
    15tests:
    16  - description: "FLE2 Range DecimalPrecision. Aggregate."
    17    clientOptions:
    18      autoEncryptOpts:
    19        kmsProviders:
    20          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    21    operations:
    22      - name: insertOne
    23        arguments:
    24          document: &doc0 { _id: 0, encryptedDecimalPrecision: { $numberDecimal: "0" } }
    25      - name: insertOne
    26        arguments:
    27          document: &doc1 { _id: 1, encryptedDecimalPrecision: { $numberDecimal: "1" } }
    28      - name: aggregate
    29        arguments:
    30          pipeline: [{ $match: { "encryptedDecimalPrecision": { $gt: {$numberDecimal: "0" }} } }]
    31        result: [*doc1]
    32    expectations:
    33      - command_started_event:
    34          command:
    35            listCollections: 1
    36            filter:
    37              name: *collection_name
    38          command_name: listCollections
    39      - command_started_event:
    40          command:
    41            find: datakeys
    42            filter: {
    43                  "$or": [
    44                      {
    45                          "_id": {
    46                              "$in": [
    47                                {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}
    48                              ]
    49                          }
    50                      },
    51                      {
    52                          "keyAltNames": {
    53                              "$in": []
    54                          }
    55                      }
    56                  ]
    57              }
    58            $db: keyvault
    59            readConcern: { level: "majority" }
    60          command_name: find
    61      - command_started_event:
    62          command:
    63            insert: *collection_name
    64            documents:
    65              - &doc0_encrypted { "_id": 0, "encryptedDecimalPrecision": { $$type: "binData" } }
    66            ordered: true
    67            encryptionInformation:
    68              type: 1
    69              schema:
    70                default.default:
    71                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
    72                  escCollection: "enxcol_.default.esc"
    73                  ecocCollection: "enxcol_.default.ecoc"
    74                  <<: *encrypted_fields
    75          command_name: insert
    76      - command_started_event:
    77          command:
    78            insert: *collection_name
    79            documents:
    80              - &doc1_encrypted { "_id": 1, "encryptedDecimalPrecision": { $$type: "binData" } }
    81            ordered: true
    82            encryptionInformation:
    83              type: 1
    84              schema:
    85                default.default:
    86                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
    87                  escCollection: "enxcol_.default.esc"
    88                  ecocCollection: "enxcol_.default.ecoc"
    89                  <<: *encrypted_fields
    90          command_name: insert
    91      - command_started_event:
    92          command:
    93            aggregate: *collection_name
    94            pipeline: [
    95                  {
    96                      "$match": {
    97                          "encryptedDecimalPrecision": {
    98                            "$gt": {
    99                                "$binary": {
   100                                    "base64": "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",
   101                                    "subType": "06"
   102                                }
   103                            }
   104                          }
   105                      }
   106                  }
   107                ]
   108            cursor: {}
   109            encryptionInformation:
   110              type: 1
   111              schema:
   112                default.default:
   113                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
   114                  escCollection: "enxcol_.default.esc"
   115                  ecocCollection: "enxcol_.default.ecoc"
   116                  <<: *encrypted_fields
   117          command_name: aggregate
   118    outcome:
   119      collection:
   120        # Outcome is checked using a separate MongoClient without auto encryption.
   121        data:
   122        -
   123          {
   124              "_id": {
   125                  "$numberInt": "0"
   126              },
   127              "encryptedDecimalPrecision": { $$type: "binData" },
   128              "__safeContent__": [
   129                  {
   130                      "$binary": {
   131                          "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=",
   132                          "subType": "00"
   133                      }
   134                  },
   135                  {
   136                      "$binary": {
   137                          "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=",
   138                          "subType": "00"
   139                      }
   140                  },
   141                  {
   142                      "$binary": {
   143                          "base64": "x7GR49EN0t3WXQDihkrbonK7qNIBYC87tpL/XEUyIYc=",
   144                          "subType": "00"
   145                      }
   146                  },
   147                  {
   148                      "$binary": {
   149                          "base64": "JfYUqWF+OoGjiYkRI4L5iPlF+T1Eleul7Fki22jp4Qc=",
   150                          "subType": "00"
   151                      }
   152                  },
   153                  {
   154                      "$binary": {
   155                          "base64": "q1RyGfIgsaQHoZFRw+DD28V26rN5hweApPLwExncvT8=",
   156                          "subType": "00"
   157                      }
   158                  },
   159                  {
   160                      "$binary": {
   161                          "base64": "L2PFeKGvLS6C+DLudR6fGlBq3ERPvjWvRyNRIA2HVb0=",
   162                          "subType": "00"
   163                      }
   164                  },
   165                  {
   166                      "$binary": {
   167                          "base64": "CWxaNqL3iP1yCixDkcmf9bmW3E5VeN8TJkg1jJe528s=",
   168                          "subType": "00"
   169                      }
   170                  },
   171                  {
   172                      "$binary": {
   173                          "base64": "+vC6araOEo+fpW7PSIP40/EnzBCj1d2N10Jr3rrXJJM=",
   174                          "subType": "00"
   175                      }
   176                  },
   177                  {
   178                      "$binary": {
   179                          "base64": "6SV63Mf51Z6A6p2X3rCnJKCu6ku3Oeb45mBYbz+IoAo=",
   180                          "subType": "00"
   181                      }
   182                  },
   183                  {
   184                      "$binary": {
   185                          "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=",
   186                          "subType": "00"
   187                      }
   188                  },
   189                  {
   190                      "$binary": {
   191                          "base64": "b7d8mRzD1kI1tdc7uNL+YAUonJ6pODLsRLkArfEKSkM=",
   192                          "subType": "00"
   193                      }
   194                  },
   195                  {
   196                      "$binary": {
   197                          "base64": "Xg8C1/A0KJaXOw4i+26Rv03/CydaaunOzXh0CIT+gn8=",
   198                          "subType": "00"
   199                      }
   200                  },
   201                  {
   202                      "$binary": {
   203                          "base64": "UoKUDw2wJYToUCcFaIs03YQSTksYR0MIOTJllwODqKc=",
   204                          "subType": "00"
   205                      }
   206                  },
   207                  {
   208                      "$binary": {
   209                          "base64": "c/5cwAT0C5jber2xlJnWD3a5tVDy0nRtr5HG02hoFOY=",
   210                          "subType": "00"
   211                      }
   212                  },
   213                  {
   214                      "$binary": {
   215                          "base64": "wSUrRXavAGaajNeqC5mEUH1K67oYl5Wy9RNIzKjwLAM=",
   216                          "subType": "00"
   217                      }
   218                  },
   219                  {
   220                      "$binary": {
   221                          "base64": "6vrp4wWDtHEgHWR99I70WVDzevg1Fk/Pw5U8gUDa0OU=",
   222                          "subType": "00"
   223                      }
   224                  }
   225              ]
   226          }
   227        -
   228          {
   229              "_id": {
   230                  "$numberInt": "1"
   231              },
   232              "encryptedDecimalPrecision": { $$type: "binData" },
   233              "__safeContent__": [
   234                  {
   235                      "$binary": {
   236                          "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=",
   237                          "subType": "00"
   238                      }
   239                  },
   240                  {
   241                      "$binary": {
   242                          "base64": "mVZb+Ra0EYjQ4Zrh9X//E2T8MRj7NMqm5GUJXhRrBEI=",
   243                          "subType": "00"
   244                      }
   245                  },
   246                  {
   247                      "$binary": {
   248                          "base64": "FA74j21GUEJb1DJBOpR9nVnjaDZnd8yAQNuaW9Qi26g=",
   249                          "subType": "00"
   250                      }
   251                  },
   252                  {
   253                      "$binary": {
   254                          "base64": "kJv//KVkbrobIBf+QeWC5jxn20mx/P0R1N6aCSMgKM8=",
   255                          "subType": "00"
   256                      }
   257                  },
   258                  {
   259                      "$binary": {
   260                          "base64": "zB+Whi9IUUGxfLEe+lGuIzLX4LFbIhaIAm5lRk65QTc=",
   261                          "subType": "00"
   262                      }
   263                  },
   264                  {
   265                      "$binary": {
   266                          "base64": "ybO1QU3CgvhO8JgRXH+HxKszWcpl5aGDYYVa75fHa1g=",
   267                          "subType": "00"
   268                      }
   269                  },
   270                  {
   271                      "$binary": {
   272                          "base64": "X3Y3eSAbbMg//JgiHHiFpYOpV61t8kkDexI+CQyitH4=",
   273                          "subType": "00"
   274                      }
   275                  },
   276                  {
   277                      "$binary": {
   278                          "base64": "SlNHXyqVFGDPrX/2ppwog6l4pwj3PKda2TkZbqgfSfA=",
   279                          "subType": "00"
   280                      }
   281                  },
   282                  {
   283                      "$binary": {
   284                          "base64": "McjV8xwTF3xI7863DYOBdyvIv6UpzThl6v9vBRk05bI=",
   285                          "subType": "00"
   286                      }
   287                  },
   288                  {
   289                      "$binary": {
   290                          "base64": "MgwakFvPyBlwqFTbhWUF79URJQWFoJTGotlEVSPPUsQ=",
   291                          "subType": "00"
   292                      }
   293                  },
   294                  {
   295                      "$binary": {
   296                          "base64": "DyBERpMSD5lEM5Nhpcn4WGgxgn/mkUVJp+PYSLX5jsE=",
   297                          "subType": "00"
   298                      }
   299                  },
   300                  {
   301                      "$binary": {
   302                          "base64": "I43iazc0xj1WVbYB/V+uTL/tughN1bBlxh1iypBnNsA=",
   303                          "subType": "00"
   304                      }
   305                  },
   306                  {
   307                      "$binary": {
   308                          "base64": "wjOBa/ATMuOywFmuPgC0GF/oeLqu0Z7eK5udzkTPbis=",
   309                          "subType": "00"
   310                      }
   311                  },
   312                  {
   313                      "$binary": {
   314                          "base64": "gRQVwiR+m+0Vg8ZDXqrQQcVnTyobwCXNaA4BCJVXtMc=",
   315                          "subType": "00"
   316                      }
   317                  },
   318                  {
   319                      "$binary": {
   320                          "base64": "WUZ6huwx0ZbLb0R00uiC9FOJzsUocUN8qE5+YRenkvQ=",
   321                          "subType": "00"
   322                      }
   323                  },
   324                  {
   325                      "$binary": {
   326                          "base64": "7s79aKEuPgQcS/YPOOVcYNZvHIo7FFsWtFCrnDKXefA=",
   327                          "subType": "00"
   328                      }
   329                  }
   330              ]
   331          }

View as plain text