# 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)