...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/fle2v2-Range-DoublePrecision-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': 'encryptedDoublePrecision', 'bsonType': 'double', 'queries': {'queryType': 'rangePreview', 'contention': {'$numberLong': '0'}, 'sparsity': {'$numberLong': '1'}, 'min': {'$numberDouble': '0.0'}, 'max': {'$numberDouble': '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 DoublePrecision. 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, encryptedDoublePrecision: { $numberDouble: "0" } }
    25      - name: insertOne
    26        arguments:
    27          document: &doc1 { _id: 1, encryptedDoublePrecision: { $numberDouble: "1" } }
    28      - name: updateOne
    29        arguments:
    30          filter: { encryptedDoublePrecision: { $gt: { $numberDouble: "0" } } }
    31          update: { "$set": { "encryptedDoublePrecision": { $numberDouble: "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, "encryptedDoublePrecision": { $$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, "encryptedDoublePrecision": { $$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            
    99            "update": "default"
   100            "ordered": true
   101            "updates": [
   102                {
   103                    "q": {
   104                        "encryptedDoublePrecision": {
   105                            "$gt": {
   106                                "$binary": {
   107                                    "base64": "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",
   108                                    "subType": "06"
   109                                }
   110                            }
   111                        }
   112                    },
   113                    "u": {
   114                        "$set": {
   115                            "encryptedDoublePrecision": { $$type: "binData" }
   116                        }
   117                    }
   118                }
   119            ]
   120            encryptionInformation:
   121                type: 1
   122                schema:
   123                  "default.default":
   124                    # libmongocrypt applies escCollection and ecocCollection to outgoing command.
   125                    escCollection: "enxcol_.default.esc"
   126                    ecocCollection: "enxcol_.default.ecoc"
   127                    <<: *encrypted_fields
   128            "$db": "default"
   129            
   130
   131    outcome:
   132      collection:
   133        # Outcome is checked using a separate MongoClient without auto encryption.
   134        data:
   135        -
   136          {
   137              "_id": 0,
   138              "encryptedDoublePrecision": { $$type: "binData" },
   139              "__safeContent__": [
   140                  {
   141                      "$binary": {
   142                          "base64": "5nRutVIyq7URVOVtbE4vM01APSIajAVnsShMwjBlzkM=",
   143                          "subType": "00"
   144                      }
   145                  },
   146                  {
   147                      "$binary": {
   148                          "base64": "Dri0CXmL78L2DOgk9w0DwxHOMGMzih7m6l59vgy+WWo=",
   149                          "subType": "00"
   150                      }
   151                  },
   152                  {
   153                      "$binary": {
   154                          "base64": "x7GR49EN0t3WXQDihkrbonK7qNIBYC87tpL/XEUyIYc=",
   155                          "subType": "00"
   156                      }
   157                  },
   158                  {
   159                      "$binary": {
   160                          "base64": "JfYUqWF+OoGjiYkRI4L5iPlF+T1Eleul7Fki22jp4Qc=",
   161                          "subType": "00"
   162                      }
   163                  },
   164                  {
   165                      "$binary": {
   166                          "base64": "q1RyGfIgsaQHoZFRw+DD28V26rN5hweApPLwExncvT8=",
   167                          "subType": "00"
   168                      }
   169                  },
   170                  {
   171                      "$binary": {
   172                          "base64": "L2PFeKGvLS6C+DLudR6fGlBq3ERPvjWvRyNRIA2HVb0=",
   173                          "subType": "00"
   174                      }
   175                  },
   176                  {
   177                      "$binary": {
   178                          "base64": "CWxaNqL3iP1yCixDkcmf9bmW3E5VeN8TJkg1jJe528s=",
   179                          "subType": "00"
   180                      }
   181                  },
   182                  {
   183                      "$binary": {
   184                          "base64": "+vC6araOEo+fpW7PSIP40/EnzBCj1d2N10Jr3rrXJJM=",
   185                          "subType": "00"
   186                      }
   187                  },
   188                  {
   189                      "$binary": {
   190                          "base64": "6SV63Mf51Z6A6p2X3rCnJKCu6ku3Oeb45mBYbz+IoAo=",
   191                          "subType": "00"
   192                      }
   193                  },
   194                  {
   195                      "$binary": {
   196                          "base64": "RjBYT2h3ZAoHxhf8DU6/dFbDkEBZp0IxREcsRTu2MXs=",
   197                          "subType": "00"
   198                      }
   199                  },
   200                  {
   201                      "$binary": {
   202                          "base64": "b7d8mRzD1kI1tdc7uNL+YAUonJ6pODLsRLkArfEKSkM=",
   203                          "subType": "00"
   204                      }
   205                  },
   206                  {
   207                      "$binary": {
   208                          "base64": "Xg8C1/A0KJaXOw4i+26Rv03/CydaaunOzXh0CIT+gn8=",
   209                          "subType": "00"
   210                      }
   211                  },
   212                  {
   213                      "$binary": {
   214                          "base64": "UoKUDw2wJYToUCcFaIs03YQSTksYR0MIOTJllwODqKc=",
   215                          "subType": "00"
   216                      }
   217                  },
   218                  {
   219                      "$binary": {
   220                          "base64": "c/5cwAT0C5jber2xlJnWD3a5tVDy0nRtr5HG02hoFOY=",
   221                          "subType": "00"
   222                      }
   223                  },
   224                  {
   225                      "$binary": {
   226                          "base64": "wSUrRXavAGaajNeqC5mEUH1K67oYl5Wy9RNIzKjwLAM=",
   227                          "subType": "00"
   228                      }
   229                  },
   230                  {
   231                      "$binary": {
   232                          "base64": "6vrp4wWDtHEgHWR99I70WVDzevg1Fk/Pw5U8gUDa0OU=",
   233                          "subType": "00"
   234                      }
   235                  }
   236              ]
   237          }
   238        -
   239          {
   240              "_id": 1,
   241              "encryptedDoublePrecision": { $$type: "binData" },
   242              "__safeContent__": [
   243                  {
   244                      "$binary": {
   245                          "base64": "DLCAJs+W2PL2DV5YChCL6dYrQNr+j4p3L7xhVaub4ic=",
   246                          "subType": "00"
   247                      }
   248                  },
   249                  {
   250                      "$binary": {
   251                          "base64": "V6knyt7Zq2CG3++l75UtBx2m32iGAPjHiAe439Bf02w=",
   252                          "subType": "00"
   253                      }
   254                  },
   255                  {
   256                      "$binary": {
   257                          "base64": "F08nMDWDZc+DbWM7XCEJNNCEYyinRmrvGP7EWhmp4is=",
   258                          "subType": "00"
   259                      }
   260                  },
   261                  {
   262                      "$binary": {
   263                          "base64": "cXH4688amcDc8kZOJq4UP8cE3R58Zl7e+Qo/1jyspps=",
   264                          "subType": "00"
   265                      }
   266                  },
   267                  {
   268                      "$binary": {
   269                          "base64": "uURBxvTp3FBCVkd+LPqyuY7d6rMW6SGIJQEPY/wtkZI=",
   270                          "subType": "00"
   271                      }
   272                  },
   273                  {
   274                      "$binary": {
   275                          "base64": "jG3hax1L3RBp9t38vUt53FsBxgr/+Si/vVISpAylYpE=",
   276                          "subType": "00"
   277                      }
   278                  },
   279                  {
   280                      "$binary": {
   281                          "base64": "kwtIW8MhH9Ky5xNjBx8gFA/SHh2YVphie7g5FGBzals=",
   282                          "subType": "00"
   283                      }
   284                  },
   285                  {
   286                      "$binary": {
   287                          "base64": "FHflwFuEMu4xX0ZApHi+pdlBH+oevAtXckCUb5Wv0xU=",
   288                          "subType": "00"
   289                      }
   290                  },
   291                  {
   292                      "$binary": {
   293                          "base64": "0OKSXELxPP85SBVwDGf3LtMEQCJ8TTkFUl/+6jlkdb0=",
   294                          "subType": "00"
   295                      }
   296                  },
   297                  {
   298                      "$binary": {
   299                          "base64": "25j9sQXZCihCmHKvTHgaBsAVZFcGPn7JjHdrCGlwyyw=",
   300                          "subType": "00"
   301                      }
   302                  },
   303                  {
   304                      "$binary": {
   305                          "base64": "uEw0lpQtBppR3vqV9j9+NQRSBF1BzZukb8c9IhyWvxc=",
   306                          "subType": "00"
   307                      }
   308                  },
   309                  {
   310                      "$binary": {
   311                          "base64": "zVhZ7Q59O087ji49oMJvBIgeir2oqvUpnh4p53GcTow=",
   312                          "subType": "00"
   313                      }
   314                  },
   315                  {
   316                      "$binary": {
   317                          "base64": "dowrzKs+qJhRMZyKDbhjXbuX43FbmUKOaw9I8YlOZDw=",
   318                          "subType": "00"
   319                      }
   320                  },
   321                  {
   322                      "$binary": {
   323                          "base64": "ep5B6cska6THLIF7Mn3tn3RvV9EiwLSt0eZM/CLRUDc=",
   324                          "subType": "00"
   325                      }
   326                  },
   327                  {
   328                      "$binary": {
   329                          "base64": "URNp/YmmDh5wIZUfAzzgPyJeMNiVx9PMsz52DZRujGY=",
   330                          "subType": "00"
   331                      }
   332                  },
   333                  {
   334                      "$binary": {
   335                          "base64": "wlM4IAQhhKQEzoVqS8b1Ddd50GB95OFb9LnzOwyjCP4=",
   336                          "subType": "00"
   337                      }
   338                  }
   339              ]
   340          }

View as plain text