Skip to content

Commit 524d847

Browse files
committed
normalize EncryptionMaterials._encrypted_data_keys to list and encrypted_data_keys to tuple
1 parent f1e7f2f commit 524d847

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/aws_encryption_sdk/materials_managers/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def encrypted_data_keys(self):
243243
244244
:rtype: frozenset
245245
"""
246-
return frozenset(self._encrypted_data_keys)
246+
return tuple(self._encrypted_data_keys)
247247

248248
@property
249249
def is_complete(self):
@@ -305,7 +305,7 @@ def add_encrypted_data_key(self, encrypted_data_key, keyring_trace):
305305
if keyring_trace.wrapping_key != encrypted_data_key.key_provider:
306306
raise InvalidKeyringTraceError("Keyring trace does not match data key encryptor.")
307307

308-
self._encrypted_data_keys.add(encrypted_data_key)
308+
self._encrypted_data_keys.append(encrypted_data_key)
309309
self._keyring_trace.append(keyring_trace)
310310

311311
def add_signing_key(self, signing_key):

test/unit/test_material_managers.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@
6868
"EncryptionMaterials": dict(
6969
algorithm=ALGORITHM,
7070
data_encryption_key=_DATA_KEY,
71-
encrypted_data_keys=set([]),
71+
encrypted_data_keys=[],
7272
encryption_context={},
7373
signing_key=_SIGNING_KEY.key_bytes(),
7474
),
75-
"DecryptionMaterialsRequest": dict(algorithm=ALGORITHM, encrypted_data_keys=set([]), encryption_context={}),
75+
"DecryptionMaterialsRequest": dict(algorithm=ALGORITHM, encrypted_data_keys=[], encryption_context={}),
7676
"DecryptionMaterials": dict(
7777
data_key=_DATA_KEY, verification_key=_VERIFICATION_KEY.key_bytes(), algorithm=ALGORITHM, encryption_context={}
7878
),
@@ -143,7 +143,7 @@ def test_encryption_materials_request_attributes_defaults():
143143

144144
def test_encryption_materials_defaults():
145145
test = EncryptionMaterials(
146-
algorithm=ALGORITHM, data_encryption_key=_DATA_KEY, encrypted_data_keys=set([]), encryption_context={}
146+
algorithm=ALGORITHM, data_encryption_key=_DATA_KEY, encrypted_data_keys=[], encryption_context={}
147147
)
148148
assert test.signing_key is None
149149

@@ -229,15 +229,15 @@ def test_immutable_encrypted_data_keys():
229229
materials = EncryptionMaterials(**_VALID_KWARGS["EncryptionMaterials"])
230230

231231
with pytest.raises(AttributeError):
232-
materials.encrypted_data_keys.add(42)
232+
materials.encrypted_data_keys.append(42)
233233

234234

235235
def test_empty_encrypted_data_keys():
236236
materials = EncryptionMaterials(**_copy_and_update_kwargs("EncryptionMaterials", dict(encrypted_data_keys=_REMOVE)))
237237

238238
edks = materials.encrypted_data_keys
239239

240-
assert isinstance(edks, frozenset)
240+
assert isinstance(edks, tuple)
241241
assert not edks
242242

243243

test/unit/test_material_managers_default.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def patch_for_dcmm_encrypt(mocker):
4141
DefaultCryptoMaterialsManager._generate_signing_key_and_update_encryption_context.return_value = mock_signing_key
4242
mocker.patch.object(aws_encryption_sdk.materials_managers.default, "prepare_data_keys")
4343
mock_data_encryption_key = _DATA_KEY
44-
mock_encrypted_data_keys = set([_ENCRYPTED_DATA_KEY])
44+
mock_encrypted_data_keys = (_ENCRYPTED_DATA_KEY,)
4545
result_pair = mock_data_encryption_key, mock_encrypted_data_keys
4646
aws_encryption_sdk.materials_managers.default.prepare_data_keys.return_value = result_pair
4747
yield result_pair, mock_signing_key
@@ -165,7 +165,7 @@ def test_get_encryption_materials_primary_mk_not_in_mks(patch_for_dcmm_encrypt):
165165
cmm = build_cmm()
166166
cmm.master_key_provider.master_keys_for_encryption.return_value = (
167167
sentinel.primary_mk,
168-
set([sentinel.mk_a, sentinel.mk_b]),
168+
{sentinel.mk_a, sentinel.mk_b},
169169
)
170170

171171
with pytest.raises(MasterKeyProviderError) as excinfo:

0 commit comments

Comments
 (0)