summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrian Wellington <bwelling@xbill.org>2020-11-25 10:55:42 -0800
committerBrian Wellington <bwelling@xbill.org>2020-11-25 10:55:42 -0800
commitab5026af2b12379dd157f4c5aef4d3ab1561026d (patch)
treeca2e31f7d446931602dead18beecd5678a98e1f8 /tests
parent6b3b7646c11798622946556c3d81cf108396df0c (diff)
downloaddnspython-ab5026af2b12379dd157f4c5aef4d3ab1561026d.tar.gz
Add a test of a TSIG-signed AXFR of the root.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_query.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/test_query.py b/tests/test_query.py
index 8f2b65f..2cff377 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)