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 "key_vault_data": [
12 {
13 "status": 1,
14 "_id": {
15 "$binary": {
16 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
17 "subType": "04"
18 }
19 },
20 "masterKey": {
21 "provider": "aws",
22 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
23 "region": "us-east-1"
24 },
25 "updateDate": {
26 "$date": {
27 "$numberLong": "1552949630483"
28 }
29 },
30 "keyMaterial": {
31 "$binary": {
32 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
33 "subType": "00"
34 }
35 },
36 "creationDate": {
37 "$date": {
38 "$numberLong": "1552949630483"
39 }
40 },
41 "keyAltNames": [
42 "altname",
43 "another_altname"
44 ]
45 }
46 ],
47 "tests": [
48 {
49 "description": "A local schema should override",
50 "clientOptions": {
51 "autoEncryptOpts": {
52 "schemaMap": {
53 "default.default": {
54 "properties": {
55 "encrypted_w_altname": {
56 "encrypt": {
57 "keyId": "/altname",
58 "bsonType": "string",
59 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
60 }
61 },
62 "encrypted_string": {
63 "encrypt": {
64 "keyId": [
65 {
66 "$binary": {
67 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
68 "subType": "04"
69 }
70 }
71 ],
72 "bsonType": "string",
73 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
74 }
75 },
76 "random": {
77 "encrypt": {
78 "keyId": [
79 {
80 "$binary": {
81 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
82 "subType": "04"
83 }
84 }
85 ],
86 "bsonType": "string",
87 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
88 }
89 },
90 "encrypted_string_equivalent": {
91 "encrypt": {
92 "keyId": [
93 {
94 "$binary": {
95 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
96 "subType": "04"
97 }
98 }
99 ],
100 "bsonType": "string",
101 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
102 }
103 }
104 },
105 "bsonType": "object"
106 }
107 },
108 "kmsProviders": {
109 "aws": {}
110 }
111 }
112 },
113 "operations": [
114 {
115 "name": "insertOne",
116 "arguments": {
117 "document": {
118 "_id": 1,
119 "encrypted_string": "string0"
120 }
121 }
122 },
123 {
124 "name": "find",
125 "arguments": {
126 "filter": {
127 "_id": 1
128 }
129 },
130 "result": [
131 {
132 "_id": 1,
133 "encrypted_string": "string0"
134 }
135 ]
136 }
137 ],
138 "expectations": [
139 {
140 "command_started_event": {
141 "command": {
142 "find": "datakeys",
143 "filter": {
144 "$or": [
145 {
146 "_id": {
147 "$in": [
148 {
149 "$binary": {
150 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
151 "subType": "04"
152 }
153 }
154 ]
155 }
156 },
157 {
158 "keyAltNames": {
159 "$in": []
160 }
161 }
162 ]
163 },
164 "$db": "keyvault",
165 "readConcern": {
166 "level": "majority"
167 }
168 },
169 "command_name": "find"
170 }
171 },
172 {
173 "command_started_event": {
174 "command": {
175 "insert": "default",
176 "documents": [
177 {
178 "_id": 1,
179 "encrypted_string": {
180 "$binary": {
181 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
182 "subType": "06"
183 }
184 }
185 }
186 ],
187 "ordered": true
188 },
189 "command_name": "insert"
190 }
191 },
192 {
193 "command_started_event": {
194 "command": {
195 "find": "default",
196 "filter": {
197 "_id": 1
198 }
199 },
200 "command_name": "find"
201 }
202 }
203 ],
204 "outcome": {
205 "collection": {
206 "data": [
207 {
208 "_id": 1,
209 "encrypted_string": {
210 "$binary": {
211 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
212 "subType": "06"
213 }
214 }
215 }
216 ]
217 }
218 }
219 },
220 {
221 "description": "A local schema with no encryption is an error",
222 "clientOptions": {
223 "autoEncryptOpts": {
224 "schemaMap": {
225 "default.default": {
226 "properties": {
227 "test": {
228 "bsonType": "string"
229 }
230 },
231 "bsonType": "object",
232 "required": [
233 "test"
234 ]
235 }
236 },
237 "kmsProviders": {
238 "aws": {}
239 }
240 }
241 },
242 "operations": [
243 {
244 "name": "insertOne",
245 "arguments": {
246 "document": {
247 "_id": 1,
248 "encrypted_string": "string0"
249 }
250 },
251 "result": {
252 "errorContains": "JSON schema keyword 'required' is only allowed with a remote schema"
253 }
254 }
255 ]
256 }
257 ]
258}
View as plain text