]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Simple test of named forward, a bit ugly as it depends on external servers
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 15 Mar 2024 13:54:13 +0000 (14:54 +0100)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Mon, 25 Mar 2024 09:22:07 +0000 (10:22 +0100)
regression-tests.recursor-dnssec/test_NamedForward.py [new file with mode: 0644]

diff --git a/regression-tests.recursor-dnssec/test_NamedForward.py b/regression-tests.recursor-dnssec/test_NamedForward.py
new file mode 100644 (file)
index 0000000..7bd805a
--- /dev/null
@@ -0,0 +1,39 @@
+import dns
+import os
+import subprocess
+from recursortests import RecursorTest
+
+class testNamedForward(RecursorTest):
+    """
+    This is forwarding test using a name as target
+    """
+
+    _confdir = 'NamedForward'
+    _config_template = """
+dnssec=validate
+forward-zones-recurse=.=dns.quad9.net
+system-resolver-ttl=10
+    """
+
+    @classmethod
+    def setUpClass(cls):
+
+        # we don't need all the auth stuff
+        cls.setUpSockets()
+
+        confdir = os.path.join('configs', cls._confdir)
+        cls.createConfigDir(confdir)
+
+        cls.generateRecursorConfig(confdir)
+        cls.startRecursor(confdir, cls._recursorPort)
+
+    def testA(self):
+        expected = dns.rrset.from_text('dns.google.', 0, dns.rdataclass.IN, 'A', '8.8.8.8', '8.8.4.4')
+        query = dns.message.make_query('dns.google', 'A', want_dnssec=True)
+        query.flags |= dns.flags.AD
+
+        res = self.sendUDPQuery(query)
+
+        self.assertMessageIsAuthenticated(res)
+        self.assertRRsetInAnswer(res, expected)
+        self.assertMatchingRRSIGInAnswer(res, expected)