|
1 | 1 | # coding: utf-8 |
2 | 2 | from __future__ import absolute_import, unicode_literals |
3 | | -import six |
4 | 3 |
|
5 | 4 | from cryptography.hazmat.backends.openssl.rsa import _RSAPrivateKey, _RSAPublicKey |
6 | 5 | from django.test import TestCase |
|
11 | 10 |
|
12 | 11 | class TestReadKeyFile(TestCase): |
13 | 12 | def test_read(self): |
14 | | - key_data = keys.read_key_file('test-2048.pem') |
15 | | - self.assertIsInstance(key_data, six.binary_type) |
16 | | - key_data_lines = key_data.decode('utf-8').split('\n') |
17 | | - self.assertIn('-----BEGIN PRIVATE KEY-----', key_data_lines) |
18 | | - self.assertIn('-----END PRIVATE KEY-----', key_data_lines) |
19 | | - self.assertIn('-----BEGIN PUBLIC KEY-----', key_data_lines) |
20 | | - self.assertIn('-----END PUBLIC KEY-----', key_data_lines) |
| 13 | + key_data = keys.read_key_file("test-2048.pem") |
| 14 | + self.assertIsInstance(key_data, bytes) |
| 15 | + key_data_lines = key_data.decode("utf-8").split("\n") |
| 16 | + self.assertIn("-----BEGIN PRIVATE KEY-----", key_data_lines) |
| 17 | + self.assertIn("-----END PRIVATE KEY-----", key_data_lines) |
| 18 | + self.assertIn("-----BEGIN PUBLIC KEY-----", key_data_lines) |
| 19 | + self.assertIn("-----END PUBLIC KEY-----", key_data_lines) |
21 | 20 |
|
22 | 21 |
|
23 | 22 | class TestGetKeyId(TestCase): |
24 | 23 | def test_root_simple(self): |
25 | | - key_id = keys.get_key_id(file_name='keyfile') |
26 | | - self.assertEqual(key_id, 'keyfile') |
| 24 | + key_id = keys.get_key_id(file_name="keyfile") |
| 25 | + self.assertEqual(key_id, "keyfile") |
27 | 26 |
|
28 | 27 | def test_root_pem_extension(self): |
29 | | - key_id = keys.get_key_id(file_name='keyfile.pem') |
30 | | - self.assertEqual(key_id, 'keyfile') |
| 28 | + key_id = keys.get_key_id(file_name="keyfile.pem") |
| 29 | + self.assertEqual(key_id, "keyfile") |
31 | 30 |
|
32 | 31 | def test_subfolder_simple(self): |
33 | | - key_id = keys.get_key_id(file_name='subfolder/keyfile') |
34 | | - self.assertEqual(key_id, 'subfolder/keyfile') |
| 32 | + key_id = keys.get_key_id(file_name="subfolder/keyfile") |
| 33 | + self.assertEqual(key_id, "subfolder/keyfile") |
35 | 34 |
|
36 | 35 | def test_subfolder_pem_extension(self): |
37 | | - key_id = keys.get_key_id(file_name='subfolder/keyfile.pem') |
38 | | - self.assertEqual(key_id, 'subfolder/keyfile') |
| 36 | + key_id = keys.get_key_id(file_name="subfolder/keyfile.pem") |
| 37 | + self.assertEqual(key_id, "subfolder/keyfile") |
39 | 38 |
|
40 | 39 |
|
41 | 40 | class TestGetKeyFileName(TestCase): |
42 | 41 | def test_empty_keys(self): |
43 | | - with self.assertRaisesMessage(InvalidKeyError, 'No keys defined for the given issuer'): |
44 | | - keys.get_key_file_name(keys={}, issuer='test-issuer') |
| 42 | + with self.assertRaisesMessage(InvalidKeyError, "No keys defined for the given issuer"): |
| 43 | + keys.get_key_file_name(keys={}, issuer="test-issuer") |
45 | 44 |
|
46 | 45 | def test_other_issuer_keys(self): |
47 | | - with self.assertRaisesMessage(InvalidKeyError, 'No keys defined for the given issuer'): |
48 | | - keys.get_key_file_name(keys={'other-issuer': ['other-key.pem']}, issuer='test-issuer') |
| 46 | + with self.assertRaisesMessage(InvalidKeyError, "No keys defined for the given issuer"): |
| 47 | + keys.get_key_file_name(keys={"other-issuer": ["other-key.pem"]}, issuer="test-issuer") |
49 | 48 |
|
50 | 49 | def test_one_key_string(self): |
51 | | - file_name = keys.get_key_file_name(keys={'test-issuer': 'first-key.pem'}, issuer='test-issuer') |
52 | | - self.assertEqual(file_name, 'first-key.pem') |
| 50 | + file_name = keys.get_key_file_name(keys={"test-issuer": "first-key.pem"}, issuer="test-issuer") |
| 51 | + self.assertEqual(file_name, "first-key.pem") |
53 | 52 |
|
54 | 53 | def test_one_key_list(self): |
55 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem']}, issuer='test-issuer') |
56 | | - self.assertEqual(file_name, 'first-key.pem') |
| 54 | + file_name = keys.get_key_file_name(keys={"test-issuer": ["first-key.pem"]}, issuer="test-issuer") |
| 55 | + self.assertEqual(file_name, "first-key.pem") |
57 | 56 |
|
58 | 57 | def test_one_key_with_key_id(self): |
59 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem']}, issuer='test-issuer') |
60 | | - self.assertEqual(file_name, 'first-key.pem') |
| 58 | + file_name = keys.get_key_file_name(keys={"test-issuer": ["first-key.pem"]}, issuer="test-issuer") |
| 59 | + self.assertEqual(file_name, "first-key.pem") |
61 | 60 |
|
62 | 61 | def test_one_key_incorrect_key_id(self): |
63 | | - with self.assertRaisesMessage(InvalidKeyError, 'No key matches the given key_id'): |
64 | | - keys.get_key_file_name(keys={'test-issuer': ['first-key.pem']}, issuer='test-issuer', key_id='incorrect-key') |
| 62 | + with self.assertRaisesMessage(InvalidKeyError, "No key matches the given key_id"): |
| 63 | + keys.get_key_file_name( |
| 64 | + keys={"test-issuer": ["first-key.pem"]}, issuer="test-issuer", key_id="incorrect-key" |
| 65 | + ) |
65 | 66 |
|
66 | 67 | def test_two_keys_no_key_id(self): |
67 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer') |
68 | | - self.assertEqual(file_name, 'first-key.pem') |
| 68 | + file_name = keys.get_key_file_name( |
| 69 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer" |
| 70 | + ) |
| 71 | + self.assertEqual(file_name, "first-key.pem") |
69 | 72 |
|
70 | 73 | def test_two_keys_with_key_id_1_exact(self): |
71 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer', key_id='first-key.pem') |
72 | | - self.assertEqual(file_name, 'first-key.pem') |
| 74 | + file_name = keys.get_key_file_name( |
| 75 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer", key_id="first-key.pem" |
| 76 | + ) |
| 77 | + self.assertEqual(file_name, "first-key.pem") |
73 | 78 |
|
74 | 79 | def test_two_keys_with_key_id_1_no_pem(self): |
75 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer', key_id='first-key') |
76 | | - self.assertEqual(file_name, 'first-key.pem') |
| 80 | + file_name = keys.get_key_file_name( |
| 81 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer", key_id="first-key" |
| 82 | + ) |
| 83 | + self.assertEqual(file_name, "first-key.pem") |
77 | 84 |
|
78 | 85 | def test_two_keys_with_key_id_2_exact(self): |
79 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer', key_id='second-key.pem') |
80 | | - self.assertEqual(file_name, 'second-key.pem') |
| 86 | + file_name = keys.get_key_file_name( |
| 87 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer", key_id="second-key.pem" |
| 88 | + ) |
| 89 | + self.assertEqual(file_name, "second-key.pem") |
81 | 90 |
|
82 | 91 | def test_two_keys_with_key_id_2_no_pem(self): |
83 | | - file_name = keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer', key_id='second-key') |
84 | | - self.assertEqual(file_name, 'second-key.pem') |
| 92 | + file_name = keys.get_key_file_name( |
| 93 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer", key_id="second-key" |
| 94 | + ) |
| 95 | + self.assertEqual(file_name, "second-key.pem") |
85 | 96 |
|
86 | 97 | def test_two_keys_incorrect_key_id(self): |
87 | | - with self.assertRaisesMessage(InvalidKeyError, 'No key matches the given key_id'): |
88 | | - keys.get_key_file_name(keys={'test-issuer': ['first-key.pem', 'second-key.pem']}, issuer='test-issuer', key_id='incorrect-key') |
| 98 | + with self.assertRaisesMessage(InvalidKeyError, "No key matches the given key_id"): |
| 99 | + keys.get_key_file_name( |
| 100 | + keys={"test-issuer": ["first-key.pem", "second-key.pem"]}, issuer="test-issuer", key_id="incorrect-key" |
| 101 | + ) |
89 | 102 |
|
90 | 103 |
|
91 | 104 | class TestGetPrivateKeyAndKeyId(TestCase): |
92 | 105 | def test_empty_keys(self): |
93 | | - with self.assertRaisesMessage(InvalidKeyError, 'No keys defined for the given issuer'): |
94 | | - keys.get_private_key_and_key_id(issuer='other-issuer') |
| 106 | + with self.assertRaisesMessage(InvalidKeyError, "No keys defined for the given issuer"): |
| 107 | + keys.get_private_key_and_key_id(issuer="other-issuer") |
95 | 108 |
|
96 | 109 | def test_first_key(self): |
97 | | - private_key, key_id = keys.get_private_key_and_key_id(issuer='test-issuer') |
| 110 | + private_key, key_id = keys.get_private_key_and_key_id(issuer="test-issuer") |
98 | 111 | self.assertIsInstance(private_key, _RSAPrivateKey) |
99 | | - self.assertEqual(key_id, 'test-2048') |
| 112 | + self.assertEqual(key_id, "test-2048") |
100 | 113 |
|
101 | 114 | def test_second_key(self): |
102 | | - private_key, key_id = keys.get_private_key_and_key_id(issuer='test-issuer', key_id='test-1024') |
| 115 | + private_key, key_id = keys.get_private_key_and_key_id(issuer="test-issuer", key_id="test-1024") |
103 | 116 | self.assertIsInstance(private_key, _RSAPrivateKey) |
104 | | - self.assertEqual(key_id, 'test-1024') |
| 117 | + self.assertEqual(key_id, "test-1024") |
105 | 118 |
|
106 | 119 |
|
107 | 120 | class TestGetPublicKeyAndKeyId(TestCase): |
108 | 121 | def test_empty_keys(self): |
109 | | - with self.assertRaisesMessage(InvalidKeyError, 'No keys defined for the given issuer'): |
110 | | - keys.get_public_key_and_key_id(issuer='other-issuer') |
| 122 | + with self.assertRaisesMessage(InvalidKeyError, "No keys defined for the given issuer"): |
| 123 | + keys.get_public_key_and_key_id(issuer="other-issuer") |
111 | 124 |
|
112 | 125 | def test_first_key(self): |
113 | | - public_key, key_id = keys.get_public_key_and_key_id(issuer='test-issuer') |
| 126 | + public_key, key_id = keys.get_public_key_and_key_id(issuer="test-issuer") |
114 | 127 | self.assertIsInstance(public_key, _RSAPublicKey) |
115 | | - self.assertEqual(key_id, 'test-2048') |
| 128 | + self.assertEqual(key_id, "test-2048") |
116 | 129 |
|
117 | 130 | def test_second_key(self): |
118 | | - public_key, key_id = keys.get_public_key_and_key_id(issuer='test-issuer', key_id='test-1024') |
| 131 | + public_key, key_id = keys.get_public_key_and_key_id(issuer="test-issuer", key_id="test-1024") |
119 | 132 | self.assertIsInstance(public_key, _RSAPublicKey) |
120 | | - self.assertEqual(key_id, 'test-1024') |
| 133 | + self.assertEqual(key_id, "test-1024") |
0 commit comments