...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-encryption/legacy/distinct.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": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
    24          "subType": "06"
    25        }
    26      }
    27    },
    28    {
    29      "_id": 3,
    30      "encrypted_string": {
    31        "$binary": {
    32          "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
    33          "subType": "06"
    34        }
    35      }
    36    }
    37  ],
    38  "json_schema": {
    39    "properties": {
    40      "encrypted_w_altname": {
    41        "encrypt": {
    42          "keyId": "/altname",
    43          "bsonType": "string",
    44          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    45        }
    46      },
    47      "encrypted_string": {
    48        "encrypt": {
    49          "keyId": [
    50            {
    51              "$binary": {
    52                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    53                "subType": "04"
    54              }
    55            }
    56          ],
    57          "bsonType": "string",
    58          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    59        }
    60      },
    61      "random": {
    62        "encrypt": {
    63          "keyId": [
    64            {
    65              "$binary": {
    66                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    67                "subType": "04"
    68              }
    69            }
    70          ],
    71          "bsonType": "string",
    72          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
    73        }
    74      },
    75      "encrypted_string_equivalent": {
    76        "encrypt": {
    77          "keyId": [
    78            {
    79              "$binary": {
    80                "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    81                "subType": "04"
    82              }
    83            }
    84          ],
    85          "bsonType": "string",
    86          "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
    87        }
    88      }
    89    },
    90    "bsonType": "object"
    91  },
    92  "key_vault_data": [
    93    {
    94      "status": 1,
    95      "_id": {
    96        "$binary": {
    97          "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
    98          "subType": "04"
    99        }
   100      },
   101      "masterKey": {
   102        "provider": "aws",
   103        "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
   104        "region": "us-east-1"
   105      },
   106      "updateDate": {
   107        "$date": {
   108          "$numberLong": "1552949630483"
   109        }
   110      },
   111      "keyMaterial": {
   112        "$binary": {
   113          "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
   114          "subType": "00"
   115        }
   116      },
   117      "creationDate": {
   118        "$date": {
   119          "$numberLong": "1552949630483"
   120        }
   121      },
   122      "keyAltNames": [
   123        "altname",
   124        "another_altname"
   125      ]
   126    }
   127  ],
   128  "tests": [
   129    {
   130      "description": "distinct with deterministic encryption",
   131      "clientOptions": {
   132        "autoEncryptOpts": {
   133          "kmsProviders": {
   134            "aws": {}
   135          }
   136        }
   137      },
   138      "operations": [
   139        {
   140          "name": "distinct",
   141          "arguments": {
   142            "filter": {
   143              "encrypted_string": "string0"
   144            },
   145            "fieldName": "encrypted_string"
   146          },
   147          "result": [
   148            "string0"
   149          ]
   150        }
   151      ],
   152      "expectations": [
   153        {
   154          "command_started_event": {
   155            "command": {
   156              "listCollections": 1,
   157              "filter": {
   158                "name": "default"
   159              }
   160            },
   161            "command_name": "listCollections"
   162          }
   163        },
   164        {
   165          "command_started_event": {
   166            "command": {
   167              "find": "datakeys",
   168              "filter": {
   169                "$or": [
   170                  {
   171                    "_id": {
   172                      "$in": [
   173                        {
   174                          "$binary": {
   175                            "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
   176                            "subType": "04"
   177                          }
   178                        }
   179                      ]
   180                    }
   181                  },
   182                  {
   183                    "keyAltNames": {
   184                      "$in": []
   185                    }
   186                  }
   187                ]
   188              },
   189              "$db": "keyvault",
   190              "readConcern": {
   191                "level": "majority"
   192              }
   193            },
   194            "command_name": "find"
   195          }
   196        },
   197        {
   198          "command_started_event": {
   199            "command": {
   200              "distinct": "default",
   201              "key": "encrypted_string",
   202              "query": {
   203                "encrypted_string": {
   204                  "$eq": {
   205                    "$binary": {
   206                      "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   207                      "subType": "06"
   208                    }
   209                  }
   210                }
   211              }
   212            },
   213            "command_name": "distinct"
   214          }
   215        }
   216      ],
   217      "outcome": {
   218        "collection": {
   219          "data": [
   220            {
   221              "_id": 1,
   222              "encrypted_string": {
   223                "$binary": {
   224                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   225                  "subType": "06"
   226                }
   227              }
   228            },
   229            {
   230              "_id": 2,
   231              "encrypted_string": {
   232                "$binary": {
   233                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
   234                  "subType": "06"
   235                }
   236              }
   237            },
   238            {
   239              "_id": 3,
   240              "encrypted_string": {
   241                "$binary": {
   242                  "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
   243                  "subType": "06"
   244                }
   245              }
   246            }
   247          ]
   248        }
   249      }
   250    },
   251    {
   252      "description": "Distinct fails when filtering on a random encrypted field",
   253      "clientOptions": {
   254        "autoEncryptOpts": {
   255          "kmsProviders": {
   256            "aws": {}
   257          }
   258        }
   259      },
   260      "operations": [
   261        {
   262          "name": "distinct",
   263          "arguments": {
   264            "filter": {
   265              "random": "abc"
   266            },
   267            "fieldName": "encrypted_string"
   268          },
   269          "result": {
   270            "errorContains": "Cannot query on fields encrypted with the randomized encryption"
   271          }
   272        }
   273      ]
   274    }
   275  ]
   276}

View as plain text