]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py
rec: dnspython's API changed wrt NSID, apply (version dependent) fix in regression...
[thirdparty/pdns.git] / regression-tests.recursor-dnssec / test_SimpleForwardOverDoT.py
CommitLineData
b48222de
O
1import dns
2import os
3import subprocess
4from recursortests import RecursorTest
5
6class testSimpleForwardOverDoT(RecursorTest):
7 """
b4ae1398 8 This is forwarding to a DoT server in a very basic way and is dependent on Quad9 working
b48222de
O
9 """
10
11 _confdir = 'SimpleForwardOverDoT'
12 _config_template = """
13dnssec=validate
14forward-zones-recurse=.=9.9.9.9:853
7d3d2f4f 15devonly-regression-test-mode
b48222de
O
16 """
17
98194c31
O
18 @classmethod
19 def setUpClass(cls):
20
21 # we don't need all the auth stuff
22 cls.setUpSockets()
23
24 confdir = os.path.join('configs', cls._confdir)
25 cls.createConfigDir(confdir)
26
27 cls.generateRecursorConfig(confdir)
28 cls.startRecursor(confdir, cls._recursorPort)
29
b48222de
O
30 def testA(self):
31 expected = dns.rrset.from_text('dns.google.', 0, dns.rdataclass.IN, 'A', '8.8.8.8', '8.8.4.4')
32 query = dns.message.make_query('dns.google', 'A', want_dnssec=True)
33 query.flags |= dns.flags.AD
34
35 res = self.sendUDPQuery(query)
36
37 self.assertMessageIsAuthenticated(res)
38 self.assertRRsetInAnswer(res, expected)
39 self.assertMatchingRRSIGInAnswer(res, expected)
40
41 rec_controlCmd = [os.environ['RECCONTROL'],
42 '--config-dir=%s' % 'configs/' + self._confdir,
43 'get dot-outqueries']
44 try:
45 ret = subprocess.check_output(rec_controlCmd, stderr=subprocess.STDOUT)
46 self.assertNotEqual(ret, b'UNKNOWN\n')
47 self.assertNotEqual(ret, b'0\n')
48
49 except subprocess.CalledProcessError as e:
50 print(e.output)
51 raise
52
53 rec_controlCmd = [os.environ['RECCONTROL'],
54 '--config-dir=%s' % 'configs/' + self._confdir,
55 'get tcp-outqueries']
56 try:
57 ret = subprocess.check_output(rec_controlCmd, stderr=subprocess.STDOUT)
58 self.assertEqual(ret, b'0\n')
59
60 except subprocess.CalledProcessError as e:
61 print(e.output)
62 raise
63