...

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

View as plain text