...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/find.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      "random": {
    28        "$binary": {
    29          "base64": "AgAAAAAAAAAAAAAAAAAAAAACyfp+lXvKOi7f5vh6ZsCijLEaXFKq1X06RmyS98ZvmMQGixTw8HM1f/bGxZjGwvYwjXOkIEb7Exgb8p2KCDI5TQ==",
    30          "subType": "06"
    31        }
    32      }
    33    }
    34  ],
    35  "json_schema": {
    36    "properties": {
    37      "encrypted_w_altname": {
    38        "encrypt": {
    39          "keyId": "/altname",
    40          "bsonType": "string",
    41          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    42        }
    43      },
    44      "encrypted_string": {
    45        "encrypt": {
    46          "keyId": [
    47            {
    48              "$binary": {
    49                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    50                "subType": "04"
    51              }
    52            }
    53          ],
    54          "bsonType": "string",
    55          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    56        }
    57      },
    58      "random": {
    59        "encrypt": {
    60          "keyId": [
    61            {
    62              "$binary": {
    63                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    64                "subType": "04"
    65              }
    66            }
    67          ],
    68          "bsonType": "string",
    69          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    70        }
    71      },
    72      "encrypted_string_equivalent": {
    73        "encrypt": {
    74          "keyId": [
    75            {
    76              "$binary": {
    77                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    78                "subType": "04"
    79              }
    80            }
    81          ],
    82          "bsonType": "string",
    83          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    84        }
    85      }
    86    },
    87    "bsonType": "object"
    88  },
    89  "key_vault_data": [
    90    {
    91      "status": 1,
    92      "_id": {
    93        "$binary": {
    94          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    95          "subType": "04"
    96        }
    97      },
    98      "masterKey": {
    99        "provider": "aws",
   100        "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
   101        "region": "us-east-1"
   102      },
   103      "updateDate": {
   104        "$date": {
   105          "$numberLong": "1552949630483"
   106        }
   107      },
   108      "keyMaterial": {
   109        "$binary": {
   110          "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
   111          "subType": "00"
   112        }
   113      },
   114      "creationDate": {
   115        "$date": {
   116          "$numberLong": "1552949630483"
   117        }
   118      },
   119      "keyAltNames": [
   120        "altname",
   121        "another_altname"
   122      ]
   123    }
   124  ],
   125  "tests": [
   126    {
   127      "description": "Find with deterministic encryption",
   128      "clientOptions": {
   129        "autoEncryptOpts": {
   130          "kmsProviders": {
   131            "aws": {}
   132          }
   133        }
   134      },
   135      "operations": [
   136        {
   137          "name": "find",
   138          "arguments": {
   139            "filter": {
   140              "encrypted_string": "string0"
   141            }
   142          },
   143          "result": [
   144            {
   145              "_id": 1,
   146              "encrypted_string": "string0"
   147            }
   148          ]
   149        }
   150      ],
   151      "expectations": [
   152        {
   153          "command_started_event": {
   154            "command": {
   155              "listCollections": 1,
   156              "filter": {
   157                "name": "default"
   158              }
   159            },
   160            "command_name": "listCollections"
   161          }
   162        },
   163        {
   164          "command_started_event": {
   165            "command": {
   166              "find": "datakeys",
   167              "filter": {
   168                "$or": [
   169                  {
   170                    "_id": {
   171                      "$in": [
   172                        {
   173                          "$binary": {
   174                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
   175                            "subType": "04"
   176                          }
   177                        }
   178                      ]
   179                    }
   180                  },
   181                  {
   182                    "keyAltNames": {
   183                      "$in": []
   184                    }
   185                  }
   186                ]
   187              },
   188              "$db": "keyvault",
   189              "readConcern": {
   190                "level": "majority"
   191              }
   192            },
   193            "command_name": "find"
   194          }
   195        },
   196        {
   197          "command_started_event": {
   198            "command": {
   199              "find": "default",
   200              "filter": {
   201                "encrypted_string": {
   202                  "$eq": {
   203                    "$binary": {
   204                      "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   205                      "subType": "06"
   206                    }
   207                  }
   208                }
   209              }
   210            },
   211            "command_name": "find"
   212          }
   213        }
   214      ],
   215      "outcome": {
   216        "collection": {
   217          "data": [
   218            {
   219              "_id": 1,
   220              "encrypted_string": {
   221                "$binary": {
   222                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   223                  "subType": "06"
   224                }
   225              }
   226            },
   227            {
   228              "_id": 2,
   229              "encrypted_string": {
   230                "$binary": {
   231                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
   232                  "subType": "06"
   233                }
   234              },
   235              "random": {
   236                "$binary": {
   237                  "base64": "AgAAAAAAAAAAAAAAAAAAAAACyfp+lXvKOi7f5vh6ZsCijLEaXFKq1X06RmyS98ZvmMQGixTw8HM1f/bGxZjGwvYwjXOkIEb7Exgb8p2KCDI5TQ==",
   238                  "subType": "06"
   239                }
   240              }
   241            }
   242          ]
   243        }
   244      }
   245    },
   246    {
   247      "description": "Find with $in with deterministic encryption",
   248      "clientOptions": {
   249        "autoEncryptOpts": {
   250          "kmsProviders": {
   251            "aws": {}
   252          }
   253        }
   254      },
   255      "operations": [
   256        {
   257          "name": "find",
   258          "arguments": {
   259            "filter": {
   260              "encrypted_string": {
   261                "$in": [
   262                  "string0",
   263                  "string1"
   264                ]
   265              }
   266            }
   267          },
   268          "result": [
   269            {
   270              "_id": 1,
   271              "encrypted_string": "string0"
   272            },
   273            {
   274              "_id": 2,
   275              "encrypted_string": "string1",
   276              "random": "abc"
   277            }
   278          ]
   279        }
   280      ],
   281      "expectations": [
   282        {
   283          "command_started_event": {
   284            "command": {
   285              "listCollections": 1,
   286              "filter": {
   287                "name": "default"
   288              }
   289            },
   290            "command_name": "listCollections"
   291          }
   292        },
   293        {
   294          "command_started_event": {
   295            "command": {
   296              "find": "datakeys",
   297              "filter": {
   298                "$or": [
   299                  {
   300                    "_id": {
   301                      "$in": [
   302                        {
   303                          "$binary": {
   304                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
   305                            "subType": "04"
   306                          }
   307                        }
   308                      ]
   309                    }
   310                  },
   311                  {
   312                    "keyAltNames": {
   313                      "$in": []
   314                    }
   315                  }
   316                ]
   317              },
   318              "$db": "keyvault",
   319              "readConcern": {
   320                "level": "majority"
   321              }
   322            },
   323            "command_name": "find"
   324          }
   325        },
   326        {
   327          "command_started_event": {
   328            "command": {
   329              "find": "default",
   330              "filter": {
   331                "encrypted_string": {
   332                  "$in": [
   333                    {
   334                      "$binary": {
   335                        "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   336                        "subType": "06"
   337                      }
   338                    },
   339                    {
   340                      "$binary": {
   341                        "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
   342                        "subType": "06"
   343                      }
   344                    }
   345                  ]
   346                }
   347              }
   348            },
   349            "command_name": "find"
   350          }
   351        }
   352      ],
   353      "outcome": {
   354        "collection": {
   355          "data": [
   356            {
   357              "_id": 1,
   358              "encrypted_string": {
   359                "$binary": {
   360                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   361                  "subType": "06"
   362                }
   363              }
   364            },
   365            {
   366              "_id": 2,
   367              "encrypted_string": {
   368                "$binary": {
   369                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
   370                  "subType": "06"
   371                }
   372              },
   373              "random": {
   374                "$binary": {
   375                  "base64": "AgAAAAAAAAAAAAAAAAAAAAACyfp+lXvKOi7f5vh6ZsCijLEaXFKq1X06RmyS98ZvmMQGixTw8HM1f/bGxZjGwvYwjXOkIEb7Exgb8p2KCDI5TQ==",
   376                  "subType": "06"
   377                }
   378              }
   379            }
   380          ]
   381        }
   382      }
   383    },
   384    {
   385      "description": "Find fails when filtering on a random encrypted field",
   386      "clientOptions": {
   387        "autoEncryptOpts": {
   388          "kmsProviders": {
   389            "aws": {}
   390          }
   391        }
   392      },
   393      "operations": [
   394        {
   395          "name": "find",
   396          "arguments": {
   397            "filter": {
   398              "random": "abc"
   399            }
   400          },
   401          "result": {
   402            "errorContains": "Cannot query on fields encrypted with the randomized encryption"
   403          }
   404        }
   405      ]
   406    }
   407  ]
   408}

View as plain text