...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/fle2v2-Range-Date-Update.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. Update."
    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: updateOne
    29        arguments:
    30          filter: { encryptedDate: { $gt: { $date: { $numberLong: "0" } } }}
    31          update: { "$set": { "encryptedDate": { $date: { $numberLong: "2" } }}}
    32        result:
    33          matchedCount: 1
    34          modifiedCount: 1
    35          upsertedCount: 0
    36    expectations:
    37      - command_started_event:
    38          command:
    39            listCollections: 1
    40            filter:
    41              name: *collection_name
    42          command_name: listCollections
    43      - command_started_event:
    44          command:
    45            find: datakeys
    46            filter: {
    47                  "$or": [
    48                      {
    49                          "_id": {
    50                              "$in": [
    51                                {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}
    52                              ]
    53                          }
    54                      },
    55                      {
    56                          "keyAltNames": {
    57                              "$in": []
    58                          }
    59                      }
    60                  ]
    61              }
    62            $db: keyvault
    63            readConcern: { level: "majority" }
    64          command_name: find
    65      - command_started_event:
    66          command:
    67            insert: *collection_name
    68            documents:
    69              - &doc0_encrypted { "_id": 0, "encryptedDate": { $$type: "binData" } }
    70            ordered: true
    71            encryptionInformation:
    72              type: 1
    73              schema:
    74                default.default:
    75                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
    76                  escCollection: "enxcol_.default.esc"
    77                  ecocCollection: "enxcol_.default.ecoc"
    78                  <<: *encrypted_fields
    79          command_name: insert
    80      - command_started_event:
    81          command:
    82            insert: *collection_name
    83            documents:
    84              - &doc1_encrypted { "_id": 1, "encryptedDate": { $$type: "binData" } }
    85            ordered: true
    86            encryptionInformation:
    87              type: 1
    88              schema:
    89                default.default:
    90                  # libmongocrypt applies escCollection and ecocCollection to outgoing command.
    91                  escCollection: "enxcol_.default.esc"
    92                  ecocCollection: "enxcol_.default.ecoc"
    93                  <<: *encrypted_fields
    94          command_name: insert
    95      - command_started_event:
    96          command_name: update
    97          command:
    98            "update": "default"
    99            "ordered": true
   100            "updates": [
   101                {
   102                    "q": {
   103                        "encryptedDate": {
   104                            "$gt": {
   105                                "$binary": {
   106                                    "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==",
   107                                    "subType": "06"
   108                                }
   109                            }
   110                        }
   111                    },
   112                    "u": {
   113                        "$set": {
   114                            "encryptedDate": { $$type: "binData" }
   115                        }
   116                    }
   117                }
   118            ]
   119            encryptionInformation:
   120                type: 1
   121                schema:
   122                    "default.default":
   123                        # libmongocrypt applies escCollection and ecocCollection to outgoing command.
   124                        escCollection: "enxcol_.default.esc"
   125                        ecocCollection: "enxcol_.default.ecoc"
   126                        <<: *encrypted_fields
   127            "$db": "default"        
   128
   129    outcome:
   130      collection:
   131        # Outcome is checked using a separate MongoClient without auto encryption.
   132        data:
   133        -
   134          {
   135              "_id": 0,
   136              "encryptedDate": { $$type: "binData" },
   137              "__safeContent__": [
   138                  {
   139                      "$binary": {
   140                          "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=",
   141                          "subType": "00"
   142                      }
   143                  },
   144                  {
   145                      "$binary": {
   146                          "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=",
   147                          "subType": "00"
   148                      }
   149                  },
   150                  {
   151                      "$binary": {
   152                          "base64": "x7GR49EN0t3WXQDihkrbonK7qNIBYC87tpL/XEUyIYc=",
   153                          "subType": "00"
   154                      }
   155                  },
   156                  {
   157                      "$binary": {
   158                          "base64": "JfYUqWF+OoGjiYkRI4L5iPlF+T1Eleul7Fki22jp4Qc=",
   159                          "subType": "00"
   160                      }
   161                  },
   162                  {
   163                      "$binary": {
   164                          "base64": "q1RyGfIgsaQHoZFRw+DD28V26rN5hweApPLwExncvT8=",
   165                          "subType": "00"
   166                      }
   167                  },
   168                  {
   169                      "$binary": {
   170                          "base64": "L2PFeKGvLS6C+DLudR6fGlBq3ERPvjWvRyNRIA2HVb0=",
   171                          "subType": "00"
   172                      }
   173                  },
   174                  {
   175                      "$binary": {
   176                          "base64": "CWxaNqL3iP1yCixDkcmf9bmW3E5VeN8TJkg1jJe528s=",
   177                          "subType": "00"
   178                      }
   179                  },
   180                  {
   181                      "$binary": {
   182                          "base64": "+vC6araOEo+fpW7PSIP40/EnzBCj1d2N10Jr3rrXJJM=",
   183                          "subType": "00"
   184                      }
   185                  },
   186                  {
   187                      "$binary": {
   188                          "base64": "6SV63Mf51Z6A6p2X3rCnJKCu6ku3Oeb45mBYbz+IoAo=",
   189                          "subType": "00"
   190                      }
   191                  }
   192              ]
   193          }
   194        -
   195          {
   196              "_id": 1,
   197              "encryptedDate": { $$type: "binData" },
   198              "__safeContent__": [
   199                  {
   200                      "$binary": {
   201                          "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=",
   202                          "subType": "00"
   203                      }
   204                  },
   205                  {
   206                      "$binary": {
   207                          "base64": "hyDcE6QQjPrYJaIS/n7evEZFYcm31Tj89CpEYGF45cI=",
   208                          "subType": "00"
   209                      }
   210                  },
   211                  {
   212                      "$binary": {
   213                          "base64": "F08nMDWDZc+DbWM7XCEJNNCEYyinRmrvGP7EWhmp4is=",
   214                          "subType": "00"
   215                      }
   216                  },
   217                  {
   218                      "$binary": {
   219                          "base64": "cXH4688amcDc8kZOJq4UP8cE3R58Zl7e+Qo/1jyspps=",
   220                          "subType": "00"
   221                      }
   222                  },
   223                  {
   224                      "$binary": {
   225                          "base64": "uURBxvTp3FBCVkd+LPqyuY7d6rMW6SGIJQEPY/wtkZI=",
   226                          "subType": "00"
   227                      }
   228                  },
   229                  {
   230                      "$binary": {
   231                          "base64": "jG3hax1L3RBp9t38vUt53FsBxgr/+Si/vVISpAylYpE=",
   232                          "subType": "00"
   233                      }
   234                  },
   235                  {
   236                      "$binary": {
   237                          "base64": "kwtIW8MhH9Ky5xNjBx8gFA/SHh2YVphie7g5FGBzals=",
   238                          "subType": "00"
   239                      }
   240                  },
   241                  {
   242                      "$binary": {
   243                          "base64": "FHflwFuEMu4xX0ZApHi+pdlBH+oevAtXckCUb5Wv0xU=",
   244                          "subType": "00"
   245                      }
   246                  },
   247                  {
   248                      "$binary": {
   249                          "base64": "ty4cnzJdAlbQKnh7px3GEYjBnvO+jIOaKjoTRDtmh3M=",
   250                          "subType": "00"
   251                      }
   252                  }
   253              ]
   254          }

View as plain text