1+ description : keyCache-explicit
2+
3+ schemaVersion : " 1.18"
4+
5+ runOnRequirements :
6+ - csfle : true
7+
8+ createEntities :
9+ - client :
10+ id : &client0 client0
11+ observeEvents :
12+ - commandStartedEvent
13+ - clientEncryption :
14+ id : &clientEncryption0 clientEncryption0
15+ clientEncryptionOpts :
16+ keyVaultClient : *client0
17+ keyVaultNamespace : keyvault.datakeys
18+ kmsProviders :
19+ " local" : { key: "OCTP9uKPPmvuqpHlqq83gPk4U6rUPxKVRRyVtrjFmVjdoa4Xzm1SzUbr7aIhNI42czkUBmrCtZKF31eaaJnxEBkqf0RFukA9Mo3NEHQWgAQ2cn9duOcRbaFUQo2z0/rB" }
20+ keyExpirationMS : 1
21+ - database :
22+ id : &database0 database0
23+ client : *client0
24+ databaseName : &database0Name keyvault
25+ - collection :
26+ id : &collection0 collection0
27+ database : *database0
28+ collectionName : &collection0Name datakeys
29+
30+ initialData :
31+ - databaseName : *database0Name
32+ collectionName : *collection0Name
33+ documents :
34+ - {
35+ " _id " : {
36+ " $binary " : {
37+ " base64 " : " a+YWzdygTAG62/cNUkqZiQ==" ,
38+ " subType " : " 04"
39+ }
40+ },
41+ " keyAltNames " : [],
42+ " keyMaterial " : {
43+ " $binary " : {
44+ " base64 " : " iocBkhO3YBokiJ+FtxDTS71/qKXQ7tSWhWbcnFTXBcMjarsepvALeJ5li+SdUd9ePuatjidxAdMo7vh1V2ZESLMkQWdpPJ9PaJjA67gKQKbbbB4Ik5F2uKjULvrMBnFNVRMup4JNUwWFQJpqbfMveXnUVcD06+pUpAkml/f+DSXrV3e5rxciiNVtz03dAG8wJrsKsFXWj6vTjFhsfknyBA==" ,
45+ " subType " : " 00"
46+ }
47+ },
48+ " creationDate " : {"$date": {"$numberLong": "1552949630483"}},
49+ " updateDate " : {"$date": {"$numberLong": "1552949630483"}},
50+ " status " : {"$numberInt": "0"},
51+ " masterKey " : {"provider": "local"}
52+ }
53+
54+ tests :
55+ - description : can explicitly decrypt with a named KMS provider
56+ operations :
57+ - name : decrypt
58+ object : *clientEncryption0
59+ arguments :
60+ value : { "$binary" : { "base64" : "AWvmFs3coEwButv3DVJKmYkCJ6lUzRX9R28WNlw5uyndb+8gurA+p8q14s7GZ04K2ZvghieRlAr5UwZbow3PMq27u5EIhDDczwBFcbdP1amllw==", "subType" : "06" } }
61+ expectResult : " foobar"
62+ - name : wait
63+ object : testRunner
64+ arguments :
65+ ms : 2
66+ - name : decrypt
67+ object : *clientEncryption0
68+ arguments :
69+ value : { "$binary" : { "base64" : "AWvmFs3coEwButv3DVJKmYkCJ6lUzRX9R28WNlw5uyndb+8gurA+p8q14s7GZ04K2ZvghieRlAr5UwZbow3PMq27u5EIhDDczwBFcbdP1amllw==", "subType" : "06" } }
70+ expectResult : " foobar"
71+ expectEvents :
72+ - client : *client0
73+ events :
74+ - commandStartedEvent :
75+ command :
76+ find : datakeys
77+ filter : {"$or": [{"_id": {"$in": [ {'$binary': {'base64': 'a+YWzdygTAG62/cNUkqZiQ==', 'subType': '04'}} ] }}, {"keyAltNames": {"$in": []}}]}
78+ $db : keyvault
79+ readConcern : { level: "majority" }
80+ - commandStartedEvent :
81+ command :
82+ find : datakeys
83+ filter : {"$or": [{"_id": {"$in": [ {'$binary': {'base64': 'a+YWzdygTAG62/cNUkqZiQ==', 'subType': '04'}} ] }}, {"keyAltNames": {"$in": []}}]}
84+ $db : keyvault
85+ readConcern : { level: "majority" }
0 commit comments