From: Brian Wellington Date: Wed, 25 Nov 2020 18:55:42 +0000 (-0800) Subject: Add a test of a TSIG-signed AXFR of the root. X-Git-Tag: v2.1.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab5026af2b12379dd157f4c5aef4d3ab1561026d;p=thirdparty%2Fdnspython.git Add a test of a TSIG-signed AXFR of the root. --- diff --git a/tests/test_query.py b/tests/test_query.py index 8f2b65f9..2cff3770 100644 --- a/tests/test_query.py +++ b/tests/test_query.py @@ -280,7 +280,6 @@ class AddressesEqualTestCase(unittest.TestCase): axfr_zone = ''' -$ORIGIN example. $TTL 300 @ SOA ns1 root 1 7200 900 1209600 86400 @ NS ns1 @@ -292,7 +291,7 @@ ns2 A 10.0.0.1 class AXFRNanoNameserver(Server): def handle(self, request): - self.zone = dns.zone.from_text(axfr_zone, origin='example') + self.zone = dns.zone.from_text(axfr_zone, origin=self.origin) self.origin = self.zone.origin items = [] soa = self.zone.find_rrset(dns.name.empty, dns.rdatatype.SOA) @@ -385,7 +384,7 @@ class XfrTests(unittest.TestCase): def test_axfr(self): expected = dns.zone.from_text(axfr_zone, origin='example') - with AXFRNanoNameserver() as ns: + with AXFRNanoNameserver(origin='example') as ns: xfr = dns.query.xfr(ns.tcp_address[0], 'example', port=ns.tcp_address[1]) zone = dns.zone.from_xfr(xfr) @@ -393,16 +392,25 @@ class XfrTests(unittest.TestCase): def test_axfr_tsig(self): expected = dns.zone.from_text(axfr_zone, origin='example') - with AXFRNanoNameserver(keyring=keyring) as ns: + with AXFRNanoNameserver(origin='example', keyring=keyring) as ns: xfr = dns.query.xfr(ns.tcp_address[0], 'example', port=ns.tcp_address[1], keyring=keyring, keyname='name') zone = dns.zone.from_xfr(xfr) self.assertEqual(zone, expected) + def test_axfr_root_tsig(self): + expected = dns.zone.from_text(axfr_zone, origin='.') + with AXFRNanoNameserver(origin='.', keyring=keyring) as ns: + xfr = dns.query.xfr(ns.tcp_address[0], '.', + port=ns.tcp_address[1], + keyring=keyring, keyname='name') + zone = dns.zone.from_xfr(xfr) + self.assertEqual(zone, expected) + def test_axfr_udp(self): def bad(): - with AXFRNanoNameserver() as ns: + with AXFRNanoNameserver(origin='example') as ns: xfr = dns.query.xfr(ns.udp_address[0], 'example', port=ns.udp_address[1], use_udp=True) l = list(xfr)