1{
2 "description": "getKeyByAltName",
3 "schemaVersion": "1.8",
4 "runOnRequirements": [
5 {
6 "csfle": true
7 }
8 ],
9 "createEntities": [
10 {
11 "client": {
12 "id": "client0",
13 "observeEvents": [
14 "commandStartedEvent"
15 ]
16 }
17 },
18 {
19 "clientEncryption": {
20 "id": "clientEncryption0",
21 "clientEncryptionOpts": {
22 "keyVaultClient": "client0",
23 "keyVaultNamespace": "keyvault.datakeys",
24 "kmsProviders": {
25 "local": {
26 "key": {
27 "$$placeholder": 1
28 }
29 }
30 }
31 }
32 }
33 },
34 {
35 "database": {
36 "id": "database0",
37 "client": "client0",
38 "databaseName": "keyvault"
39 }
40 },
41 {
42 "collection": {
43 "id": "collection0",
44 "database": "database0",
45 "collectionName": "datakeys"
46 }
47 }
48 ],
49 "initialData": [
50 {
51 "databaseName": "keyvault",
52 "collectionName": "datakeys",
53 "documents": [
54 {
55 "_id": {
56 "$binary": {
57 "base64": "YXdzYXdzYXdzYXdzYXdzYQ==",
58 "subType": "04"
59 }
60 },
61 "keyAltNames": [
62 "aws_key"
63 ],
64 "keyMaterial": {
65 "$binary": {
66 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gFXJqbF0Fy872MD7xl56D/2AAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDO7HPisPUlGzaio9vgIBEIB7/Qow46PMh/8JbEUbdXgTGhLfXPE+KIVW7T8s6YEMlGiRvMu7TV0QCIUJlSHPKZxzlJ2iwuz5yXeOag+EdY+eIQ0RKrsJ3b8UTisZYzGjfzZnxUKLzLoeXremtRCm3x47wCuHKd1dhh6FBbYt5TL2tDaj+vL2GBrKat2L",
67 "subType": "00"
68 }
69 },
70 "creationDate": {
71 "$date": {
72 "$numberLong": "1641024000000"
73 }
74 },
75 "updateDate": {
76 "$date": {
77 "$numberLong": "1641024000000"
78 }
79 },
80 "status": 1,
81 "masterKey": {
82 "provider": "aws",
83 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
84 "region": "us-east-1"
85 }
86 },
87 {
88 "_id": {
89 "$binary": {
90 "base64": "bG9jYWxrZXlsb2NhbGtleQ==",
91 "subType": "04"
92 }
93 },
94 "keyAltNames": [
95 "local_key"
96 ],
97 "keyMaterial": {
98 "$binary": {
99 "base64": "ABKBldDEoDW323yejOnIRk6YQmlD9d3eQthd16scKL75nz2LjNL9fgPDZWrFFOlqlhMCFaSrNJfGrFUjYk5JFDO7soG5Syb50k1niJoKg4ilsj0L4mpimFUtTpOr2nzZOeQtvAksEXc7gsFgq8gV7t/U3lsaXPY7I0t42DfSE8EGlPdxRjFdHnxh+OR8h7U9b8Qs5K5UuhgyeyxaBZ1Hgw==",
100 "subType": "00"
101 }
102 },
103 "creationDate": {
104 "$date": {
105 "$numberLong": "1641024000000"
106 }
107 },
108 "updateDate": {
109 "$date": {
110 "$numberLong": "1641024000000"
111 }
112 },
113 "status": 1,
114 "masterKey": {
115 "provider": "local"
116 }
117 }
118 ]
119 }
120 ],
121 "tests": [
122 {
123 "description": "get non-existent data key",
124 "operations": [
125 {
126 "name": "getKeyByAltName",
127 "object": "clientEncryption0",
128 "arguments": {
129 "keyAltName": "does_not_exist"
130 },
131 "expectResult": {
132 "$$unsetOrMatches": null
133 }
134 }
135 ],
136 "expectEvents": [
137 {
138 "client": "client0",
139 "events": [
140 {
141 "commandStartedEvent": {
142 "databaseName": "keyvault",
143 "command": {
144 "find": "datakeys",
145 "filter": {
146 "keyAltNames": "does_not_exist"
147 },
148 "readConcern": {
149 "level": "majority"
150 }
151 }
152 }
153 }
154 ]
155 }
156 ]
157 },
158 {
159 "description": "get existing AWS data key",
160 "operations": [
161 {
162 "name": "getKeyByAltName",
163 "object": "clientEncryption0",
164 "arguments": {
165 "keyAltName": "aws_key"
166 },
167 "expectResult": {
168 "_id": {
169 "$binary": {
170 "base64": "YXdzYXdzYXdzYXdzYXdzYQ==",
171 "subType": "04"
172 }
173 },
174 "keyAltNames": [
175 "aws_key"
176 ],
177 "keyMaterial": {
178 "$binary": {
179 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gFXJqbF0Fy872MD7xl56D/2AAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDO7HPisPUlGzaio9vgIBEIB7/Qow46PMh/8JbEUbdXgTGhLfXPE+KIVW7T8s6YEMlGiRvMu7TV0QCIUJlSHPKZxzlJ2iwuz5yXeOag+EdY+eIQ0RKrsJ3b8UTisZYzGjfzZnxUKLzLoeXremtRCm3x47wCuHKd1dhh6FBbYt5TL2tDaj+vL2GBrKat2L",
180 "subType": "00"
181 }
182 },
183 "creationDate": {
184 "$date": {
185 "$numberLong": "1641024000000"
186 }
187 },
188 "updateDate": {
189 "$date": {
190 "$numberLong": "1641024000000"
191 }
192 },
193 "status": 1,
194 "masterKey": {
195 "provider": "aws",
196 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
197 "region": "us-east-1"
198 }
199 }
200 }
201 ],
202 "expectEvents": [
203 {
204 "client": "client0",
205 "events": [
206 {
207 "commandStartedEvent": {
208 "databaseName": "keyvault",
209 "command": {
210 "find": "datakeys",
211 "filter": {
212 "keyAltNames": "aws_key"
213 },
214 "readConcern": {
215 "level": "majority"
216 }
217 }
218 }
219 }
220 ]
221 }
222 ]
223 },
224 {
225 "description": "get existing local data key",
226 "operations": [
227 {
228 "name": "getKeyByAltName",
229 "object": "clientEncryption0",
230 "arguments": {
231 "keyAltName": "local_key"
232 },
233 "expectResult": {
234 "_id": {
235 "$binary": {
236 "base64": "bG9jYWxrZXlsb2NhbGtleQ==",
237 "subType": "04"
238 }
239 },
240 "keyAltNames": [
241 "local_key"
242 ],
243 "keyMaterial": {
244 "$binary": {
245 "base64": "ABKBldDEoDW323yejOnIRk6YQmlD9d3eQthd16scKL75nz2LjNL9fgPDZWrFFOlqlhMCFaSrNJfGrFUjYk5JFDO7soG5Syb50k1niJoKg4ilsj0L4mpimFUtTpOr2nzZOeQtvAksEXc7gsFgq8gV7t/U3lsaXPY7I0t42DfSE8EGlPdxRjFdHnxh+OR8h7U9b8Qs5K5UuhgyeyxaBZ1Hgw==",
246 "subType": "00"
247 }
248 },
249 "creationDate": {
250 "$date": {
251 "$numberLong": "1641024000000"
252 }
253 },
254 "updateDate": {
255 "$date": {
256 "$numberLong": "1641024000000"
257 }
258 },
259 "status": 1,
260 "masterKey": {
261 "provider": "local"
262 }
263 }
264 }
265 ],
266 "expectEvents": [
267 {
268 "client": "client0",
269 "events": [
270 {
271 "commandStartedEvent": {
272 "databaseName": "keyvault",
273 "command": {
274 "find": "datakeys",
275 "filter": {
276 "keyAltNames": "local_key"
277 },
278 "readConcern": {
279 "level": "majority"
280 }
281 }
282 }
283 }
284 ]
285 }
286 ]
287 }
288 ]
289}
View as plain text