]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.recursor-dnssec/test_Simple.py
a9e762f4cd24ab41ff1329dedb9479798e5cbbd9
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)
13 query
.flags |
= dns
.flags
.AD
15 res
= self
.sendUDPQuery(query
)
17 self
.assertMessageIsAuthenticated(res
)
18 self
.assertRRsetInAnswer(res
, expected
)
19 self
.assertMatchingRRSIGInAnswer(res
, expected
)
22 expected
= dns
.rrset
.from_text('ns.secure.example.', 0, dns
.rdataclass
.IN
, 'A', '{prefix}.9'.format(prefix
=self
._PREFIX
))
23 query
= dns
.message
.make_query('ns.secure.example', 'A', want_dnssec
=True)
24 query
.flags |
= dns
.flags
.AD
26 res
= self
.sendUDPQuery(query
)
28 self
.assertMessageIsAuthenticated(res
)
29 self
.assertRRsetInAnswer(res
, expected
)
30 self
.assertMatchingRRSIGInAnswer(res
, expected
)
32 def testDelegation(self
):
33 query
= dns
.message
.make_query('example', 'NS', want_dnssec
=True)
34 query
.flags |
= dns
.flags
.AD
36 expectedNS
= dns
.rrset
.from_text('example.', 0, 'IN', 'NS', 'ns1.example.', 'ns2.example.')
38 res
= self
.sendUDPQuery(query
)
40 self
.assertMessageIsAuthenticated(res
)
41 self
.assertRRsetInAnswer(res
, expectedNS
)
44 query
= dns
.message
.make_query('ted.bogus.example', 'A', want_dnssec
=True)
46 res
= self
.sendUDPQuery(query
)
48 self
.assertRcodeEqual(res
, dns
.rcode
.SERVFAIL
)