123 lines
3.6 KiB
YAML
123 lines
3.6 KiB
YAML
description: getKeys
|
|
|
|
schemaVersion: "1.8"
|
|
|
|
runOnRequirements:
|
|
- csfle: true
|
|
|
|
createEntities:
|
|
- client:
|
|
id: &client0 client0
|
|
observeEvents:
|
|
- commandStartedEvent
|
|
- clientEncryption:
|
|
id: &clientEncryption0 clientEncryption0
|
|
clientEncryptionOpts:
|
|
keyVaultClient: *client0
|
|
keyVaultNamespace: keyvault.datakeys
|
|
kmsProviders:
|
|
local: { key: { $$placeholder: 1 } }
|
|
- database:
|
|
id: &database0 database0
|
|
client: *client0
|
|
databaseName: &database0Name keyvault
|
|
- collection:
|
|
id: &collection0 collection0
|
|
database: *database0
|
|
collectionName: &collection0Name datakeys
|
|
|
|
initialData:
|
|
- databaseName: *database0Name
|
|
collectionName: *collection0Name
|
|
documents: []
|
|
|
|
tests:
|
|
- description: getKeys with zero key documents
|
|
operations:
|
|
- name: getKeys
|
|
object: *clientEncryption0
|
|
expectResult: []
|
|
expectEvents:
|
|
- client: *client0
|
|
events:
|
|
- commandStartedEvent:
|
|
databaseName: *database0Name
|
|
command:
|
|
find: *collection0Name
|
|
filter: {}
|
|
readConcern: { level: majority }
|
|
|
|
- description: getKeys with single key documents
|
|
operations:
|
|
- name: createDataKey
|
|
object: *clientEncryption0
|
|
arguments:
|
|
kmsProvider: local
|
|
opts:
|
|
keyAltNames: ["abc"]
|
|
expectResult: { $$type: binData }
|
|
- name: getKeys
|
|
object: *clientEncryption0
|
|
expectResult:
|
|
- _id: { $$type: binData }
|
|
keyAltNames: ["abc"]
|
|
keyMaterial: { $$type: binData }
|
|
creationDate: { $$type: date }
|
|
updateDate: { $$type: date }
|
|
status: { $$type: int }
|
|
masterKey: { $$type: object }
|
|
expectEvents:
|
|
- client: *client0
|
|
events:
|
|
- commandStartedEvent:
|
|
commandName: insert
|
|
- commandStartedEvent:
|
|
databaseName: *database0Name
|
|
command:
|
|
find: *collection0Name
|
|
filter: {}
|
|
readConcern: { level: majority }
|
|
|
|
- description: getKeys with many key documents
|
|
operations:
|
|
- name: createDataKey
|
|
object: *clientEncryption0
|
|
arguments:
|
|
kmsProvider: local
|
|
expectResult: { $$type: binData }
|
|
- name: createDataKey
|
|
object: *clientEncryption0
|
|
arguments:
|
|
kmsProvider: local
|
|
expectResult: { $$type: binData }
|
|
- name: getKeys
|
|
object: *clientEncryption0
|
|
expectResult:
|
|
# Cannot expect deterministic order of results, so only assert that
|
|
# exactly two key documents are returned.
|
|
- _id: { $$type: binData }
|
|
keyMaterial: { $$type: binData }
|
|
creationDate: { $$type: date }
|
|
updateDate: { $$type: date }
|
|
status: { $$type: int }
|
|
masterKey: { $$type: object }
|
|
- _id: { $$type: binData }
|
|
keyMaterial: { $$type: binData }
|
|
creationDate: { $$type: date }
|
|
updateDate: { $$type: date }
|
|
status: { $$type: int }
|
|
masterKey: { $$type: object }
|
|
expectEvents:
|
|
- client: *client0
|
|
events:
|
|
- commandStartedEvent:
|
|
commandName: insert
|
|
- commandStartedEvent:
|
|
commandName: insert
|
|
- commandStartedEvent:
|
|
databaseName: *database0Name
|
|
command:
|
|
find: *collection0Name
|
|
filter: {}
|
|
readConcern: { level: majority }
|