]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Add API test for notify_allowed 14121/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Tue, 28 May 2024 07:47:46 +0000 (09:47 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Tue, 28 May 2024 07:48:26 +0000 (09:48 +0200)
pdns/recursordist/pdns_recursor.cc
regression-tests.api/test_Zones.py

index ad3ad7ac61430264c788a46fd3d0d441c3a691ba..9620ab3219c28bf5263b0eeab5cd9f8201052334 100644 (file)
@@ -808,9 +808,8 @@ bool isAllowNotifyForZone(DNSName qname)
     return false;
   }
 
-  notifyset_t::const_iterator ret;
   do {
-    ret = t_allowNotifyFor->find(qname);
+    auto ret = t_allowNotifyFor->find(qname);
     if (ret != t_allowNotifyFor->end()) {
       return true;
     }
index d769859896f4e9d4540a965be522aba6074160c2..24012de62760534952c5abe78da07e3391af476e 100644 (file)
@@ -2555,7 +2555,7 @@ class AuthRootZone(ApiTestCase, AuthZonesHelperMixin):
 @unittest.skipIf(not is_recursor(), "Not applicable")
 class RecursorZones(ApiTestCase):
 
-    def create_zone(self, name=None, kind=None, rd=False, servers=None):
+    def create_zone(self, name=None, kind=None, rd=False, servers=None, notify_allowed=False):
         if name is None:
             name = unique_zone_name()
         if servers is None:
@@ -2564,7 +2564,8 @@ class RecursorZones(ApiTestCase):
             'name': name,
             'kind': kind,
             'servers': servers,
-            'recursion_desired': rd
+            'recursion_desired': rd,
+            'notify_allowed': notify_allowed
         }
         r = self.session.post(
             self.url("/api/v1/servers/localhost/zones"),
@@ -2600,6 +2601,13 @@ class RecursorZones(ApiTestCase):
         for k in payload.keys():
             self.assertEqual(data[k], payload[k])
 
+    def test_create_forwarded_zone_notify_allowed(self):
+        payload, data = self.create_zone(kind='Forwarded', rd=False, servers=['8.8.8.8'], notify_allowed=True)
+        # return values are normalized
+        payload['servers'][0] += ':53'
+        for k in payload.keys():
+            self.assertEqual(data[k], payload[k])
+
     def test_create_forwarded_rd_zone(self):
         payload, data = self.create_zone(name='google.com.', kind='Forwarded', rd=True, servers=['8.8.8.8'])
         # return values are normalized