|
2 | 2 |
|
3 | 3 | import base64 |
4 | 4 | import unittest |
5 | | - |
| 5 | +import os |
6 | 6 | import dns.tsig |
7 | 7 | import dns.tsigkeyring |
| 8 | +import pytest |
8 | 9 |
|
9 | 10 | text_keyring = {"keyname.": ("hmac-sha256.", "NjHwPsMKjdN++dOfE5iAiQ==")} |
10 | 11 |
|
|
18 | 19 |
|
19 | 20 | old_rich_keyring = {key.name: key.secret} |
20 | 21 |
|
| 22 | +keyring_file_1 = { |
| 23 | + dns.name.from_text("aaa-test"): dns.tsig.Key( |
| 24 | + dns.name.from_text("aaa-test"), |
| 25 | + "WklIGweRJDBzgYJAfFAt3ln7NJAyz66W56/fpoeepVn5yqs3i3iiXFIS6GXpuFw0TyRfADBcnap8Vvl7TokfYA==", |
| 26 | + "hmac-sha512", |
| 27 | + ) |
| 28 | +} |
| 29 | + |
| 30 | +keyring_file_2 = { |
| 31 | + dns.name.from_text("b-key"): dns.tsig.Key( |
| 32 | + dns.name.from_text("b-key"), |
| 33 | + "KykTutSQNZYc+o8rqfMPH7ce2a9SruvKgPAqfn8EER8=", |
| 34 | + "hmac-sha256", |
| 35 | + ) |
| 36 | +} |
| 37 | + |
| 38 | +keyring_file_3 = { |
| 39 | + dns.name.from_text("example.com"): dns.tsig.Key( |
| 40 | + dns.name.from_text("example.com"), |
| 41 | + "WklIGweRJDBzgYJAfFAt3ln7NJAyz66W56/fpoeepVn5yqs3i3iiXFIS6GXpuFw0TyRfADBcnap8Vvl7TokfYA==", |
| 42 | + ).secret |
| 43 | +} |
| 44 | + |
| 45 | +keyring_file_4 = { |
| 46 | + dns.name.from_text("bh-"): dns.tsig.Key( |
| 47 | + dns.name.from_text("bh-"), |
| 48 | + "WklIGweRJDBzgYJAfFAt3ln7NJAyz66W56/fpoeepVn5yqs3i3iiXFIS6GXpuFw0TyRfADBcnap8Vvl7TokfYA==", |
| 49 | + "hmac-sha512", |
| 50 | + ) |
| 51 | +} |
| 52 | + |
| 53 | +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) |
| 54 | + |
21 | 55 |
|
22 | 56 | class TSIGKeyRingTestCase(unittest.TestCase): |
23 | 57 | def test_from_text(self): |
@@ -56,3 +90,30 @@ def test_old_from_and_to_text(self): |
56 | 90 | rkeyring = dns.tsigkeyring.from_text(old_text_keyring) |
57 | 91 | tkeyring = dns.tsigkeyring.to_text(rkeyring) |
58 | 92 | self.assertEqual(tkeyring, old_text_keyring) |
| 93 | + |
| 94 | + def test_from_file_1(self): |
| 95 | + """test to parse key file 1.key""" |
| 96 | + keyring = dns.tsigkeyring.from_file(os.path.join(TEST_DIR, "./tsigkeys/1.key")) |
| 97 | + self.assertEqual(keyring, keyring_file_1) |
| 98 | + |
| 99 | + def test_from_file_2(self): |
| 100 | + """test to parse key file 2.key""" |
| 101 | + keyring = dns.tsigkeyring.from_file(os.path.join(TEST_DIR, "./tsigkeys/2.key")) |
| 102 | + self.assertEqual(keyring, keyring_file_2) |
| 103 | + |
| 104 | + def test_from_file_3(self): |
| 105 | + """test to parse key file 3.key""" |
| 106 | + keyring = dns.tsigkeyring.from_file(os.path.join(TEST_DIR, "./tsigkeys/3.key")) |
| 107 | + self.assertEqual(keyring, keyring_file_3) |
| 108 | + |
| 109 | + def test_from_file_4(self): |
| 110 | + """test to parse key file 4.key""" |
| 111 | + keyring = dns.tsigkeyring.from_file(os.path.join(TEST_DIR, "./tsigkeys/4.key")) |
| 112 | + self.assertEqual(keyring, keyring_file_4) |
| 113 | + |
| 114 | + def test_from_file_error(self): |
| 115 | + """test to parse key file 5.key""" |
| 116 | + with pytest.raises(Exception): |
| 117 | + keyring = dns.tsigkeyring.from_file( |
| 118 | + os.path.join(TEST_DIR, "./tsigkeys/5.key") |
| 119 | + ) |
0 commit comments