]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests.recursor-dnssec/test_SimpleDoT.py
Merge pull request #13397 from Habbie/auth-version-exit-0
[thirdparty/pdns.git] / regression-tests.recursor-dnssec / test_SimpleDoT.py
CommitLineData
98194c31
O
1import dns
2import os
3import subprocess
4from recursortests import RecursorTest
5
6class testSimpleDoT(RecursorTest):
7 """
8 This tests DoT to auth server in a very basic way and is dependent on powerdns.com nameservers having DoT enabled.
9 """
10
11 _confdir = 'SimpleDoT'
12 _config_template = """
13dnssec=validate
14dot-to-auth-names=powerdns.com
7d3d2f4f 15devonly-regression-test-mode
98194c31
O
16 """
17
18 _roothints = None
19
20 @classmethod
21 def setUpClass(cls):
22
23 # we don't need all the auth stuff
24 cls.setUpSockets()
25 cls.startResponders()
26
27 confdir = os.path.join('configs', cls._confdir)
28 cls.createConfigDir(confdir)
29
30 cls.generateRecursorConfig(confdir)
31 cls.startRecursor(confdir, cls._recursorPort)
32
769c36cc
OM
33 def testTXT(self):
34 expected = dns.rrset.from_text('dot-test-target.powerdns.org.', 0, dns.rdataclass.IN, 'TXT', 'https://github.com/PowerDNS/pdns/pull/12825')
35 query = dns.message.make_query('dot-test-target.powerdns.org', 'TXT', want_dnssec=True)
98194c31
O
36 query.flags |= dns.flags.AD
37
38 res = self.sendUDPQuery(query)
39
40 self.assertMessageIsAuthenticated(res)
41 self.assertRRsetInAnswer(res, expected)
42 self.assertMatchingRRSIGInAnswer(res, expected)
43
44 rec_controlCmd = [os.environ['RECCONTROL'],
45 '--config-dir=%s' % 'configs/' + self._confdir,
46 'get dot-outqueries']
47 try:
48 ret = subprocess.check_output(rec_controlCmd, stderr=subprocess.STDOUT)
49 self.assertNotEqual(ret, b'UNKNOWN\n')
50 self.assertNotEqual(ret, b'0\n')
51
52 except subprocess.CalledProcessError as e:
53 print(e.output)
54 raise
55
56 rec_controlCmd = [os.environ['RECCONTROL'],
57 '--config-dir=%s' % 'configs/' + self._confdir,
58 'get tcp-outqueries']
59 try:
60 ret = subprocess.check_output(rec_controlCmd, stderr=subprocess.STDOUT)
61 self.assertEqual(ret, b'0\n')
62
63 except subprocess.CalledProcessError as e:
64 print(e.output)
65 raise
66