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 encryption using key alt name", 103 "clientOptions": { 104 "autoEncryptOpts": { 105 "kmsProviders": { 106 "aws": {} 107 } 108 } 109 }, 110 "operations": [ 111 { 112 "name": "insertOne", 113 "arguments": { 114 "document": { 115 "_id": 1, 116 "encrypted_w_altname": "string0", 117 "altname": "altname" 118 } 119 } 120 } 121 ], 122 "expectations": [ 123 { 124 "command_started_event": { 125 "command": { 126 "listCollections": 1, 127 "filter": { 128 "name": "default" 129 } 130 }, 131 "command_name": "listCollections" 132 } 133 }, 134 { 135 "command_started_event": { 136 "command": { 137 "find": "datakeys", 138 "filter": { 139 "$or": [ 140 { 141 "_id": { 142 "$in": [] 143 } 144 }, 145 { 146 "keyAltNames": { 147 "$in": [ 148 "altname" 149 ] 150 } 151 } 152 ] 153 }, 154 "$db": "keyvault", 155 "readConcern": { 156 "level": "majority" 157 } 158 }, 159 "command_name": "find" 160 } 161 }, 162 { 163 "command_started_event": { 164 "command": { 165 "insert": "default", 166 "documents": [ 167 { 168 "_id": 1, 169 "encrypted_w_altname": { 170 "$$type": "binData" 171 }, 172 "altname": "altname" 173 } 174 ], 175 "ordered": true 176 }, 177 "command_name": "insert" 178 } 179 } 180 ], 181 "outcome": { 182 "collection": { 183 "data": [ 184 { 185 "_id": 1, 186 "encrypted_w_altname": { 187 "$$type": "binData" 188 }, 189 "altname": "altname" 190 } 191 ] 192 } 193 } 194 }, 195 { 196 "description": "Replace with key alt name fails", 197 "clientOptions": { 198 "autoEncryptOpts": { 199 "kmsProviders": { 200 "aws": {} 201 } 202 } 203 }, 204 "operations": [ 205 { 206 "name": "updateOne", 207 "arguments": { 208 "filter": {}, 209 "update": { 210 "$set": { 211 "encrypted_w_altname": "string0" 212 } 213 }, 214 "upsert": true 215 }, 216 "result": { 217 "errorContains": "A non-static (JSONPointer) keyId is not supported" 218 } 219 } 220 ], 221 "outcome": { 222 "collection": { 223 "data": [] 224 } 225 } 226 } 227 ] 228} 229