summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
diff options
context:
space:
mode:
authorchariri <w@chariri.moe>2026-08-16 05:51:03 +0900
committerchariri <w@chariri.moe>2026-08-26 03:11:48 +0900
commitdeeff86ce0e07382dba5fe5703ad09895a9615c8 (patch)
tree41438c734d9f39170985e53c9024dd0cc6d26eab /smoketest/scripts/cli
parent745a4afd9bab8a99fdfdb38febe7bf39ac8e5a25 (diff)
downloadvyos-1x-deeff86ce0e07382dba5fe5703ad09895a9615c8.tar.gz
vyos-1x-deeff86ce0e07382dba5fe5703ad09895a9615c8.zip
dns: T8045: expose PowerDNS dont-query list as recursion-exclude-address
The `+=` append syntax is used for appending. To remove from the defaults, users can use negation.
Diffstat (limited to 'smoketest/scripts/cli')
-rwxr-xr-xsmoketest/scripts/cli/test_service_dns_forwarding.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_service_dns_forwarding.py b/smoketest/scripts/cli/test_service_dns_forwarding.py
index 52134d8c8..33b960da9 100755
--- a/smoketest/scripts/cli/test_service_dns_forwarding.py
+++ b/smoketest/scripts/cli/test_service_dns_forwarding.py
@@ -248,6 +248,44 @@ class TestServicePowerDNS(VyOSUnitTestSHIM.TestCase):
tmp = get_config_value('dns64-prefix')
self.assertEqual(tmp, dns_prefix)
+ def test_recursion_exclude_address(self):
+ recursion_exclude_address = [
+ '198.18.0.0/15',
+ '!127.0.0.0/8',
+ '2001:db8:ffff::1',
+ '!2001:db8::/32',
+ ]
+ for network in recursion_exclude_address:
+ self.cli_set(base_path + ['recursion-exclude-address', network])
+
+ self.cli_commit()
+
+ self.assertEqual(
+ get_config_value(r'dont-query\+'), ','.join(recursion_exclude_address)
+ )
+
+ # Removing all configured values must remove the incremental setting,
+ # allowing PowerDNS to use its native defaults again.
+ self.cli_delete(base_path + ['recursion-exclude-address'])
+ self.cli_commit()
+ config = read_file(CONFIG_FILE)
+ self.assertNotIn('\ndont-query=', config)
+ self.assertNotIn('\ndont-query+=', config)
+
+ def test_recursion_exclude_address_conflicting_entry_order(self):
+ self.cli_set(base_path + ['recursion-exclude-address', '1.0.0.0/8'])
+ self.cli_set(base_path + ['recursion-exclude-address', '!1.0.0.0/8'])
+ self.cli_commit()
+ self.assertEqual(get_config_value(r'dont-query\+'), '1.0.0.0/8,!1.0.0.0/8')
+
+ self.cli_delete(base_path + ['recursion-exclude-address'])
+ self.cli_commit()
+
+ self.cli_set(base_path + ['recursion-exclude-address', '!1.0.0.0/8'])
+ self.cli_set(base_path + ['recursion-exclude-address', '1.0.0.0/8'])
+ self.cli_commit()
+ self.assertEqual(get_config_value(r'dont-query\+'), '!1.0.0.0/8,1.0.0.0/8')
+
def test_exclude_throttle_adress(self):
exclude_throttle_adress_examples = [
'192.168.128.255',