]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Merge pull request #15352 from omoerbeek/rec-simpedottest
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Mon, 24 Mar 2025 14:11:19 +0000 (15:11 +0100)
committerGitHub <noreply@github.com>
Mon, 24 Mar 2025 14:11:19 +0000 (15:11 +0100)
rec: in test_SimpleDot.py make sure we have the root DNSKEY in cache, it might require TCP

1  2 
regression-tests.recursor-dnssec/test_SimpleDoT.py

index 0a2c99edd483f57fb24180d485b7d6ff7e0b8de5,4ba50ebee8e95e6b84221cdf3b68c7654f3f5e25..af79b9bc36c60e18957f06641e63d654b7165cf6
@@@ -18,8 -18,40 +18,27 @@@ devonly-regression-test-mod
  
      _roothints = None
  
 -    @classmethod
 -    def setUpClass(cls):
 -
 -        # we don't need all the auth stuff
 -        cls.setUpSockets()
 -        cls.startResponders()
 -
 -        confdir = os.path.join('configs', cls._confdir)
 -        cls.createConfigDir(confdir)
 -
 -        cls.generateRecursorConfig(confdir)
 -        cls.startRecursor(confdir, cls._recursorPort)
 -
      @pytest.mark.external
      def testTXT(self):
+         query = dns.message.make_query('.', 'DNSKEY', want_dnssec=True)
+         query.flags |= dns.flags.AD
+         # As this test uses external servers, be more generous wrt timeouts than the default 2.0s
+         res = self.sendUDPQuery(query, timeout=5.0)
+         self.assertMessageIsAuthenticated(res)
+         self.assertRcodeEqual(res, 0);
+         rec_controlCmd = [os.environ['RECCONTROL'],
+                           '--config-dir=%s' % 'configs/' + self._confdir,
+                           'get tcp-outqueries']
+         try:
+             ret = subprocess.check_output(rec_controlCmd, stderr=subprocess.STDOUT)
+             tcpcount = ret
+         except subprocess.CalledProcessError as e:
+             print(e.output)
+             raise
          expected = dns.rrset.from_text('dot-test-target.powerdns.org.', 0, dns.rdataclass.IN, 'TXT', 'https://github.com/PowerDNS/pdns/pull/12825')
          query = dns.message.make_query('dot-test-target.powerdns.org', 'TXT', want_dnssec=True)
          query.flags |= dns.flags.AD