...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/fle2v2-Range-Date-InsertFind.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': 'encryptedDate', 'bsonType': 'date', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$date': {'$numberLong': '0'}}, 'max': {'$date': {'$numberLong': '200'}}}}]}
    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 Date. Insert and Find."
    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, encryptedDate: { $date: { $numberLong: "0" }} }
    25      - name: insertOne
    26        arguments:
    27          document: &doc1 { _id: 1, encryptedDate: { $date: { $numberLong: "1" }} }
    28      - name: find
    29        arguments:
    30          filter: { encryptedDate: { $gt: { $date: { $numberLong: "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, "encryptedDate": { $$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, "encryptedDate": { $$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            find: *collection_name
    94            filter:
    95              "encryptedDate": {
    96                  "$gt": {
    97                      "$binary": {
    98                          "base64": "DUkFAAADcGF5bG9hZAAZBQAABGcABQUAAAMwAH0AAAAFZAAgAAAAALGGQ/CRD+pGLD53BZzWcCcYbuGLVEyjzXIx7b+ux/q2BXMAIAAAAACOC6mXEZL27P9hethZbtKYsTXKK+FpgQ9Axxmn9N/cCwVsACAAAAAA+MFEd8XfZSpbXKqqPC2L3TEFswkaG5Ff6aSgf8p+XVIAAzEAfQAAAAVkACAAAAAAtL3QIvnZqCF72eS6lKr8ilff7R6kiNklokiTuaU5wNsFcwAgAAAAAEtqr3/X731VB+VrbFcY8ZrJKRo2E0Fd+C8L0EMNcvcCBWwAIAAAAABNPhSriux8W8qbwnhCczE3IzlhNEnGDpUwTFDZSL+eYQADMgB9AAAABWQAIAAAAAB99ZW/7KwXKzl5M3XQsAJ3JbEef90IoxFYBArNiYzlgQVzACAAAAAAYO/qaw0+92HAryxOUG7iK6hnIy3OaUA9jIqtHdvcq8YFbAAgAAAAAHrUYj8A0hVgc6VklpDiljOnykrUSfEsjm56XO/bsfKdAAMzAH0AAAAFZAAgAAAAAOK8brUuc2onBNDRtfYMR736dHj4dQqXod8JG7tAMTsDBXMAIAAAAAAW6SrGAL6Bx0s7ZlsYULFfOAiYIGhEWu6md3r+Rk40awVsACAAAAAAIHYXP8RLcCboUmHN3+OlnEw1DxaLSnbTB9PdF228fFAAAzQAfQAAAAVkACAAAAAAV22FGF7ZDwK/EYiGNMlm/QuT3saQdyJM/Fn+ZyQug1oFcwAgAAAAACo7GwCvbcs5UHQMgds9/1QMklEVdjZigpuOFGrDmmxtBWwAIAAAAADQbYYPxlCMMGe2MulbiurApFLoeJSMvTeDU3pyEA2jNwADNQB9AAAABWQAIAAAAADFspsMG7yHjKppyllon1KqAsTrHaZ6JzNqnSz8o6iTvwVzACAAAAAAeiA5pqVIQQ9s6UY/P8v5Jjkl3I7iFNeLDYehikrINrsFbAAgAAAAAFjBTzTpNxDEkA0vSRj0jCED9KDRlboMVyilKyDz5YR4AAM2AH0AAAAFZAAgAAAAAPcLmtq+V1e+MRlZ7NHq1+mrRVBQje5zj685ZvdsfKvSBXMAIAAAAABdHz/3w2k5km97QN9m7oLFYJaVJneNlMboIlz5yUASQAVsACAAAAAAWbp8JVJnx8fEVAJFa7WMfMa7wXeP5M3C8MX20J/i9n0AAzcAfQAAAAVkACAAAAAAYfLwnoxK6XAGQrJFy8+TIJoq38ldBaO75h4zA4ZX5tQFcwAgAAAAAC2wk8UcJH5X5XGnDBYmel6srpBkzBhHtt3Jw1u5TSJ1BWwAIAAAAAA9/YU9eI3D7QbXKIw/3/gzWJ6MZrCYhG0j1wNKgRQp5wADOAB9AAAABWQAIAAAAADGvyrtKkIcaV17ynZA7b2k5Pz6OhvxdWNkDvDWJIja8wVzACAAAAAAOLypVKNxf/wR1G8OZjUUsTQzDYeNNhhITxGMSp7euS4FbAAgAAAAAA9EsxoV1B2DcQ1NJRwuxXnvVR+vkD0wbbDYEI/zFEnDAAM5AH0AAAAFZAAgAAAAAEocREw1L0g+roFUchJI2Yd0M0ME2bnErNUYnpyJP1SqBXMAIAAAAAAcE2/JK/8MoSeOchIuAkKh1X3ImoA7p8ujAZIfvIDo6QVsACAAAAAA+W0+zgLr85/PD7P9a94wk6MgNgrizx/XU9aCxAkp1IwAABJjbQAAAAAAAAAAAAAQcGF5bG9hZElkAAAAAAAQZmlyc3RPcGVyYXRvcgABAAAAAA==",
    99                          "subType": "06"
   100                      }
   101                  }
   102              }
   103            encryptionInformation:
   104              type: 1
   105              schema:
   106                default.default:
   107                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
   108                  escCollection: "enxcol_.default.esc"
   109                  ecocCollection: "enxcol_.default.ecoc"
   110                  <<: *encrypted_fields
   111          command_name: find
   112    outcome:
   113      collection:
   114        # Outcome is checked using a separate MongoClient without auto encryption.
   115        data:
   116        -
   117          {
   118              "_id": 0,
   119              "encryptedDate": { $$type: "binData" },
   120              "__safeContent__": [
   121                  {
   122                      "$binary": {
   123                          "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=",
   124                          "subType": "00"
   125                      }
   126                  },
   127                  {
   128                      "$binary": {
   129                          "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=",
   130                          "subType": "00"
   131                      }
   132                  },
   133                  {
   134                      "$binary": {
   135                          "base64": "x7GR49EN0t3WXQDihkrbonK7qNIBYC87tpL/XEUyIYc=",
   136                          "subType": "00"
   137                      }
   138                  },
   139                  {
   140                      "$binary": {
   141                          "base64": "JfYUqWF+OoGjiYkRI4L5iPlF+T1Eleul7Fki22jp4Qc=",
   142                          "subType": "00"
   143                      }
   144                  },
   145                  {
   146                      "$binary": {
   147                          "base64": "q1RyGfIgsaQHoZFRw+DD28V26rN5hweApPLwExncvT8=",
   148                          "subType": "00"
   149                      }
   150                  },
   151                  {
   152                      "$binary": {
   153                          "base64": "L2PFeKGvLS6C+DLudR6fGlBq3ERPvjWvRyNRIA2HVb0=",
   154                          "subType": "00"
   155                      }
   156                  },
   157                  {
   158                      "$binary": {
   159                          "base64": "CWxaNqL3iP1yCixDkcmf9bmW3E5VeN8TJkg1jJe528s=",
   160                          "subType": "00"
   161                      }
   162                  },
   163                  {
   164                      "$binary": {
   165                          "base64": "+vC6araOEo+fpW7PSIP40/EnzBCj1d2N10Jr3rrXJJM=",
   166                          "subType": "00"
   167                      }
   168                  },
   169                  {
   170                      "$binary": {
   171                          "base64": "6SV63Mf51Z6A6p2X3rCnJKCu6ku3Oeb45mBYbz+IoAo=",
   172                          "subType": "00"
   173                      }
   174                  }
   175              ]
   176          }
   177        -
   178          {
   179              "_id": 1,
   180              "encryptedDate": { $$type: "binData" },
   181              "__safeContent__": [
   182                  {
   183                      "$binary": {
   184                          "base64": "bE1vqWj3KNyM7cCYUv/cnYm8BPaUL3eMp5syTHq6NF4=",
   185                          "subType": "00"
   186                      }
   187                  },
   188                  {
   189                      "$binary": {
   190                          "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=",
   191                          "subType": "00"
   192                      }
   193                  },
   194                  {
   195                      "$binary": {
   196                          "base64": "FA74j21GUEJb1DJBOpR9nVnjaDZnd8yAQNuaW9Qi26g=",
   197                          "subType": "00"
   198                      }
   199                  },
   200                  {
   201                      "$binary": {
   202                          "base64": "kJv//KVkbrobIBf+QeWC5jxn20mx/P0R1N6aCSMgKM8=",
   203                          "subType": "00"
   204                      }
   205                  },
   206                  {
   207                      "$binary": {
   208                          "base64": "zB+Whi9IUUGxfLEe+lGuIzLX4LFbIhaIAm5lRk65QTc=",
   209                          "subType": "00"
   210                      }
   211                  },
   212                  {
   213                      "$binary": {
   214                          "base64": "ybO1QU3CgvhO8JgRXH+HxKszWcpl5aGDYYVa75fHa1g=",
   215                          "subType": "00"
   216                      }
   217                  },
   218                  {
   219                      "$binary": {
   220                          "base64": "X3Y3eSAbbMg//JgiHHiFpYOpV61t8kkDexI+CQyitH4=",
   221                          "subType": "00"
   222                      }
   223                  },
   224                  {
   225                      "$binary": {
   226                          "base64": "SlNHXyqVFGDPrX/2ppwog6l4pwj3PKda2TkZbqgfSfA=",
   227                          "subType": "00"
   228                      }
   229                  },
   230                  {
   231                      "$binary": {
   232                          "base64": "McjV8xwTF3xI7863DYOBdyvIv6UpzThl6v9vBRk05bI=",
   233                          "subType": "00"
   234                      }
   235                  }
   236              ]
   237          }

View as plain text