1{
2 "runOn": [
3 {
4 "minServerVersion": "4.1.10"
5 }
6 ],
7 "database_name": "default",
8 "collection_name": "default",
9 "data": [
10 {
11 "_id": 1,
12 "encrypted_string": {
13 "$binary": {
14 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
15 "subType": "06"
16 }
17 }
18 }
19 ],
20 "json_schema": {
21 "properties": {
22 "encrypted_w_altname": {
23 "encrypt": {
24 "keyId": "/altname",
25 "bsonType": "string",
26 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
27 }
28 },
29 "encrypted_string": {
30 "encrypt": {
31 "keyId": [
32 {
33 "$binary": {
34 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
35 "subType": "04"
36 }
37 }
38 ],
39 "bsonType": "string",
40 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
41 }
42 },
43 "random": {
44 "encrypt": {
45 "keyId": [
46 {
47 "$binary": {
48 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
49 "subType": "04"
50 }
51 }
52 ],
53 "bsonType": "string",
54 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
55 }
56 },
57 "encrypted_string_equivalent": {
58 "encrypt": {
59 "keyId": [
60 {
61 "$binary": {
62 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
63 "subType": "04"
64 }
65 }
66 ],
67 "bsonType": "string",
68 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
69 }
70 }
71 },
72 "bsonType": "object"
73 },
74 "key_vault_data": [
75 {
76 "status": 1,
77 "_id": {
78 "$binary": {
79 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
80 "subType": "04"
81 }
82 },
83 "masterKey": {
84 "provider": "aws",
85 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
86 "region": "us-east-1"
87 },
88 "updateDate": {
89 "$date": {
90 "$numberLong": "1552949630483"
91 }
92 },
93 "keyMaterial": {
94 "$binary": {
95 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO",
96 "subType": "00"
97 }
98 },
99 "creationDate": {
100 "$date": {
101 "$numberLong": "1552949630483"
102 }
103 },
104 "keyAltNames": [
105 "altname",
106 "another_altname"
107 ]
108 }
109 ],
110 "tests": [
111 {
112 "description": "findOneAndReplace with deterministic encryption",
113 "clientOptions": {
114 "autoEncryptOpts": {
115 "kmsProviders": {
116 "aws": {}
117 }
118 }
119 },
120 "operations": [
121 {
122 "name": "findOneAndReplace",
123 "arguments": {
124 "filter": {
125 "encrypted_string": "string0"
126 },
127 "replacement": {
128 "encrypted_string": "string1"
129 },
130 "returnDocument": "Before"
131 },
132 "result": {
133 "_id": 1,
134 "encrypted_string": "string0"
135 }
136 }
137 ],
138 "expectations": [
139 {
140 "command_started_event": {
141 "command": {
142 "listCollections": 1,
143 "filter": {
144 "name": "default"
145 }
146 },
147 "command_name": "listCollections"
148 }
149 },
150 {
151 "command_started_event": {
152 "command": {
153 "find": "datakeys",
154 "filter": {
155 "$or": [
156 {
157 "_id": {
158 "$in": [
159 {
160 "$binary": {
161 "base64": "AAAAAAAAAAAAAAAAAAAAAA==",
162 "subType": "04"
163 }
164 }
165 ]
166 }
167 },
168 {
169 "keyAltNames": {
170 "$in": []
171 }
172 }
173 ]
174 },
175 "$db": "keyvault",
176 "readConcern": {
177 "level": "majority"
178 }
179 },
180 "command_name": "find"
181 }
182 },
183 {
184 "command_started_event": {
185 "command": {
186 "findAndModify": "default",
187 "query": {
188 "encrypted_string": {
189 "$eq": {
190 "$binary": {
191 "base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
192 "subType": "06"
193 }
194 }
195 }
196 },
197 "update": {
198 "encrypted_string": {
199 "$binary": {
200 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
201 "subType": "06"
202 }
203 }
204 }
205 },
206 "command_name": "findAndModify"
207 }
208 }
209 ],
210 "outcome": {
211 "collection": {
212 "data": [
213 {
214 "_id": 1,
215 "encrypted_string": {
216 "$binary": {
217 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==",
218 "subType": "06"
219 }
220 }
221 }
222 ]
223 }
224 }
225 }
226 ]
227}
View as plain text