...
1description: getKeyByAltName
2
3schemaVersion: "1.8"
4
5runOnRequirements:
6 - csfle: true
7
8createEntities:
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: { $$placeholder: 1 } }
20 - database:
21 id: &database0 database0
22 client: *client0
23 databaseName: &database0Name keyvault
24 - collection:
25 id: &collection0 collection0
26 database: *database0
27 collectionName: &collection0Name datakeys
28
29initialData:
30 - databaseName: *database0Name
31 collectionName: *collection0Name
32 documents:
33 - &aws_key_doc
34 _id: { $binary: { base64: YXdzYXdzYXdzYXdzYXdzYQ==, subType: "04" } }
35 keyAltNames: ["aws_key"]
36 keyMaterial: { $binary: { base64: AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gFXJqbF0Fy872MD7xl56D/2AAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDO7HPisPUlGzaio9vgIBEIB7/Qow46PMh/8JbEUbdXgTGhLfXPE+KIVW7T8s6YEMlGiRvMu7TV0QCIUJlSHPKZxzlJ2iwuz5yXeOag+EdY+eIQ0RKrsJ3b8UTisZYzGjfzZnxUKLzLoeXremtRCm3x47wCuHKd1dhh6FBbYt5TL2tDaj+vL2GBrKat2L, subType: "00" } }
37 creationDate: { $date: { $numberLong: "1641024000000" } }
38 updateDate: { $date: { $numberLong: "1641024000000" } }
39 status: 1
40 masterKey:
41 provider: aws
42 key: arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0
43 region: us-east-1
44 - &local_key_doc
45 _id: { $binary: { base64: bG9jYWxrZXlsb2NhbGtleQ==, subType: "04" } }
46 keyAltNames: ["local_key"]
47 keyMaterial: { $binary: { base64: ABKBldDEoDW323yejOnIRk6YQmlD9d3eQthd16scKL75nz2LjNL9fgPDZWrFFOlqlhMCFaSrNJfGrFUjYk5JFDO7soG5Syb50k1niJoKg4ilsj0L4mpimFUtTpOr2nzZOeQtvAksEXc7gsFgq8gV7t/U3lsaXPY7I0t42DfSE8EGlPdxRjFdHnxh+OR8h7U9b8Qs5K5UuhgyeyxaBZ1Hgw==, subType: "00" } }
48 creationDate: { $date: { $numberLong: "1641024000000" } }
49 updateDate: { $date: { $numberLong: "1641024000000" } }
50 status: 1
51 masterKey:
52 provider: local
53
54tests:
55 - description: get non-existent data key
56 operations:
57 - name: getKeyByAltName
58 object: *clientEncryption0
59 arguments:
60 keyAltName: does_not_exist
61 expectResult: { $$unsetOrMatches: null }
62 expectEvents:
63 - client: *client0
64 events:
65 - commandStartedEvent:
66 databaseName: *database0Name
67 command:
68 find: *collection0Name
69 filter: { keyAltNames: does_not_exist }
70 readConcern: { level: majority }
71
72 - description: get existing AWS data key
73 operations:
74 - name: getKeyByAltName
75 object: *clientEncryption0
76 arguments:
77 keyAltName: aws_key
78 expectResult: *aws_key_doc
79 expectEvents:
80 - client: *client0
81 events:
82 - commandStartedEvent:
83 databaseName: *database0Name
84 command:
85 find: *collection0Name
86 filter: { keyAltNames: aws_key }
87 readConcern: { level: majority }
88
89 - description: get existing local data key
90 operations:
91 - name: getKeyByAltName
92 object: *clientEncryption0
93 arguments:
94 keyAltName: local_key
95 expectResult: *local_key_doc
96 expectEvents:
97 - client: *client0
98 events:
99 - commandStartedEvent:
100 databaseName: *database0Name
101 command:
102 find: *collection0Name
103 filter: { keyAltNames: local_key }
104 readConcern: { level: majority }
View as plain text