]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.recursor-dnssec/test_Simple.py
Add AD flag to queries in the simple tests
[thirdparty/pdns.git] / regression-tests.recursor-dnssec / test_Simple.py
1 import dns
2 from recursortests import RecursorTest
3
4 class testSimple(RecursorTest):
5 _confdir = 'Simple'
6
7 _config_template = """dnssec=validate"""
8
9 def testSOAs(self):
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
14
15 res = self.sendUDPQuery(query)
16
17 self.assertMessageIsAuthenticated(res)
18 self.assertRRsetInAnswer(res, expected)
19 self.assertMatchingRRSIGInAnswer(res, expected)
20
21 def testA(self):
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
25
26 res = self.sendUDPQuery(query)
27
28 self.assertMessageIsAuthenticated(res)
29 self.assertRRsetInAnswer(res, expected)
30 self.assertMatchingRRSIGInAnswer(res, expected)
31
32 def testDelegation(self):
33 query = dns.message.make_query('example', 'NS', want_dnssec=True)
34 query.flags |= dns.flags.AD
35
36 expectedNS = dns.rrset.from_text('example.', 0, 'IN', 'NS', 'ns1.example.', 'ns2.example.')
37
38 res = self.sendUDPQuery(query)
39
40 self.assertMessageIsAuthenticated(res)
41 self.assertRRsetInAnswer(res, expectedNS)
42
43 def testBogus(self):
44 query = dns.message.make_query('ted.bogus.example', 'A', want_dnssec=True)
45
46 res = self.sendUDPQuery(query)
47
48 self.assertRcodeEqual(res, dns.rcode.SERVFAIL)