summaryrefslogtreecommitdiff
path: root/tests/test_tsigkeyring.py
blob: 47f88067b6eb64166cbad31db843d0b2ba797c53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license

import base64
import unittest

import dns.tsig
import dns.tsigkeyring

text_keyring = {
    'keyname.' : ('hmac-sha256.', 'NjHwPsMKjdN++dOfE5iAiQ==')
}

alt_text_keyring = {
    'keyname.' : (dns.tsig.HMAC_SHA256, 'NjHwPsMKjdN++dOfE5iAiQ==')
}

old_text_keyring = {
    'keyname.' : 'NjHwPsMKjdN++dOfE5iAiQ=='
}

key = dns.tsig.Key('keyname.', 'NjHwPsMKjdN++dOfE5iAiQ==')

rich_keyring = { key.name : key }

old_rich_keyring = { key.name : key.secret }

class TSIGKeyRingTestCase(unittest.TestCase):

    def test_from_text(self):
        """text keyring -> rich keyring"""
        rkeyring = dns.tsigkeyring.from_text(text_keyring)
        self.assertEqual(rkeyring, rich_keyring)

    def test_from_alt_text(self):
        """alternate format text keyring -> rich keyring"""
        rkeyring = dns.tsigkeyring.from_text(alt_text_keyring)
        self.assertEqual(rkeyring, rich_keyring)

    def test_from_old_text(self):
        """old format text keyring -> rich keyring"""
        rkeyring = dns.tsigkeyring.from_text(old_text_keyring)
        self.assertEqual(rkeyring, old_rich_keyring)

    def test_to_text(self):
        """text keyring -> rich keyring -> text keyring"""
        tkeyring = dns.tsigkeyring.to_text(rich_keyring)
        self.assertEqual(tkeyring, text_keyring)

    def test_old_to_text(self):
        """text keyring -> rich keyring -> text keyring"""
        tkeyring = dns.tsigkeyring.to_text(old_rich_keyring)
        self.assertEqual(tkeyring, old_text_keyring)

    def test_from_and_to_text(self):
        """text keyring -> rich keyring -> text keyring"""
        rkeyring = dns.tsigkeyring.from_text(text_keyring)
        tkeyring = dns.tsigkeyring.to_text(rkeyring)
        self.assertEqual(tkeyring, text_keyring)

    def test_old_from_and_to_text(self):
        """text keyring -> rich keyring -> text keyring"""
        rkeyring = dns.tsigkeyring.from_text(old_text_keyring)
        tkeyring = dns.tsigkeyring.to_text(rkeyring)
        self.assertEqual(tkeyring, old_text_keyring)