From: Otto Moerbeek Date: Tue, 28 May 2024 07:47:46 +0000 (+0200) Subject: Add API test for notify_allowed X-Git-Tag: rec-5.1.0-beta1~19^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F14121%2Fhead;p=thirdparty%2Fpdns.git Add API test for notify_allowed --- diff --git a/pdns/recursordist/pdns_recursor.cc b/pdns/recursordist/pdns_recursor.cc index ad3ad7ac61..9620ab3219 100644 --- a/pdns/recursordist/pdns_recursor.cc +++ b/pdns/recursordist/pdns_recursor.cc @@ -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; } diff --git a/regression-tests.api/test_Zones.py b/regression-tests.api/test_Zones.py index d769859896..24012de627 100644 --- a/regression-tests.api/test_Zones.py +++ b/regression-tests.api/test_Zones.py @@ -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