...
1# Requires libmongocrypt 1.8.0.
2runOn:
3 - minServerVersion: "7.0.0"
4 # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
5 # FLE 2 Encrypted collections are not supported on standalone.
6 topology: [ "replicaset", "sharded", "load-balanced" ]
7database_name: &database_name "default"
8collection_name: &collection_name "default"
9data: []
10encrypted_fields: &encrypted_fields {'fields': [{'keyId': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedIndexed', 'bsonType': 'string', 'queries': {'queryType': 'equality', 'contention': {'$numberLong': '0'}}}, {'keyId': {'$binary': {'base64': 'q83vqxI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'path': 'encryptedUnindexed', 'bsonType': 'string'}]}
11key_vault_data: [ {'_id': {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'sHe0kz57YW7v8g9VP9sf/+K1ex4JqKc5rf/URX3n3p8XdZ6+15uXPaSayC6adWbNxkFskuMCOifDoTT+rkqMtFkDclOy884RuGGtUysq3X7zkAWYTKi8QAfKkajvVbZl2y23UqgVasdQu3OVBQCrH/xY00nNAs/52e958nVjBuzQkSb1T8pKJAyjZsHJ60+FtnfafDZSTAIBJYn7UWBCwQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}}, {'_id': {'$binary': {'base64': 'q83vqxI0mHYSNBI0VniQEg==', 'subType': '04'}}, 'keyMaterial': {'$binary': {'base64': 'HBk9BWihXExNDvTp1lUxOuxuZK2Pe2ZdVdlsxPEBkiO1bS4mG5NNDsQ7zVxJAH8BtdOYp72Ku4Y3nwc0BUpIKsvAKX4eYXtlhv5zUQxWdeNFhg9qK7qb8nqhnnLeT0f25jFSqzWJoT379hfwDeu0bebJHr35QrJ8myZdPMTEDYF08QYQ48ShRBli0S+QzBHHAQiM2iJNr4svg2WR8JSeWQ==', 'subType': '00'}}, 'creationDate': {'$date': {'$numberLong': '1648914851981'}}, 'updateDate': {'$date': {'$numberLong': '1648914851981'}}, 'status': {'$numberInt': '0'}, 'masterKey': {'provider': 'local'}} ]
12tests:
13 - description: "Compact works"
14 clientOptions:
15 autoEncryptOpts:
16 kmsProviders:
17 local: {'key': {'$binary': {'base64': 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk', 'subType': '00'}}}
18 operations:
19 - name: runCommand
20 object: database
21 command_name: compactStructuredEncryptionData
22 arguments:
23 command:
24 compactStructuredEncryptionData: *collection_name
25 expectations:
26 - command_started_event:
27 command:
28 listCollections: 1
29 filter:
30 name: *collection_name
31 command_name: listCollections
32 - command_started_event:
33 command:
34 find: datakeys
35 filter: {
36 "$or": [
37 {
38 "_id": {
39 "$in": [
40 {'$binary': {'base64': 'EjRWeBI0mHYSNBI0VniQEg==', 'subType': '04'}},
41 {'$binary': {'base64': 'q83vqxI0mHYSNBI0VniQEg==', 'subType': '04'}}
42 ]
43 }
44 },
45 {
46 "keyAltNames": {
47 "$in": []
48 }
49 }
50 ]
51 }
52 $db: keyvault
53 readConcern: { level: "majority" }
54 command_name: find
55 - command_started_event:
56 command:
57 compactStructuredEncryptionData: *collection_name
58 compactionTokens: {
59 "encryptedIndexed": {
60 "$binary": {
61 "base64": "noN+05JsuO1oDg59yypIGj45i+eFH6HOTXOPpeZ//Mk=",
62 "subType": "00"
63 }
64 },
65 "encryptedUnindexed": {
66 "$binary": {
67 "base64": "SWO8WEoZ2r2Kx/muQKb7+COizy85nIIUFiHh4K9kcvA=",
68 "subType": "00"
69 }
70 }
71 }
72 command_name: compactStructuredEncryptionData
73 - description: "Compact errors on an unencrypted client"
74 operations:
75 - name: runCommand
76 object: database
77 command_name: compactStructuredEncryptionData
78 arguments:
79 command:
80 compactStructuredEncryptionData: *collection_name
81 result:
82 errorContains: "'compactStructuredEncryptionData.compactionTokens' is missing"
View as plain text