@@ -104,10 +104,7 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
104
104
var expectedHead := CreatePartialHeader (testVersion, testFlavor, testMsgID, testLegend, testEncContext, [testAwsKmsHDataKey]);
105
105
var serializedHeader := expectedHead. serialize () + expectedHead. msgID;
106
106
107
- expect EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Success?;
108
- var providerWrappedMaterial := EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Extract ();
109
- expect |providerWrappedMaterial| >= (16 + 12 + 16);
110
- var expectedBranchKeyVersionUuid := UUID. FromByteArray (providerWrappedMaterial[16 + 12 .. (16 + 12 + 16)]);
107
+ var expectedBranchKeyVersion := getBranchKeyVersion (expectedHead);
111
108
var ddbEncResources :- expect DynamoDbEncryption. DynamoDbEncryption ();
112
109
113
110
var inputVariable: Types. GetEncryptedDataKeyDescriptionInput :=
@@ -117,7 +114,6 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
117
114
118
115
var actualDataKeyDescription := ddbEncResources. GetEncryptedDataKeyDescription (inputVariable);
119
116
120
- expect expectedBranchKeyVersionUuid. Success?;
121
117
expect UTF8. Decode (expectedHead.dataKeys[0].keyProviderId). Success?;
122
118
expect UTF8. Decode (expectedHead.dataKeys[0].keyProviderInfo). Success?;
123
119
expect actualDataKeyDescription. Success?;
@@ -134,7 +130,7 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
134
130
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Some?;
135
131
136
132
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyId. Extract () == UTF8. Decode (expectedHead.dataKeys[0].keyProviderInfo). Extract ();
137
- expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Extract () == expectedBranchKeyVersionUuid . Extract () ;
133
+ expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Extract () == expectedBranchKeyVersion ;
138
134
}
139
135
}
140
136
@@ -223,24 +219,17 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
223
219
var expectedHead := CreatePartialHeader (testVersion, testFlavor, testMsgID, testLegend, testEncContext, [testAwsKmsHDataKey]);
224
220
var serializedHeader := expectedHead. serialize () + expectedHead. msgID;
225
221
226
- expect EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Success?;
227
- var providerWrappedMaterial := EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Extract ();
228
-
229
- expect |providerWrappedMaterial| >= (28 + 16);
230
-
231
- var expectedBranchKeyVersionUuid := UUID. FromByteArray (providerWrappedMaterial[28 .. (28 + 16)]);
222
+ var expectedBranchKeyVersion := getBranchKeyVersion (expectedHead);
232
223
var attr := map ["aws_dbe_head" := ComAmazonawsDynamodbTypes. AttributeValue. B (serializedHeader)];
233
224
var ddbEncResources :- expect DynamoDbEncryption. DynamoDbEncryption ();
234
225
235
-
236
226
var inputVariable: Types. GetEncryptedDataKeyDescriptionInput :=
237
227
Types. GetEncryptedDataKeyDescriptionInput (
238
228
input := Types.plaintextItem(plaintextItem := attr)
239
229
);
240
230
241
231
var actualDataKeyDescription := ddbEncResources. GetEncryptedDataKeyDescription (inputVariable);
242
232
243
- expect expectedBranchKeyVersionUuid. Success?;
244
233
expect UTF8. Decode (expectedHead.dataKeys[0].keyProviderId). Success?;
245
234
expect UTF8. Decode (expectedHead.dataKeys[0].keyProviderInfo). Success?;
246
235
expect actualDataKeyDescription. Success?;
@@ -257,7 +246,7 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
257
246
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Some?;
258
247
259
248
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyId. Extract () == UTF8. Decode (expectedHead.dataKeys[0].keyProviderInfo). Extract ();
260
- expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Extract () == expectedBranchKeyVersionUuid . Extract () ;
249
+ expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. branchKeyVersion. Extract () == expectedBranchKeyVersion ;
261
250
}
262
251
}
263
252
@@ -316,4 +305,19 @@ module DynamoDbGetEncryptedDataKeyDescriptionTest {
316
305
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. keyProviderInfo. Some?;
317
306
expect actualDataKeyDescription. Extract (). EncryptedDataKeyDescriptionOutput[0]. keyProviderInfo. Extract () == UTF8. Decode (expectedHead.dataKeys[0].keyProviderInfo). Extract ();
318
307
}
308
+
309
+ method getBranchKeyVersion (expectedHead : PartialHeader )
310
+ returns (expectedBranchKeyVersion : string )
311
+ {
312
+ expect EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Success?;
313
+ var providerWrappedMaterial := EdkWrapping. GetProviderWrappedMaterial (expectedHead.dataKeys[0].ciphertext, algorithmSuite). Extract ();
314
+
315
+ expect |providerWrappedMaterial| >= (28 + 16);
316
+
317
+ var expectedBranchKeyVersionResult := UUID. FromByteArray (providerWrappedMaterial[28 .. (28 + 16)]);
318
+
319
+ expect expectedBranchKeyVersionResult. Success?;
320
+
321
+ expectedBranchKeyVersion := expectedBranchKeyVersionResult. Extract ();
322
+ }
319
323
}
0 commit comments