Skip to content

Commit 1b73b4c

Browse files
author
Andres Sanchez
committed
Migrate unit/test_providers_base_master_key_provider.py from unitteest to pytest
1 parent 32cdf5b commit 1b73b4c

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

test/unit/test_providers_base_master_key_provider.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
# ANY KIND, either express or implied. See the License for the specific
1212
# language governing permissions and limitations under the License.
1313
"""Test suite for aws_encryption_sdk.key_providers.base.MasterKeyProvider"""
14-
import unittest
15-
1614
import attr
1715
import pytest
1816
import six
@@ -63,21 +61,23 @@ def test_repr():
6361
)
6462

6563

66-
class TestBaseMasterKeyProvider(unittest.TestCase):
64+
class TestBaseMasterKeyProvider(object):
6765
def test_provider_id_enforcement(self):
6866
class TestProvider(MasterKeyProvider):
6967
def _new_master_key(self, key_id):
7068
pass
7169

72-
with six.assertRaisesRegex(self, TypeError, "Can't instantiate abstract class TestProvider *"):
70+
with pytest.raises(TypeError) as excinfo:
7371
TestProvider()
72+
excinfo.match("Can't instantiate abstract class TestProvider *")
7473

7574
def test_new_master_key_enforcement(self):
7675
class TestProvider(MasterKeyProvider):
7776
provider_id = None
7877

79-
with six.assertRaisesRegex(self, TypeError, "Can't instantiate abstract class TestProvider *"):
78+
with pytest.raises(TypeError) as excinfo:
8079
TestProvider()
80+
excinfo.match("Can't instantiate abstract class TestProvider *")
8181

8282
def test_master_keys_for_encryption(self):
8383
mock_master_key_a = MagicMock()
@@ -124,12 +124,13 @@ def test_master_keys_for_encryption_no_master_keys(self):
124124
mock_master_key_provider = MockMasterKeyProvider(
125125
provider_id=sentinel.provider_id, mock_new_master_key=sentinel.new_master_key
126126
)
127-
with six.assertRaisesRegex(self, MasterKeyProviderError, "No Master Keys available from Master Key Provider"):
127+
with pytest.raises(MasterKeyProviderError) as excinfo:
128128
mock_master_key_provider.master_keys_for_encryption(
129129
encryption_context=sentinel.encryption_context,
130130
plaintext_rostream=sentinel.plaintext_rostream,
131131
plaintext_length=sentinel.plaintext_length,
132132
)
133+
excinfo.match("No Master Keys available from Master Key Provider")
133134

134135
def test_add_master_keys_from_list(self):
135136
mock_master_key_provider = MockMasterKeyProvider(
@@ -305,12 +306,13 @@ def test_decrypt_data_key_unsuccessful_no_matching_members(self):
305306
provider_id=sentinel.provider_id, mock_new_master_key=mock_master_key
306307
)
307308
mock_master_key_provider._members = [mock_member]
308-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
309+
with pytest.raises(DecryptKeyError) as excinfo:
309310
mock_master_key_provider.decrypt_data_key(
310311
encrypted_data_key=mock_encrypted_data_key,
311312
algorithm=sentinel.algorithm,
312313
encryption_context=sentinel.encryption_context,
313314
)
315+
excinfo.match("Unable to decrypt data key")
314316

315317
def test_decrypt_data_key_unsuccessful_matching_provider_invalid_key_id(self):
316318
mock_encrypted_data_key = MagicMock()
@@ -323,12 +325,13 @@ def test_decrypt_data_key_unsuccessful_matching_provider_invalid_key_id(self):
323325
with patch.object(
324326
mock_master_key_provider, "master_key_for_decrypt", new_callable=PropertyMock, side_effect=InvalidKeyIdError
325327
) as mock_master_key:
326-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
328+
with pytest.raises(DecryptKeyError) as excinfo:
327329
mock_master_key_provider.decrypt_data_key(
328330
encrypted_data_key=mock_encrypted_data_key,
329331
algorithm=sentinel.algorithm,
330332
encryption_context=sentinel.encryption_context,
331333
)
334+
excinfo.match("Unable to decrypt data key")
332335
mock_master_key.assert_called_once_with(sentinel.key_info)
333336

334337
def test_decrypt_data_key_unsuccessful_no_matching_members_no_vend(self):
@@ -340,12 +343,13 @@ def test_decrypt_data_key_unsuccessful_no_matching_members_no_vend(self):
340343
mock_master_key_provider = MockMasterKeyProviderNoVendOnDecrypt(provider_id=sentinel.provider_id)
341344
mock_master_key_provider._members = [mock_member]
342345
mock_master_key_provider.master_key_for_decrypt = MagicMock()
343-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
346+
with pytest.raises(DecryptKeyError) as excinfo:
344347
mock_master_key_provider.decrypt_data_key(
345348
encrypted_data_key=mock_encrypted_data_key,
346349
algorithm=sentinel.algorithm,
347350
encryption_context=sentinel.encryption_context,
348351
)
352+
excinfo.match("Unable to decrypt data key")
349353
assert not mock_master_key_provider.master_key_for_decrypt.called
350354

351355
def test_decrypt_data_key_unsuccessful_invalid_key_info(self):
@@ -359,12 +363,13 @@ def test_decrypt_data_key_unsuccessful_invalid_key_info(self):
359363
provider_id=sentinel.provider_id_2, mock_new_master_key=sentinel.new_master_key
360364
)
361365
mock_master_key_provider._members = [mock_member]
362-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
366+
with pytest.raises(DecryptKeyError) as excinfo:
363367
mock_master_key_provider.decrypt_data_key(
364368
encrypted_data_key=mock_encrypted_data_key,
365369
algorithm=sentinel.algorithm,
366370
encryption_context=sentinel.encryption_context,
367371
)
372+
excinfo.match("Unable to decrypt data key")
368373

369374
def test_decrypt_data_key_unsuccessful_incorrect_master_key(self):
370375
mock_member = MagicMock()
@@ -379,12 +384,13 @@ def test_decrypt_data_key_unsuccessful_incorrect_master_key(self):
379384
provider_id=sentinel.provider_id_2, mock_new_master_key=sentinel.new_master_key
380385
)
381386
mock_master_key_provider._members = [mock_member]
382-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
387+
with pytest.raises(DecryptKeyError) as excinfo:
383388
mock_master_key_provider.decrypt_data_key(
384389
encrypted_data_key=mock_encrypted_data_key,
385390
algorithm=sentinel.algorithm,
386391
encryption_context=sentinel.encryption_context,
387392
)
393+
excinfo.match("Unable to decrypt data key")
388394

389395
def test_decrypt_data_key_unsuccessful_master_key_decryt_error(self):
390396
mock_member = MagicMock()
@@ -401,24 +407,26 @@ def test_decrypt_data_key_unsuccessful_master_key_decryt_error(self):
401407
provider_id=sentinel.provider_id, mock_new_master_key=mock_master_key
402408
)
403409
mock_master_key_provider._members = [mock_member]
404-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
410+
with pytest.raises(DecryptKeyError) as excinfo:
405411
mock_master_key_provider.decrypt_data_key(
406412
encrypted_data_key=mock_encrypted_data_key,
407413
algorithm=sentinel.algorithm,
408414
encryption_context=sentinel.encryption_context,
409415
)
416+
excinfo.match("Unable to decrypt data key")
410417

411418
def test_decrypt_data_key_unsuccessful_no_members(self):
412419
mock_master_key_provider = MockMasterKeyProvider(
413420
provider_id=sentinel.provider_id, mock_new_master_key=sentinel.new_master_key
414421
)
415422
mock_master_key_provider._members = []
416-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt data key"):
423+
with pytest.raises(DecryptKeyError) as excinfo:
417424
mock_master_key_provider.decrypt_data_key(
418425
encrypted_data_key=MagicMock(),
419426
algorithm=sentinel.algorithm,
420427
encryption_context=sentinel.encryption_context,
421428
)
429+
excinfo.match("Unable to decrypt data key")
422430

423431
def test_decrypt_data_key_from_list_first_try(self):
424432
mock_decrypt_data_key = MagicMock()
@@ -463,9 +471,10 @@ def test_decrypt_data_key_from_list_unsuccessful(self):
463471
)
464472
mock_master_key_provider.decrypt_data_key = MagicMock()
465473
mock_master_key_provider.decrypt_data_key.side_effect = (DecryptKeyError, DecryptKeyError)
466-
with six.assertRaisesRegex(self, DecryptKeyError, "Unable to decrypt any data key"):
474+
with pytest.raises(DecryptKeyError) as excinfo:
467475
mock_master_key_provider.decrypt_data_key_from_list(
468476
encrypted_data_keys=[sentinel.encrypted_data_key_a, sentinel.encrypted_data_key_b],
469477
algorithm=sentinel.algorithm,
470478
encryption_context=sentinel.encryption_context,
471479
)
480+
excinfo.match("Unable to decrypt any data key")

0 commit comments

Comments
 (0)