From 6cf2966811eafb15d8917afb5caff08daadcc7c6 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Tue, 28 May 2024 09:47:46 +0200 Subject: [PATCH] Add API test for notify_allowed --- pdns/recursordist/pdns_recursor.cc | 3 +-- regression-tests.api/test_Zones.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) 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 -- 2.47.2