]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
Node find_rdataset() should set covers when creating [#730]
authorBob Halley <halley@dnspython.org>
Fri, 26 Nov 2021 21:55:36 +0000 (13:55 -0800)
committerBob Halley <halley@dnspython.org>
Fri, 26 Nov 2021 21:55:36 +0000 (13:55 -0800)
dns/node.py
tests/test_zone.py

index b1baf27b17b510fb1ef920229bbafc050eda97b5..68c15266f2a44c423b465a2974eaf342ab41ddee 100644 (file)
@@ -110,7 +110,7 @@ class Node:
                 return rds
         if not create:
             raise KeyError
-        rds = dns.rdataset.Rdataset(rdclass, rdtype)
+        rds = dns.rdataset.Rdataset(rdclass, rdtype, covers)
         self.rdatasets.append(rds)
         return rds
 
index e8dd9667a053a79f7720cbad19a3e959ca5a7812..3e34e7203e5711245721e3ecbcc3e37ec7859c4b 100644 (file)
@@ -145,7 +145,7 @@ Königsgäßchen 300 NS Königsgäßchen
 misc_cases_input = """
 $ORIGIN example.
 $TTL 300
-      
+
 @ soa foo bar 1 2 3 4 5
 @ ns ns1
 @ ns ns2
@@ -501,6 +501,15 @@ class ZoneTestCase(unittest.TestCase):
             node.find_rdataset(dns.rdataclass.IN, dns.rdatatype.LOC)
         self.assertRaises(KeyError, bad)
 
+    def testNodeFindRdataset3(self):
+        z = dns.zone.from_text(example_text, 'example.', relativize=True)
+        node = z['@']
+        rds = node.find_rdataset(dns.rdataclass.IN, dns.rdatatype.RRSIG,
+                                 dns.rdatatype.A, create=True)
+        self.assertEqual(rds.rdclass, dns.rdataclass.IN)
+        self.assertEqual(rds.rdtype, dns.rdatatype.RRSIG)
+        self.assertEqual(rds.covers, dns.rdatatype.A)
+
     def testNodeGetRdataset1(self):
         z = dns.zone.from_text(example_text, 'example.', relativize=True)
         node = z['@']