...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/updateMany.json

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

     1{
     2  "runOn": [
     3    {
     4      "minServerVersion": "4.1.10"
     5    }
     6  ],
     7  "database_name": "default",
     8  "collection_name": "default",
     9  "data": [
    10    {
    11      "_id": 1,
    12      "encrypted_string": {
    13        "$binary": {
    14          "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
    15          "subType": "06"
    16        }
    17      }
    18    },
    19    {
    20      "_id": 2,
    21      "encrypted_string": {
    22        "$binary": {
    23          "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
    24          "subType": "06"
    25        }
    26      }
    27    }
    28  ],
    29  "json_schema": {
    30    "properties": {
    31      "encrypted_w_altname": {
    32        "encrypt": {
    33          "keyId": "/altname",
    34          "bsonType": "string",
    35          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    36        }
    37      },
    38      "encrypted_string": {
    39        "encrypt": {
    40          "keyId": [
    41            {
    42              "$binary": {
    43                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    44                "subType": "04"
    45              }
    46            }
    47          ],
    48          "bsonType": "string",
    49          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    50        }
    51      },
    52      "random": {
    53        "encrypt": {
    54          "keyId": [
    55            {
    56              "$binary": {
    57                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    58                "subType": "04"
    59              }
    60            }
    61          ],
    62          "bsonType": "string",
    63          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    64        }
    65      },
    66      "encrypted_string_equivalent": {
    67        "encrypt": {
    68          "keyId": [
    69            {
    70              "$binary": {
    71                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    72                "subType": "04"
    73              }
    74            }
    75          ],
    76          "bsonType": "string",
    77          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    78        }
    79      }
    80    },
    81    "bsonType": "object"
    82  },
    83  "key_vault_data": [
    84    {
    85      "status": 1,
    86      "_id": {
    87        "$binary": {
    88          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    89          "subType": "04"
    90        }
    91      },
    92      "masterKey": {
    93        "provider": "aws",
    94        "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
    95        "region": "us-east-1"
    96      },
    97      "updateDate": {
    98        "$date": {
    99          "$numberLong": "1552949630483"
   100        }
   101      },
   102      "keyMaterial": {
   103        "$binary": {
   104          "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
   105          "subType": "00"
   106        }
   107      },
   108      "creationDate": {
   109        "$date": {
   110          "$numberLong": "1552949630483"
   111        }
   112      },
   113      "keyAltNames": [
   114        "altname",
   115        "another_altname"
   116      ]
   117    }
   118  ],
   119  "tests": [
   120    {
   121      "description": "updateMany with deterministic encryption",
   122      "clientOptions": {
   123        "autoEncryptOpts": {
   124          "kmsProviders": {
   125            "aws": {}
   126          }
   127        }
   128      },
   129      "operations": [
   130        {
   131          "name": "updateMany",
   132          "arguments": {
   133            "filter": {
   134              "encrypted_string": {
   135                "$in": [
   136                  "string0",
   137                  "string1"
   138                ]
   139              }
   140            },
   141            "update": {
   142              "$set": {
   143                "encrypted_string": "string2",
   144                "random": "abc"
   145              }
   146            }
   147          },
   148          "result": {
   149            "matchedCount": 2,
   150            "modifiedCount": 2,
   151            "upsertedCount": 0
   152          }
   153        }
   154      ],
   155      "expectations": [
   156        {
   157          "command_started_event": {
   158            "command": {
   159              "listCollections": 1,
   160              "filter": {
   161                "name": "default"
   162              }
   163            },
   164            "command_name": "listCollections"
   165          }
   166        },
   167        {
   168          "command_started_event": {
   169            "command": {
   170              "find": "datakeys",
   171              "filter": {
   172                "$or": [
   173                  {
   174                    "_id": {
   175                      "$in": [
   176                        {
   177                          "$binary": {
   178                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
   179                            "subType": "04"
   180                          }
   181                        }
   182                      ]
   183                    }
   184                  },
   185                  {
   186                    "keyAltNames": {
   187                      "$in": []
   188                    }
   189                  }
   190                ]
   191              },
   192              "$db": "keyvault",
   193              "readConcern": {
   194                "level": "majority"
   195              }
   196            },
   197            "command_name": "find"
   198          }
   199        },
   200        {
   201          "command_started_event": {
   202            "command": {
   203              "update": "default",
   204              "updates": [
   205                {
   206                  "q": {
   207                    "encrypted_string": {
   208                      "$in": [
   209                        {
   210                          "$binary": {
   211                            "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   212                            "subType": "06"
   213                          }
   214                        },
   215                        {
   216                          "$binary": {
   217                            "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
   218                            "subType": "06"
   219                          }
   220                        }
   221                      ]
   222                    }
   223                  },
   224                  "u": {
   225                    "$set": {
   226                      "encrypted_string": {
   227                        "$binary": {
   228                          "base64": "AQAAAAAAAAAAAAAAAAAAAAACQ76HWOut3DZtQuV90hp1aaCpZn95vZIaWmn+wrBehcEtcFwyJlBdlyzDzZTWPZCPgiFq72Wvh6Y7VbpU9NAp3A==",
   229                          "subType": "06"
   230                        }
   231                      },
   232                      "random": {
   233                        "$$type": "binData"
   234                      }
   235                    }
   236                  },
   237                  "multi": true,
   238                  "upsert": false
   239                }
   240              ],
   241              "ordered": true
   242            },
   243            "command_name": "update"
   244          }
   245        }
   246      ],
   247      "outcome": {
   248        "collection": {
   249          "data": [
   250            {
   251              "_id": 1,
   252              "encrypted_string": {
   253                "$binary": {
   254                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACQ76HWOut3DZtQuV90hp1aaCpZn95vZIaWmn+wrBehcEtcFwyJlBdlyzDzZTWPZCPgiFq72Wvh6Y7VbpU9NAp3A==",
   255                  "subType": "06"
   256                }
   257              },
   258              "random": {
   259                "$$type": "binData"
   260              }
   261            },
   262            {
   263              "_id": 2,
   264              "encrypted_string": {
   265                "$binary": {
   266                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACQ76HWOut3DZtQuV90hp1aaCpZn95vZIaWmn+wrBehcEtcFwyJlBdlyzDzZTWPZCPgiFq72Wvh6Y7VbpU9NAp3A==",
   267                  "subType": "06"
   268                }
   269              },
   270              "random": {
   271                "$$type": "binData"
   272              }
   273            }
   274          ]
   275        }
   276      }
   277    },
   278    {
   279      "description": "updateMany fails when filtering on a random field",
   280      "clientOptions": {
   281        "autoEncryptOpts": {
   282          "kmsProviders": {
   283            "aws": {}
   284          }
   285        }
   286      },
   287      "operations": [
   288        {
   289          "name": "updateMany",
   290          "arguments": {
   291            "filter": {
   292              "random": "abc"
   293            },
   294            "update": {
   295              "$set": {
   296                "encrypted_string": "string1"
   297              }
   298            }
   299          },
   300          "result": {
   301            "errorContains": "Cannot query on fields encrypted with the randomized encryption"
   302          }
   303        }
   304      ]
   305    }
   306  ]
   307}

View as plain text