Skip to content

Commit e730515

Browse files
committed
PYTHON-4580 Add spec tests
1 parent 835e027 commit e730515

File tree

4 files changed

+471
-4
lines changed

4 files changed

+471
-4
lines changed

test/client-side-encryption/spec/legacy/fle2v2-Rangev2-Compact.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
"replicaset",
77
"sharded",
88
"load-balanced"
9-
],
10-
"serverless": "forbid"
9+
]
1110
}
1211
],
1312
"database_name": "default",
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
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": "Insert with deterministic encryption, then find it",
103+
"clientOptions": {
104+
"autoEncryptOpts": {
105+
"kmsProviders": {
106+
"aws": {}
107+
},
108+
"keyExpirationMS": 1
109+
}
110+
},
111+
"operations": [
112+
{
113+
"name": "insertOne",
114+
"arguments": {
115+
"document": {
116+
"_id": 1,
117+
"encrypted_string": "string0"
118+
}
119+
}
120+
},
121+
{
122+
"name": "wait",
123+
"object": "testRunner",
124+
"arguments": {
125+
"ms": 50
126+
}
127+
},
128+
{
129+
"name": "find",
130+
"arguments": {
131+
"filter": {
132+
"_id": 1
133+
}
134+
},
135+
"result": [
136+
{
137+
"_id": 1,
138+
"encrypted_string": "string0"
139+
}
140+
]
141+
}
142+
],
143+
"expectations": [
144+
{
145+
"command_started_event": {
146+
"command": {
147+
"listCollections": 1,
148+
"filter": {
149+
"name": "default"
150+
}
151+
},
152+
"command_name": "listCollections"
153+
}
154+
},
155+
{
156+
"command_started_event": {
157+
"command": {
158+
"find": "datakeys",
159+
"filter": {
160+
"$or": [
161+
{
162+
"_id": {
163+
"$in": [
164+
{
165+
"$binary": {
166+
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
167+
"subType": "04"
168+
}
169+
}
170+
]
171+
}
172+
},
173+
{
174+
"keyAltNames": {
175+
"$in": []
176+
}
177+
}
178+
]
179+
},
180+
"$db": "keyvault",
181+
"readConcern": {
182+
"level": "majority"
183+
}
184+
},
185+
"command_name": "find"
186+
}
187+
},
188+
{
189+
"command_started_event": {
190+
"command": {
191+
"insert": "default",
192+
"documents": [
193+
{
194+
"_id": 1,
195+
"encrypted_string": {
196+
"$binary": {
197+
"base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
198+
"subType": "06"
199+
}
200+
}
201+
}
202+
],
203+
"ordered": true
204+
},
205+
"command_name": "insert"
206+
}
207+
},
208+
{
209+
"command_started_event": {
210+
"command": {
211+
"find": "default",
212+
"filter": {
213+
"_id": 1
214+
}
215+
},
216+
"command_name": "find"
217+
}
218+
},
219+
{
220+
"command_started_event": {
221+
"command": {
222+
"find": "datakeys",
223+
"filter": {
224+
"$or": [
225+
{
226+
"_id": {
227+
"$in": [
228+
{
229+
"$binary": {
230+
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
231+
"subType": "04"
232+
}
233+
}
234+
]
235+
}
236+
},
237+
{
238+
"keyAltNames": {
239+
"$in": []
240+
}
241+
}
242+
]
243+
},
244+
"$db": "keyvault",
245+
"readConcern": {
246+
"level": "majority"
247+
}
248+
},
249+
"command_name": "find"
250+
}
251+
}
252+
],
253+
"outcome": {
254+
"collection": {
255+
"data": [
256+
{
257+
"_id": 1,
258+
"encrypted_string": {
259+
"$binary": {
260+
"base64": "AQAAAAAAAAAAAAAAAAAAAAACwj+3zkv2VM+aTfk60RqhXq6a/77WlLwu/BxXFkL7EppGsju/m8f0x5kBDD3EZTtGALGXlym5jnpZAoSIkswHoA==",
261+
"subType": "06"
262+
}
263+
}
264+
}
265+
]
266+
}
267+
}
268+
}
269+
]
270+
}

test/client-side-encryption/spec/legacy/timeoutMS.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
"listCollections"
111111
],
112112
"blockConnection": true,
113-
"blockTimeMS": 600
113+
"blockTimeMS": 60
114114
}
115115
},
116116
"clientOptions": {
@@ -119,7 +119,7 @@
119119
"aws": {}
120120
}
121121
},
122-
"timeoutMS": 500
122+
"timeoutMS": 50
123123
},
124124
"operations": [
125125
{

0 commit comments

Comments
 (0)