]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.recursor-dnssec/test_Simple.py
2 from recursortests
import RecursorTest
4 class testSimple(RecursorTest
):
7 _config_template
= """dnssec=validate"""
10 for zone
in ['.', 'example.', 'secure.example.']:
11 expected
= dns
.rrset
.from_text(zone
, 0, dns
.rdataclass
.IN
, 'SOA', self
._SOA
)
12 query
= dns
.message
.make_query(zone
, 'SOA', want_dnssec
=True)
14 res
= self
.sendUDPQuery(query
)
16 self
.assertMessageIsAuthenticated(res
)
17 self
.assertRRsetInAnswer(res
, expected
)
18 self
.assertMatchingRRSIGInAnswer(res
, expected
)
21 expected
= dns
.rrset
.from_text('ns.secure.example.', 0, dns
.rdataclass
.IN
, 'A', '{prefix}.9'.format(prefix
=self
._PREFIX
))
22 query
= dns
.message
.make_query('ns.secure.example', 'A', want_dnssec
=True)
24 res
= self
.sendUDPQuery(query
)
26 self
.assertMessageIsAuthenticated(res
)
27 self
.assertRRsetInAnswer(res
, expected
)
28 self
.assertMatchingRRSIGInAnswer(res
, expected
)
30 def testDelegation(self
):
31 query
= dns
.message
.make_query('example', 'NS', want_dnssec
=True)
33 expectedNS
= dns
.rrset
.from_text('example.', 0, 'IN', 'NS', 'ns1.example.', 'ns2.example.')
35 res
= self
.sendUDPQuery(query
)
37 self
.assertMessageIsAuthenticated(res
)
38 self
.assertRRsetInAnswer(res
, expectedNS
)
41 query
= dns
.message
.make_query('ted.bogus.example', 'A', want_dnssec
=True)
43 res
= self
.sendUDPQuery(query
)
45 self
.assertRcodeEqual(res
, dns
.rcode
.SERVFAIL
)