Skip to content

Commit 2fad8a0

Browse files
authored
Upgrade tests to use python 3.6+ syntax (#249)
1 parent 030e8f6 commit 2fad8a0

12 files changed

+52
-56
lines changed

tests/algorithms/test_AES.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@
2020
# https://tools.ietf.org/html/rfc3394#section-2.2.3.1
2121
VECTORS = (
2222
(ALGORITHMS.A128KW,
23-
six.ensure_binary("00112233445566778899AABBCCDDEEFF"),
24-
six.ensure_binary("000102030405060708090A0B0C0D0E0F"),
25-
six.ensure_binary("1FA68B0A8112B447AEF34BD8FB5A7B829D3E862371D2CFE5")),
23+
b"00112233445566778899AABBCCDDEEFF",
24+
b"000102030405060708090A0B0C0D0E0F",
25+
b"1FA68B0A8112B447AEF34BD8FB5A7B829D3E862371D2CFE5"),
2626
(ALGORITHMS.A192KW,
27-
six.ensure_binary("00112233445566778899AABBCCDDEEFF0001020304050607"),
28-
six.ensure_binary("000102030405060708090A0B0C0D0E0F1011121314151617"),
29-
six.ensure_binary("031D33264E15D33268F24EC260743EDCE1C6C7DDEE725A936BA814915C6762D2")),
27+
b"00112233445566778899AABBCCDDEEFF0001020304050607",
28+
b"000102030405060708090A0B0C0D0E0F1011121314151617",
29+
b"031D33264E15D33268F24EC260743EDCE1C6C7DDEE725A936BA814915C6762D2"),
3030
(ALGORITHMS.A256KW,
31-
six.ensure_binary("00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F"),
32-
six.ensure_binary("000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"),
33-
six.ensure_binary("28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21")),
31+
b"00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F",
32+
b"000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F",
33+
b"28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21"),
3434
)
3535

3636

tests/algorithms/test_AES_compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
@pytest.mark.skipif(CryptographyAESKey is None,
1818
reason="Multiple crypto backends not available for backend compatibility tests"
1919
)
20-
class TestBackendAesCompatibility(object):
20+
class TestBackendAesCompatibility:
2121
@pytest.mark.parametrize("backend_decrypt", CRYPTO_BACKENDS)
2222
@pytest.mark.parametrize("backend_encrypt", CRYPTO_BACKENDS)
2323
@pytest.mark.parametrize("algorithm", ALGORITHMS.AES_PSEUDO)

tests/algorithms/test_EC_compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
None in (ECDSAECKey, CryptographyECKey),
1616
reason="Multiple crypto backends not available for backend compatibility tests"
1717
)
18-
class TestBackendEcdsaCompatibility(object):
18+
class TestBackendEcdsaCompatibility:
1919

2020
@pytest.mark.parametrize("BackendSign", [ECDSAECKey, CryptographyECKey])
2121
@pytest.mark.parametrize("BackendVerify", [ECDSAECKey, CryptographyECKey])

tests/algorithms/test_HMAC_compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
CryptographyHMACKey is None,
2222
reason="Multiple crypto backends not available for backend compatibility tests"
2323
)
24-
class TestBackendAesCompatibility(object):
24+
class TestBackendAesCompatibility:
2525
@pytest.mark.parametrize("backend_sign", CRYPTO_BACKENDS)
2626
@pytest.mark.parametrize("backend_verify", CRYPTO_BACKENDS)
2727
@pytest.mark.parametrize("algorithm", SUPPORTED_ALGORITHMS)

tests/algorithms/test_RSA.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def _actually_invalid_private_key_pkcs8_pem():
191191

192192

193193
@pytest.mark.skipif(PurePythonRSAKey is None, reason="python-rsa backend not available")
194-
class TestPurePythonRsa(object):
194+
class TestPurePythonRsa:
195195

196196
def test_python_rsa_legacy_pem_read(self):
197197
key = PurePythonRSAKey(LEGACY_INVALID_PRIVATE_KEY_PKCS8_PEM, ALGORITHMS.RS256)

tests/algorithms/test_RSA_compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
None in (PurePythonRSAKey, CryptographyRSAKey),
2323
reason="Multiple crypto backends not available for backend compatibility tests"
2424
)
25-
class TestBackendRsaCompatibility(object):
25+
class TestBackendRsaCompatibility:
2626

2727
@pytest.mark.parametrize("BackendSign", CRYPTO_BACKENDS)
2828
@pytest.mark.parametrize("BackendVerify", CRYPTO_BACKENDS)

tests/rfc/test_rfc7520.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Disable flake8 reporting
32
# flake8: noqa
43

tests/test_firebase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import json
32

43
import pytest

tests/test_jwe.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@
7474
OCT_512_BIT_KEY = b"\x04\xd3\x1f\xc5T\x9d\xfc\xfe\x0bd\x9d\xfa?\xaaj\xcek|\xd4-ok\t\xdb\xc8\xb1\x00\xf0\x8f\x9c,\xcf\x04\xd3\x1f\xc5T\x9d\xfc\xfe\x0bd\x9d\xfa?\xaaj\xcek|\xd4-ok\t\xdb\xc8\xb1\x00\xf0\x8f\x9c,\xcf"
7575

7676

77-
class TestGetUnverifiedHeader(object):
77+
class TestGetUnverifiedHeader:
7878

7979
def test_valid_header_and_auth_tag(self):
80-
expected_header = {u"alg": u"RSA1_5", u"enc": u"A128CBC-HS256"}
80+
expected_header = {"alg": "RSA1_5", "enc": "A128CBC-HS256"}
8181
jwe_str = "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0." \
8282
"UGhIOguC7IuEvf_NPVaXsGMoLOmwvc1GyqlIKOK1nN94nHPoltGRhWhw7" \
8383
"Zx0-kFm1NJn8LE9XShH59_i8J0PH5ZZyNfGy2xGdULU7sHNF6Gp2vPLgN" \
@@ -113,7 +113,7 @@ def test_non_json_header_section_raises_jwe_parse_error(self):
113113
jwe.get_unverified_header(jwe_str)
114114

115115
def test_wrong_auth_tag_is_ignored(self):
116-
expected_header = {u"alg": u"RSA1_5", u"enc": u"A128CBC-HS256"}
116+
expected_header = {"alg": "RSA1_5", "enc": "A128CBC-HS256"}
117117
jwe_str = "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0." \
118118
"UGhIOguC7IuEvf_NPVaXsGMoLOmwvc1GyqlIKOK1nN94nHPoltGRhWhw7" \
119119
"Zx0-kFm1NJn8LE9XShH59_i8J0PH5ZZyNfGy2xGdULU7sHNF6Gp2vPLgN" \
@@ -131,7 +131,7 @@ def test_wrong_auth_tag_is_ignored(self):
131131

132132
@pytest.mark.skipif(AESKey is None, reason="Test requires AES Backend")
133133
@pytest.mark.skipif(RSAKey is RSABackendRSAKey, reason="RSA Backend does not support all modes")
134-
class TestDecrypt(object):
134+
class TestDecrypt:
135135

136136
JWE_RSA_PACKAGES = (
137137
pytest.param(
@@ -353,7 +353,7 @@ def test_non_json_header_is_parse_error(self):
353353
jwe.decrypt(jwe_str, "key")
354354

355355

356-
class TestEncrypt(object):
356+
class TestEncrypt:
357357

358358
@pytest.mark.skipif(AESKey is None, reason="No AES backend")
359359
def test_rfc7516_appendix_b_direct(self, monkeypatch):
@@ -398,7 +398,7 @@ def test_encrypt_decrypt_aes_kw(self, alg, enc, zip):
398398
elif alg == ALGORITHMS.A256KW:
399399
key = OCT_256_BIT_KEY
400400
else:
401-
pytest.fail("I don't know how to handle enc {}".format(alg))
401+
pytest.fail(f"I don't know how to handle enc {alg}")
402402
expected = b"Live long and prosper."
403403
jwe_value = jwe.encrypt(expected[:], key, enc, alg, zip)
404404
actual = jwe.decrypt(jwe_value, key)
@@ -419,7 +419,7 @@ def test_encrypt_decrypt_dir_kw(self, enc, zip):
419419
elif enc == ALGORITHMS.A256CBC_HS512:
420420
key = OCT_512_BIT_KEY
421421
else:
422-
pytest.fail("I don't know how to handle enc {}".format(enc))
422+
pytest.fail(f"I don't know how to handle enc {enc}")
423423
expected = b"Live long and prosper."
424424
jwe_value = jwe.encrypt(expected[:], key, enc, ALGORITHMS.DIR, zip)
425425
actual = jwe.decrypt(jwe_value, key)

tests/test_jws.py

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ def payload():
2121
return payload
2222

2323

24-
class TestJWS(object):
24+
class TestJWS:
2525

2626
def test_unicode_token(self):
27-
token = u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'
27+
token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'
2828
jws.verify(token, 'secret', ['HS256'])
2929

3030
def test_multiple_keys(self):
@@ -44,7 +44,7 @@ def raise_exception(self, msg, sig):
4444
jwk.HMACKey.verify = old_jwk_verify
4545

4646
def test_invalid_algorithm(self):
47-
token = u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'
47+
token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'
4848
with pytest.raises(JWSError):
4949
jws.verify(token, 'secret', [None])
5050

@@ -89,15 +89,15 @@ def test_round_trip_with_different_key_types(self, key):
8989
assert verified_data['testkey'] == 'testvalue'
9090

9191

92-
class TestJWK(object):
92+
class TestJWK:
9393
def test_jwk(self, payload):
9494
key_data = 'key'
9595
key = jwk.construct(key_data, algorithm='HS256')
9696
token = jws.sign(payload, key, algorithm=ALGORITHMS.HS256)
9797
assert jws.verify(token, key_data, ALGORITHMS.HS256) == payload
9898

9999

100-
class TestHMAC(object):
100+
class TestHMAC:
101101

102102
def testHMAC256(self, payload):
103103
token = jws.sign(payload, 'secret', algorithm=ALGORITHMS.HS256)
@@ -212,24 +212,24 @@ def test_add_headers(self, payload):
212212

213213
@pytest.fixture
214214
def jwk_set():
215-
return {u'keys': [{u'alg': u'RS256',
216-
u'e': u'AQAB',
217-
u'kid': u'40aa42edac0614d7ca3f57f97ee866cdfba3b61a',
218-
u'kty': u'RSA',
219-
u'n': u'6lm9AEGLPFpVqnfeVFuTIZsj7vz_kxla6uW1WWtosM_MtIjXkyyiSolxiSOs3bzG66iVm71023QyOzKYFbio0hI-yZauG3g9nH-zb_AHScsjAKagHtrHmTdtq0JcNkQnAaaUwxVbjwMlYAcOh87W5jWj_MAcPvc-qjy8-WJ81UgoOUZNiKByuF4-9igxKZeskGRXuTPX64kWGBmKl-tM7VnCGMKoK3m92NPrktfBoNN_EGGthNfQsKFUdQFJFtpMuiXp9Gib7dcMGabxcG2GUl-PU086kPUyUdUYiMN2auKSOxSUZgDjT7DcI8Sn8kdQ0-tImaHi54JNa1PNNdKRpw',
220-
u'use': u'sig'},
221-
{u'alg': u'RS256',
222-
u'e': u'AQAB',
223-
u'kid': u'8fbbeea40332d2c0d27e37e1904af29b64594e57',
224-
u'kty': u'RSA',
225-
u'n': u'z7h6_rt35-j6NV2iQvYIuR3xvsxmEImgMl8dc8CFl4SzEWrry3QILajKxQZA9YYYfXIcZUG_6R6AghVMJetNIl2AhCoEr3RQjjNsm9PE6h5p2kQ-zIveFeb__4oIkVihYtxtoYBSdVj69nXLUAJP2bxPfU8RDp5X7hT62pKR05H8QLxH8siIQ5qR2LGFw_dJcitAVRRQofuaj_9u0CLZBfinqyRkBc7a0zi7pBxtEiIbn9sRr8Kkb_Boap6BHbnLS-YFBVarcgFBbifRf7NlK5dqE9z4OUb-dx8wCMRIPVAx_hV4Qx2anTgp1sDA6V4vd4NaCOZX-mSctNZqQmKtNw',
226-
u'use': u'sig'},
227-
{u'alg': u'RS256',
228-
u'e': u'AQAB',
229-
u'kid': u'6758b0b8eb341e90454860432d6a1648bf4de03b',
230-
u'kty': u'RSA',
231-
u'n': u'5K0rYaA7xtqSe1nFn_nCA10uUXY81NcohMeFsYLbBlx_NdpsmbpgtXJ6ektYR7rUdtMMLu2IONlNhkWlx-lge91okyacUrWHP88PycilUE-RnyVjbPEm3seR0VefgALfN4y_e77ljq2F7W2_kbUkTvDzriDIWvQT0WwVF5FIOBydfDDs92S-queaKgLBwt50SXJCZryLew5ODrwVsFGI4Et6MLqjS-cgWpCNwzcRqjBRsse6DXnex_zSRII4ODzKIfX4qdFBKZHO_BkTsK9DNkUayrr9cz8rFRK6TEH6XTVabgsyd6LP6PTxhpiII_pTYRSWk7CGMnm2nO0dKxzaFQ',
232-
u'use': u'sig'}]}
215+
return {'keys': [{'alg': 'RS256',
216+
'e': 'AQAB',
217+
'kid': '40aa42edac0614d7ca3f57f97ee866cdfba3b61a',
218+
'kty': 'RSA',
219+
'n': '6lm9AEGLPFpVqnfeVFuTIZsj7vz_kxla6uW1WWtosM_MtIjXkyyiSolxiSOs3bzG66iVm71023QyOzKYFbio0hI-yZauG3g9nH-zb_AHScsjAKagHtrHmTdtq0JcNkQnAaaUwxVbjwMlYAcOh87W5jWj_MAcPvc-qjy8-WJ81UgoOUZNiKByuF4-9igxKZeskGRXuTPX64kWGBmKl-tM7VnCGMKoK3m92NPrktfBoNN_EGGthNfQsKFUdQFJFtpMuiXp9Gib7dcMGabxcG2GUl-PU086kPUyUdUYiMN2auKSOxSUZgDjT7DcI8Sn8kdQ0-tImaHi54JNa1PNNdKRpw',
220+
'use': 'sig'},
221+
{'alg': 'RS256',
222+
'e': 'AQAB',
223+
'kid': '8fbbeea40332d2c0d27e37e1904af29b64594e57',
224+
'kty': 'RSA',
225+
'n': 'z7h6_rt35-j6NV2iQvYIuR3xvsxmEImgMl8dc8CFl4SzEWrry3QILajKxQZA9YYYfXIcZUG_6R6AghVMJetNIl2AhCoEr3RQjjNsm9PE6h5p2kQ-zIveFeb__4oIkVihYtxtoYBSdVj69nXLUAJP2bxPfU8RDp5X7hT62pKR05H8QLxH8siIQ5qR2LGFw_dJcitAVRRQofuaj_9u0CLZBfinqyRkBc7a0zi7pBxtEiIbn9sRr8Kkb_Boap6BHbnLS-YFBVarcgFBbifRf7NlK5dqE9z4OUb-dx8wCMRIPVAx_hV4Qx2anTgp1sDA6V4vd4NaCOZX-mSctNZqQmKtNw',
226+
'use': 'sig'},
227+
{'alg': 'RS256',
228+
'e': 'AQAB',
229+
'kid': '6758b0b8eb341e90454860432d6a1648bf4de03b',
230+
'kty': 'RSA',
231+
'n': '5K0rYaA7xtqSe1nFn_nCA10uUXY81NcohMeFsYLbBlx_NdpsmbpgtXJ6ektYR7rUdtMMLu2IONlNhkWlx-lge91okyacUrWHP88PycilUE-RnyVjbPEm3seR0VefgALfN4y_e77ljq2F7W2_kbUkTvDzriDIWvQT0WwVF5FIOBydfDDs92S-queaKgLBwt50SXJCZryLew5ODrwVsFGI4Et6MLqjS-cgWpCNwzcRqjBRsse6DXnex_zSRII4ODzKIfX4qdFBKZHO_BkTsK9DNkUayrr9cz8rFRK6TEH6XTVabgsyd6LP6PTxhpiII_pTYRSWk7CGMnm2nO0dKxzaFQ',
232+
'use': 'sig'}]}
233233

234234

235235
google_id_token = (
@@ -248,7 +248,7 @@ def jwk_set():
248248
)
249249

250250

251-
class TestGetKeys(object):
251+
class TestGetKeys:
252252

253253
def test_dict(self):
254254
assert ({},) == jws._get_keys({})
@@ -286,7 +286,7 @@ def test_jwk(self):
286286

287287

288288
@pytest.mark.skipif(RSAKey is None, reason="RSA is not available")
289-
class TestRSA(object):
289+
class TestRSA:
290290

291291
def test_jwk_set(self, jwk_set):
292292
# Would raise a JWSError if validation failed.
@@ -352,7 +352,7 @@ def test_private_verify_raises_warning(self, payload):
352352
-----END PUBLIC KEY-----"""
353353

354354

355-
class TestEC(object):
355+
class TestEC:
356356

357357
def test_EC256(self, payload):
358358
token = jws.sign(payload, ec_private_key, algorithm=ALGORITHMS.ES256)
@@ -372,7 +372,7 @@ def test_wrong_alg(self, payload):
372372
jws.verify(token, rsa_public_key, ALGORITHMS.ES384)
373373

374374

375-
class TestLoad(object):
375+
class TestLoad:
376376

377377
def test_header_not_mapping(self):
378378
token = 'WyJ0ZXN0Il0.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'

0 commit comments

Comments
 (0)