@@ -76,16 +76,17 @@ def test_GIVEN_invalid_mpl_cmm_WHEN_create_CryptoMaterialsManagerFromMPL_THEN_ra
76
76
77
77
78
78
@patch .object (mock_mpl_cmm , "get_encryption_materials" )
79
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._native_to_mpl_get_encryption_materials" )
79
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
80
+ "._native_to_mpl_get_encryption_materials" )
80
81
def test_GIVEN_valid_request_WHEN_get_encryption_materials_THEN_return_EncryptionMaterialsFromMPL (
81
82
mock_native_to_mpl_get_encryption_materials ,
82
83
mock_get_encryption_materials ,
83
84
):
84
-
85
+
85
86
# Given: _native_to_mpl_get_encryption_materials creates a MPL_GetEncryptionMaterialsInput
86
87
mock_get_encryption_materials_input = MagicMock (__class__ = MPL_GetEncryptionMaterialsInput )
87
88
mock_native_to_mpl_get_encryption_materials .return_value = mock_get_encryption_materials_input
88
-
89
+
89
90
# Given: mpl_cmm.get_encryption_materials returns mock MPL encryption materials
90
91
mock_get_encryption_materials_output = MagicMock (__class__ = MPL_GetEncryptionMaterialsOutput )
91
92
mock_get_encryption_materials_output .encryption_materials = mock_mpl_encryption_materials
@@ -104,29 +105,34 @@ def test_GIVEN_valid_request_WHEN_get_encryption_materials_THEN_return_Encryptio
104
105
mock_mpl_cmm .get_encryption_materials .assert_called_once_with (mock_get_encryption_materials_input )
105
106
106
107
107
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._native_to_mpl_commmitment_policy" )
108
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
109
+ "._native_to_mpl_commmitment_policy" )
108
110
def test_GIVEN_mpl_cmm_raises_MPLException_WHEN_get_encryption_materials_THEN_raise_ESDKException (
109
111
_
110
112
):
111
113
# Then: Raises AWSEncryptionSDKClientError
112
114
with pytest .raises (AWSEncryptionSDKClientError ):
113
115
# Given: mpl_cmm.get_encryption_materials raises MPL exception
114
116
with patch .object (mock_mpl_cmm , "get_encryption_materials" ,
115
- side_effect = AwsCryptographicMaterialProvidersException ("any" )):
117
+ side_effect = AwsCryptographicMaterialProvidersException ("any" )):
116
118
# When: get_encryption_materials
117
119
cmm = CryptoMaterialsManagerFromMPL (mpl_cmm = mock_mpl_cmm )
118
120
cmm .get_encryption_materials (mock_encryption_materials_request )
119
121
120
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._native_to_mpl_commmitment_policy" )
121
- def test_GIVEN_valid_mpl_commitment_policy_WHEN_native_to_mpl_get_encryption_materials_THEN_returns_MPL_GetEncryptionMaterialsInput (
122
+
123
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
124
+ "._native_to_mpl_commmitment_policy" )
125
+ def test_GIVEN_valid_mpl_commitment_policy_WHEN_native_to_mpl_get_encryption_materials_THEN_returns_MPL_GetEncryptionMaterialsInput ( # noqa: E501
122
126
mock_mpl_commitment_policy
123
127
):
124
128
# Given: commitment policy is some MPL ESDK commitment policy
125
129
mock_commitment_policy = MagicMock (__class__ = MPL_CommitmentPolicyESDK )
126
130
mock_mpl_commitment_policy .return_value = mock_commitment_policy
127
131
128
132
# When: _native_to_mpl_get_encryption_materials
129
- output = CryptoMaterialsManagerFromMPL ._native_to_mpl_get_encryption_materials (mock_encryption_materials_request )
133
+ output = CryptoMaterialsManagerFromMPL ._native_to_mpl_get_encryption_materials (
134
+ mock_encryption_materials_request
135
+ )
130
136
131
137
# Then: returned MPL_GetEncryptionMaterialsInput is correct
132
138
assert isinstance (output , MPL_GetEncryptionMaterialsInput )
@@ -135,7 +141,7 @@ def test_GIVEN_valid_mpl_commitment_policy_WHEN_native_to_mpl_get_encryption_mat
135
141
assert output .max_plaintext_length == mock_encryption_materials_request .plaintext_length
136
142
137
143
138
- def test_GIVEN_CommitmentPolicy_FORBID_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_FORBID_ENCRYPT_ALLOW_DECRYPT ():
144
+ def test_GIVEN_CommitmentPolicy_FORBID_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_FORBID_ENCRYPT_ALLOW_DECRYPT (): # noqa: E501
139
145
# Given: native FORBID_ENCRYPT_ALLOW_DECRYPT
140
146
native_commitment_policy = CommitmentPolicy .FORBID_ENCRYPT_ALLOW_DECRYPT
141
147
@@ -146,7 +152,8 @@ def test_GIVEN_CommitmentPolicy_FORBID_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl_
146
152
assert isinstance (output , MPL_CommitmentPolicyESDK )
147
153
assert output .value == "FORBID_ENCRYPT_ALLOW_DECRYPT"
148
154
149
- def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_REQUIRE_ENCRYPT_ALLOW_DECRYPT ():
155
+
156
+ def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_REQUIRE_ENCRYPT_ALLOW_DECRYPT (): # noqa: E501
150
157
# Given: native REQUIRE_ENCRYPT_ALLOW_DECRYPT
151
158
native_commitment_policy = CommitmentPolicy .REQUIRE_ENCRYPT_ALLOW_DECRYPT
152
159
@@ -157,7 +164,8 @@ def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_ALLOW_DECRYPT_WHEN_native_to_mpl
157
164
assert isinstance (output , MPL_CommitmentPolicyESDK )
158
165
assert output .value == "REQUIRE_ENCRYPT_ALLOW_DECRYPT"
159
166
160
- def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_REQUIRE_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_REQUIRE_ENCRYPT_REQUIRE_DECRYPT ():
167
+
168
+ def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_REQUIRE_DECRYPT_WHEN_native_to_mpl_commmitment_policy_THEN_returns_MPL_CommitmentPolicyESDK_REQUIRE_ENCRYPT_REQUIRE_DECRYPT (): # noqa: E501
161
169
# Given: native REQUIRE_ENCRYPT_REQUIRE_DECRYPT
162
170
native_commitment_policy = CommitmentPolicy .REQUIRE_ENCRYPT_REQUIRE_DECRYPT
163
171
@@ -168,6 +176,7 @@ def test_GIVEN_CommitmentPolicy_REQUIRE_ENCRYPT_REQUIRE_DECRYPT_WHEN_native_to_m
168
176
assert isinstance (output , MPL_CommitmentPolicyESDK )
169
177
assert output .value == "REQUIRE_ENCRYPT_REQUIRE_DECRYPT"
170
178
179
+
171
180
def test_GIVEN_CommitmentPolicy_unrecognized_WHEN_native_to_mpl_commmitment_policy_THEN_raise_ValueError ():
172
181
# Given: invalid native commitment policy
173
182
native_commitment_policy = "not a commitment policy"
@@ -177,13 +186,14 @@ def test_GIVEN_CommitmentPolicy_unrecognized_WHEN_native_to_mpl_commmitment_poli
177
186
# When: _native_to_mpl_commmitment_policy
178
187
CryptoMaterialsManagerFromMPL ._native_to_mpl_commmitment_policy (native_commitment_policy )
179
188
189
+
180
190
@patch .object (mock_mpl_cmm , "decrypt_materials" )
181
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._create_mpl_decrypt_materials_input_from_request" )
191
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
192
+ "._create_mpl_decrypt_materials_input_from_request" )
182
193
def test_GIVEN_valid_request_WHEN_decrypt_materials_THEN_return_DecryptionMaterialsFromMPL (
183
194
mock_native_to_mpl_decrypt_materials ,
184
195
mock_get_encryption_materials ,
185
196
):
186
-
187
197
# Given: mpl_cmm.get_decryption_materials returns mock MPL decryption materials
188
198
mock_decrypt_materials_output = MagicMock (__class__ = MPL_GetEncryptionMaterialsOutput )
189
199
mock_decrypt_materials_output .decryption_materials = mock_mpl_decrypt_materials
@@ -205,20 +215,23 @@ def test_GIVEN_valid_request_WHEN_decrypt_materials_THEN_return_DecryptionMateri
205
215
# Verify we actually called `decrypt_materials`
206
216
mock_mpl_cmm .decrypt_materials .assert_called_once_with (mock_decrypt_materials_input )
207
217
208
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._create_mpl_decrypt_materials_input_from_request" )
218
+
219
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
220
+ "._create_mpl_decrypt_materials_input_from_request" )
209
221
def test_GIVEN_decrypt_materials_raises_MPL_Exception_WHEN_call_decrypt_materials_THEN_raise_ESDK_Exception (
210
222
_
211
223
):
212
224
# Then: Raises AWSEncryptionSDKClientError
213
225
with pytest .raises (AWSEncryptionSDKClientError ):
214
226
# Given: mpl_cmm.decrypt_materials raises MPL exception
215
227
with patch .object (mock_mpl_cmm , "decrypt_materials" ,
216
- side_effect = AwsCryptographicMaterialProvidersException ("any" )):
228
+ side_effect = AwsCryptographicMaterialProvidersException ("any" )):
217
229
# When: decrypt_materials
218
230
cmm = CryptoMaterialsManagerFromMPL (mpl_cmm = mock_mpl_cmm )
219
231
cmm .decrypt_materials (mock_decryption_materials_request )
220
232
221
- def test_GIVEN_valid_native_algorithm_id_WHEN_native_algorithm_id_to_mpl_algorithm_id_THEN_returns_valid_MPL_AlgorithmSuiteIdESDK ():
233
+
234
+ def test_GIVEN_valid_native_algorithm_id_WHEN_native_algorithm_id_to_mpl_algorithm_id_THEN_returns_valid_MPL_AlgorithmSuiteIdESDK (): # noqa: E501
222
235
# Given: any native algorithm ID
223
236
some_native_algorithm_id = 0x1234 # Not a real algorithm ID, but fits the format
224
237
@@ -231,9 +244,12 @@ def test_GIVEN_valid_native_algorithm_id_WHEN_native_algorithm_id_to_mpl_algorit
231
244
assert isinstance (mpl_output , MPL_AlgorithmSuiteIdESDK )
232
245
assert mpl_output .value == "0x1234"
233
246
234
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._native_algorithm_id_to_mpl_algorithm_id" )
235
- @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL._native_to_mpl_commmitment_policy" )
236
- def test_GIVEN_valid_request_WHEN_create_mpl_decrypt_materials_input_from_request_THEN_returns_MPL_MPL_DecryptMaterialsInput (
247
+
248
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
249
+ "._native_algorithm_id_to_mpl_algorithm_id" )
250
+ @patch ("aws_encryption_sdk.materials_managers.mpl.cmm.CryptoMaterialsManagerFromMPL"
251
+ "._native_to_mpl_commmitment_policy" )
252
+ def test_GIVEN_valid_request_WHEN_create_mpl_decrypt_materials_input_from_request_THEN_returns_MPL_MPL_DecryptMaterialsInput ( # noqa: E501
237
253
mock_mpl_commitment_policy ,
238
254
mock_mpl_algorithm_id ,
239
255
):
@@ -245,17 +261,19 @@ def test_GIVEN_valid_request_WHEN_create_mpl_decrypt_materials_input_from_reques
245
261
mock_commitment_policy = MagicMock (__class__ = MPL_CommitmentPolicyESDK )
246
262
mock_mpl_commitment_policy .return_value = mock_commitment_policy
247
263
248
- no_mock_edks = [ mock_edk ]
249
- one_mock_edk = [ mock_edk ]
250
- two_mock_edks = [ mock_edk , mock_edk ]
264
+ no_mock_edks = [mock_edk ]
265
+ one_mock_edk = [mock_edk ]
266
+ two_mock_edks = [mock_edk , mock_edk ]
251
267
252
268
# Given: ESK lists of various lengths
253
- for mock_edks in [ no_mock_edks , one_mock_edk , two_mock_edks ]:
269
+ for mock_edks in [no_mock_edks , one_mock_edk , two_mock_edks ]:
254
270
255
271
mock_decryption_materials_request .encrypted_data_keys = mock_edks
256
272
257
273
# When: _create_mpl_decrypt_materials_input_from_request
258
- output = CryptoMaterialsManagerFromMPL ._create_mpl_decrypt_materials_input_from_request (mock_decryption_materials_request )
274
+ output = CryptoMaterialsManagerFromMPL ._create_mpl_decrypt_materials_input_from_request (
275
+ mock_decryption_materials_request
276
+ )
259
277
260
278
# Then:
261
279
# Verify general correctness of output structure
@@ -273,4 +291,4 @@ def test_GIVEN_valid_request_WHEN_create_mpl_decrypt_materials_input_from_reques
273
291
input_edk = mock_edks [i ]
274
292
assert output_edk .key_provider_id == input_edk .key_provider .provider_id
275
293
assert output_edk .key_provider_info == input_edk .key_provider .key_info
276
- assert output_edk .ciphertext == input_edk .encrypted_data_key
294
+ assert output_edk .ciphertext == input_edk .encrypted_data_key
0 commit comments