...

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

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

     1# This test requires libmongocrypt 1.5.0-alpha2.
     2runOn:
     3  # Require server version 6.0.0 to get behavior added in SERVER-64911.
     4  - minServerVersion: "6.0.0"
     5
     6database_name: &database_name "default"
     7collection_name: &collection_name "default"
     8data: []
     9tests:
    10  - description: "create with a validator on an unencrypted field is OK"
    11    clientOptions:
    12      autoEncryptOpts:
    13        kmsProviders:
    14          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    15        schemaMap:
    16          "default.encryptedCollection": {'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'}
    17    operations:
    18    # Drop to remove a collection that may exist from previous test runs.
    19    - name: dropCollection
    20      object: database
    21      arguments:
    22        collection: "encryptedCollection"
    23    - name: createCollection
    24      object: database
    25      arguments:
    26        collection: "encryptedCollection"
    27        validator:
    28          unencrypted_string: "foo"
    29    - name: assertCollectionExists
    30      object: testRunner
    31      arguments:
    32        database: *database_name
    33        collection: "encryptedCollection"
    34  - description: "create with a validator on an encrypted field is an error"
    35    clientOptions:
    36      autoEncryptOpts:
    37        kmsProviders:
    38          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    39        schemaMap:
    40          "default.encryptedCollection": {'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'}
    41    operations:
    42    # Drop to remove a collection that may exist from previous test runs.
    43    - name: dropCollection
    44      object: database
    45      arguments:
    46        collection: "encryptedCollection"
    47    - name: createCollection
    48      object: database
    49      arguments:
    50        collection: "encryptedCollection"
    51        validator:
    52          encrypted_string: "foo"
    53      result:
    54        errorContains: "Comparison to encrypted fields not supported"
    55  - description: "collMod with a validator on an unencrypted field is OK"
    56    clientOptions:
    57      autoEncryptOpts:
    58        kmsProviders:
    59          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    60        schemaMap:
    61          "default.encryptedCollection": {'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'}
    62    operations:
    63    # Drop to remove a collection that may exist from previous test runs.
    64    - name: dropCollection
    65      object: database
    66      arguments:
    67        collection: "encryptedCollection"
    68    - name: createCollection
    69      object: database
    70      arguments:
    71        collection: "encryptedCollection"
    72    - name: runCommand
    73      object: database
    74      arguments:
    75        command:
    76          collMod: "encryptedCollection"
    77          validator:
    78            unencrypted_string: "foo"
    79  - description: "collMod with a validator on an encrypted field is an error"
    80    clientOptions:
    81      autoEncryptOpts:
    82        kmsProviders:
    83          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    84        schemaMap:
    85          "default.encryptedCollection": {'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'}
    86    operations:
    87    # Drop to remove a collection that may exist from previous test runs.
    88    - name: dropCollection
    89      object: database
    90      arguments:
    91        collection: "encryptedCollection"
    92    - name: createCollection
    93      object: database
    94      arguments:
    95        collection: "encryptedCollection"
    96    - name: runCommand
    97      object: database
    98      arguments:
    99        command:
   100          collMod: "encryptedCollection"
   101          validator:
   102            encrypted_string: "foo"
   103      result:
   104        errorContains: "Comparison to encrypted fields not supported"
   105  - description: "createIndexes with a partialFilterExpression on an unencrypted field is OK"
   106    clientOptions:
   107      autoEncryptOpts:
   108        kmsProviders:
   109          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
   110        schemaMap:
   111          "default.encryptedCollection": {'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'}
   112    operations:
   113    # Drop to remove a collection that may exist from previous test runs.
   114    - name: dropCollection
   115      object: database
   116      arguments:
   117        collection: "encryptedCollection"
   118    - name: createCollection
   119      object: database
   120      arguments:
   121        collection: "encryptedCollection"
   122    - name: runCommand
   123      object: database
   124      arguments:
   125        command:
   126          createIndexes: "encryptedCollection"
   127          indexes:
   128            - name: "name"
   129              key: { name: 1 }
   130              partialFilterExpression:
   131                unencrypted_string: "foo"
   132    - name: assertIndexExists
   133      object: testRunner
   134      arguments:
   135        database: *database_name
   136        collection: "encryptedCollection"
   137        index: name
   138  - description: "createIndexes with a partialFilterExpression on an encrypted field is an error"
   139    clientOptions:
   140      autoEncryptOpts:
   141        kmsProviders:
   142          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
   143        schemaMap:
   144          "default.encryptedCollection": {'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'}
   145    operations:
   146    # Drop to remove a collection that may exist from previous test runs.
   147    - name: dropCollection
   148      object: database
   149      arguments:
   150        collection: "encryptedCollection"
   151    - name: createCollection
   152      object: database
   153      arguments:
   154        collection: "encryptedCollection"
   155    - name: runCommand
   156      object: database
   157      arguments:
   158        command:
   159          createIndexes: "encryptedCollection"
   160          indexes:
   161            - name: "name"
   162              key: { name: 1 }
   163              partialFilterExpression:
   164                encrypted_string: "foo"
   165      result:
   166        errorContains: "Comparison to encrypted fields not supported"

View as plain text