runOn:
  - minServerVersion: "4.1.10"
database_name: &database_name "default"
collection_name: &collection_name "default"

data: []
tests:
  - description: "create is OK"
    clientOptions:
      autoEncryptOpts:
        kmsProviders:
          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    operations:
    # Drop to remove a collection that may exist from previous test runs.
    - name: dropCollection
      object: database
      arguments:
        collection: "unencryptedCollection"
    - name: createCollection
      object: database
      arguments:
        collection: "unencryptedCollection"
        validator:
          unencrypted_string: "foo"
    - name: assertCollectionExists
      object: testRunner
      arguments:
        database: *database_name
        collection: "unencryptedCollection"
  - description: "createIndexes is OK"
    clientOptions:
      autoEncryptOpts:
        kmsProviders:
          local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
    operations:
    # Drop to remove a collection that may exist from previous test runs.
    - name: dropCollection
      object: database
      arguments:
        collection: "unencryptedCollection"
    - name: createCollection
      object: database
      arguments:
        collection: "unencryptedCollection"
    - name: runCommand
      object: database
      arguments:
        command:
          createIndexes: "unencryptedCollection"
          indexes:
            - name: "name"
              key: { name: 1 }
    - name: assertIndexExists
      object: testRunner
      arguments:
        database: *database_name
        collection: "unencryptedCollection"
        index: name