...

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

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

     1runOn:
     2  - minServerVersion: "4.1.10"
     3database_name: &database_name "default"
     4collection_name: &collection_name "default"
     5
     6data: [{_id: 1, encrypted_string: {'$binary': {'base64': 'AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==', 'subType': '06'}} }]
     7json_schema: {'properties': {'encrypted_w_altname': {'encrypt': {'keyId': '/altname', 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Random'}}, 'encrypted_string': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic'}}, 'random': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Random'}}, 'encrypted_string_equivalent': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic'}}}, 'bsonType': 'object'}
     8key_vault_data: [{'status': 1, '_id': {'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}, 'masterKey': {'provider': 'aws', 'key': 'arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0', 'region': 'us-east-1'}, 'updateDate': {'$date': {'$numberLong': '1552949630483'}}, 'keyMaterial': {'$binary': {'base64': 'AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1552949630483'}}, 'keyAltNames': ['altname', 'another_altname']}]
     9
    10tests:
    11  - description: "Insert with bypassAutoEncryption"
    12    clientOptions:
    13      autoEncryptOpts:
    14        bypassAutoEncryption: true
    15        kmsProviders:
    16          aws: {} # Credentials filled in from environment.
    17    operations:
    18      - name: insertOne
    19        arguments:
    20          document: { _id: 2, encrypted_string: "string0" }
    21          bypassDocumentValidation: true
    22      - name: find
    23        arguments:
    24          filter: { }
    25        result:
    26          - { _id: 1, encrypted_string: "string0" }
    27          - { _id: 2, encrypted_string: "string0" }
    28    expectations:
    29      - command_started_event:
    30          command:
    31            insert: *collection_name
    32            documents:
    33              # No encryption.
    34              - { _id: 2, encrypted_string: "string0" }
    35            ordered: true
    36          command_name: insert
    37      - command_started_event:
    38          command:
    39            find: *collection_name
    40            filter: { }
    41          command_name: find
    42      - command_started_event:
    43          command:
    44            find: datakeys
    45            filter: {"$or": [{"_id": {"$in": [ {'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}} ] }}, {"keyAltNames": {"$in": []}}]}
    46            $db: keyvault
    47            readConcern: { level: "majority" }
    48          command_name: find
    49    outcome:
    50      collection:
    51        # Outcome is checked using a separate MongoClient without auto encryption.
    52        data:
    53          - { _id: 1, encrypted_string: {'$binary': {'base64': 'AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==', 'subType': '06'}} }
    54          - { _id: 2, encrypted_string: "string0" }
    55  - description: "Insert with bypassAutoEncryption for local schema"
    56    clientOptions:
    57      autoEncryptOpts:
    58        schemaMap:
    59          "default.default": {'properties': {'encrypted_w_altname': {'encrypt': {'keyId': '/altname', 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Random'}}, 'encrypted_string': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic'}}, 'random': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Random'}}, 'encrypted_string_equivalent': {'encrypt': {'keyId': [{'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}}], 'bsonType': 'string', 'algorithm': 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic'}}}, 'bsonType': 'object'}
    60        bypassAutoEncryption: true
    61        kmsProviders:
    62          aws: {} # Credentials filled in from environment.
    63    operations:
    64      - name: insertOne
    65        arguments:
    66          document: { _id: 2, encrypted_string: "string0" }
    67          bypassDocumentValidation: true
    68      - name: find
    69        arguments:
    70          filter: { }
    71        result:
    72          - { _id: 1, encrypted_string: "string0" }
    73          - { _id: 2, encrypted_string: "string0" }
    74    expectations:
    75      - command_started_event:
    76          command:
    77            insert: *collection_name
    78            documents:
    79              # No encryption.
    80              - { _id: 2, encrypted_string: "string0" }
    81            ordered: true
    82          command_name: insert
    83      - command_started_event:
    84          command:
    85            find: *collection_name
    86            filter: { }
    87          command_name: find
    88      - command_started_event:
    89          command:
    90            find: datakeys
    91            filter: {"$or": [{"_id": {"$in": [ {'$binary': {'base64': 'AAAAAAAAAAAAAAAAAAAAAA==', 'subType': '04'}} ] }}, {"keyAltNames": {"$in": []}}]}
    92            $db: keyvault
    93            readConcern: { level: "majority" }
    94          command_name: find
    95    outcome:
    96      collection:
    97        # Outcome is checked using a separate MongoClient without auto encryption.
    98        data:
    99          - { _id: 1, encrypted_string: {'$binary': {'base64': 'AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==', 'subType': '06'}} }
   100          - { _id: 2, encrypted_string: "string0" }

View as plain text