diff options
| author | chariri <w@chariri.moe> | 2026-08-16 05:51:03 +0900 |
|---|---|---|
| committer | chariri <w@chariri.moe> | 2026-08-26 03:11:48 +0900 |
| commit | deeff86ce0e07382dba5fe5703ad09895a9615c8 (patch) | |
| tree | 41438c734d9f39170985e53c9024dd0cc6d26eab /smoketest/scripts/cli | |
| parent | 745a4afd9bab8a99fdfdb38febe7bf39ac8e5a25 (diff) | |
| download | vyos-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-x | smoketest/scripts/cli/test_service_dns_forwarding.py | 38 |
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', |
