...
1description: getKeys
2
3schemaVersion: "1.8"
4
5runOnRequirements:
6 - csfle: true
7
8createEntities:
9 - client:
10 id: &client0 client0
11 observeEvents:
12 - commandStartedEvent
13 - clientEncryption:
14 id: &clientEncryption0 clientEncryption0
15 clientEncryptionOpts:
16 keyVaultClient: *client0
17 keyVaultNamespace: keyvault.datakeys
18 kmsProviders:
19 local: { key: { $$placeholder: 1 } }
20 - database:
21 id: &database0 database0
22 client: *client0
23 databaseName: &database0Name keyvault
24 - collection:
25 id: &collection0 collection0
26 database: *database0
27 collectionName: &collection0Name datakeys
28
29initialData:
30 - databaseName: *database0Name
31 collectionName: *collection0Name
32 documents: []
33
34tests:
35 - description: getKeys with zero key documents
36 operations:
37 - name: getKeys
38 object: *clientEncryption0
39 expectResult: []
40 expectEvents:
41 - client: *client0
42 events:
43 - commandStartedEvent:
44 databaseName: *database0Name
45 command:
46 find: *collection0Name
47 filter: {}
48 readConcern: { level: majority }
49
50 - description: getKeys with single key documents
51 operations:
52 - name: createDataKey
53 object: *clientEncryption0
54 arguments:
55 kmsProvider: local
56 opts:
57 keyAltNames: ["abc"]
58 expectResult: { $$type: binData }
59 - name: getKeys
60 object: *clientEncryption0
61 expectResult:
62 - _id: { $$type: binData }
63 keyAltNames: ["abc"]
64 keyMaterial: { $$type: binData }
65 creationDate: { $$type: date }
66 updateDate: { $$type: date }
67 status: { $$type: int }
68 masterKey: { $$type: object }
69 expectEvents:
70 - client: *client0
71 events:
72 - commandStartedEvent:
73 commandName: insert
74 - commandStartedEvent:
75 databaseName: *database0Name
76 command:
77 find: *collection0Name
78 filter: {}
79 readConcern: { level: majority }
80
81 - description: getKeys with many key documents
82 operations:
83 - name: createDataKey
84 object: *clientEncryption0
85 arguments:
86 kmsProvider: local
87 expectResult: { $$type: binData }
88 - name: createDataKey
89 object: *clientEncryption0
90 arguments:
91 kmsProvider: local
92 expectResult: { $$type: binData }
93 - name: getKeys
94 object: *clientEncryption0
95 expectResult:
96 # Cannot expect deterministic order of results, so only assert that
97 # exactly two key documents are returned.
98 - _id: { $$type: binData }
99 keyMaterial: { $$type: binData }
100 creationDate: { $$type: date }
101 updateDate: { $$type: date }
102 status: { $$type: int }
103 masterKey: { $$type: object }
104 - _id: { $$type: binData }
105 keyMaterial: { $$type: binData }
106 creationDate: { $$type: date }
107 updateDate: { $$type: date }
108 status: { $$type: int }
109 masterKey: { $$type: object }
110 expectEvents:
111 - client: *client0
112 events:
113 - commandStartedEvent:
114 commandName: insert
115 - commandStartedEvent:
116 commandName: insert
117 - commandStartedEvent:
118 databaseName: *database0Name
119 command:
120 find: *collection0Name
121 filter: {}
122 readConcern: { level: majority }
View as plain text