]>
Commit | Line | Data |
---|---|---|
7568b07d PL |
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) | |
407404c5 | 13 | query.flags |= dns.flags.AD |
7568b07d PL |
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) | |
407404c5 | 24 | query.flags |= dns.flags.AD |
7568b07d PL |
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) | |
407404c5 | 34 | query.flags |= dns.flags.AD |
7568b07d PL |
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) |