...

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

View as plain text