]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
add some versioned zone test cases
authorBob Halley <halley@dnspython.org>
Tue, 1 Sep 2020 13:51:25 +0000 (06:51 -0700)
committerBob Halley <halley@dnspython.org>
Tue, 1 Sep 2020 13:51:25 +0000 (06:51 -0700)
tests/test_zone.py

index 78fbb28c0a3789ecffd4699283f38a05513909ec..3f938c6d62c7293c40de005554b1ee258fc71a94 100644 (file)
@@ -32,6 +32,7 @@ import dns.rdataset
 import dns.rdataclass
 import dns.rdatatype
 import dns.rrset
+import dns.versioned
 import dns.zone
 import dns.node
 
@@ -801,5 +802,29 @@ class ZoneTestCase(unittest.TestCase):
         self.assertTrue(rds is not rrs)
         self.assertFalse(isinstance(rds, dns.rrset.RRset))
 
+
+class VersionedZoneTestCase(unittest.TestCase):
+    def testUseTransaction(self):
+        z = dns.zone.from_text(example_text, 'example.', relativize=True,
+                               zone_factory=dns.versioned.Zone)
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.find_node('not_there', True)
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.delete_node('not_there')
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.find_rdataset('not_there', 'a', create=True)
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.get_rdataset('not_there', 'a', create=True)
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.delete_rdataset('not_there', 'a')
+        with self.assertRaises(dns.versioned.UseTransaction):
+            z.replace_rdataset('not_there', None)
+
+    def testSelectDefaultPruningPolicy(self):
+        z = dns.zone.from_text(example_text, 'example.', relativize=True,
+                               zone_factory=dns.versioned.Zone)
+        z.set_pruning_policy(None)
+        self.assertEqual(z._pruning_policy, z._default_pruning_policy)
+
 if __name__ == '__main__':
     unittest.main()