1{
2 "runOn": [
3 {
4 "minServerVersion": "4.1.10"
5 }
6 ],
7 "database_name": "default",
8 "collection_name": "default",
9 "data": [],
10 "json_schema": {
11 "properties": {
12 "encrypted_w_altname": {
13 "encrypt": {
14 "keyId": "/altname",
15 "bsonType": "string",
16 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
17 }
18 },
19 "encrypted_string": {
20 "encrypt": {
21 "keyId": [
22 {
23 "$binary": {
24 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
25 "subType": "04"
26 }
27 }
28 ],
29 "bsonType": "string",
30 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
31 }
32 },
33 "random": {
34 "encrypt": {
35 "keyId": [
36 {
37 "$binary": {
38 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
39 "subType": "04"
40 }
41 }
42 ],
43 "bsonType": "string",
44 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
45 }
46 },
47 "encrypted_string_equivalent": {
48 "encrypt": {
49 "keyId": [
50 {
51 "$binary": {
52 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
53 "subType": "04"
54 }
55 }
56 ],
57 "bsonType": "string",
58 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
59 }
60 }
61 },
62 "bsonType": "object"
63 },
64 "key_vault_data": [
65 {
66 "status": 1,
67 "_id": {
68 "$binary": {
69 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
70 "subType": "04"
71 }
72 },
73 "masterKey": {
74 "provider": "aws",
75 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
76 "region": "us-east-1"
77 },
78 "updateDate": {
79 "$date": {
80 "$numberLong": "1552949630483"
81 }
82 },
83 "keyMaterial": {
84 "$binary": {
85 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
86 "subType": "00"
87 }
88 },
89 "creationDate": {
90 "$date": {
91 "$numberLong": "1552949630483"
92 }
93 },
94 "keyAltNames": [
95 "altname",
96 "another_altname"
97 ]
98 }
99 ],
100 "tests": [
101 {
102 "description": "insertOne with encryption",
103 "clientOptions": {
104 "autoEncryptOpts": {
105 "kmsProviders": {
106 "aws": {}
107 }
108 }
109 },
110 "operations": [
111 {
112 "name": "insertOne",
113 "arguments": {
114 "document": {
115 "_id": 1,
116 "encrypted_string": "string0",
117 "random": "abc"
118 }
119 }
120 }
121 ],
122 "expectations": [
123 {
124 "command_started_event": {
125 "command": {
126 "listCollections": 1,
127 "filter": {
128 "name": "default"
129 }
130 },
131 "command_name": "listCollections"
132 }
133 },
134 {
135 "command_started_event": {
136 "command": {
137 "find": "datakeys",
138 "filter": {
139 "$or": [
140 {
141 "_id": {
142 "$in": [
143 {
144 "$binary": {
145 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
146 "subType": "04"
147 }
148 }
149 ]
150 }
151 },
152 {
153 "keyAltNames": {
154 "$in": []
155 }
156 }
157 ]
158 },
159 "$db": "keyvault",
160 "readConcern": {
161 "level": "majority"
162 }
163 },
164 "command_name": "find"
165 }
166 },
167 {
168 "command_started_event": {
169 "command": {
170 "insert": "default",
171 "documents": [
172 {
173 "_id": 1,
174 "encrypted_string": {
175 "$binary": {
176 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
177 "subType": "06"
178 }
179 },
180 "random": {
181 "$$type": "binData"
182 }
183 }
184 ],
185 "ordered": true
186 },
187 "command_name": "insert"
188 }
189 }
190 ],
191 "outcome": {
192 "collection": {
193 "data": [
194 {
195 "_id": 1,
196 "encrypted_string": {
197 "$binary": {
198 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
199 "subType": "06"
200 }
201 },
202 "random": {
203 "$$type": "binData"
204 }
205 }
206 ]
207 }
208 }
209 },
210 {
211 "description": "insertMany with encryption",
212 "clientOptions": {
213 "autoEncryptOpts": {
214 "kmsProviders": {
215 "aws": {}
216 }
217 }
218 },
219 "operations": [
220 {
221 "name": "insertMany",
222 "arguments": {
223 "documents": [
224 {
225 "_id": 1,
226 "encrypted_string": "string0",
227 "random": "abc"
228 },
229 {
230 "_id": 2,
231 "encrypted_string": "string1"
232 }
233 ]
234 }
235 }
236 ],
237 "expectations": [
238 {
239 "command_started_event": {
240 "command": {
241 "listCollections": 1,
242 "filter": {
243 "name": "default"
244 }
245 },
246 "command_name": "listCollections"
247 }
248 },
249 {
250 "command_started_event": {
251 "command": {
252 "find": "datakeys",
253 "filter": {
254 "$or": [
255 {
256 "_id": {
257 "$in": [
258 {
259 "$binary": {
260 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
261 "subType": "04"
262 }
263 }
264 ]
265 }
266 },
267 {
268 "keyAltNames": {
269 "$in": []
270 }
271 }
272 ]
273 },
274 "$db": "keyvault",
275 "readConcern": {
276 "level": "majority"
277 }
278 },
279 "command_name": "find"
280 }
281 },
282 {
283 "command_started_event": {
284 "command": {
285 "insert": "default",
286 "documents": [
287 {
288 "_id": 1,
289 "encrypted_string": {
290 "$binary": {
291 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
292 "subType": "06"
293 }
294 },
295 "random": {
296 "$$type": "binData"
297 }
298 },
299 {
300 "_id": 2,
301 "encrypted_string": {
302 "$binary": {
303 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
304 "subType": "06"
305 }
306 }
307 }
308 ],
309 "ordered": true
310 },
311 "command_name": "insert"
312 }
313 }
314 ],
315 "outcome": {
316 "collection": {
317 "data": [
318 {
319 "_id": 1,
320 "encrypted_string": {
321 "$binary": {
322 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
323 "subType": "06"
324 }
325 },
326 "random": {
327 "$$type": "binData"
328 }
329 },
330 {
331 "_id": 2,
332 "encrypted_string": {
333 "$binary": {
334 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
335 "subType": "06"
336 }
337 }
338 }
339 ]
340 }
341 }
342 }
343 ]
344}
View as plain text