summaryrefslogtreecommitdiff
path: root/smoketest
diff options
context:
space:
mode:
authorkhramshinr <khramshinr@gmail.com>2024-01-30 14:12:01 +0700
committerChristian Breunig <christian@breunig.cc>2024-02-01 21:39:57 +0100
commit9ac2a115a2289fc15af05b729596a6ad449c1727 (patch)
tree363acc04f2008fb8cbc931a4ce3897a0b5473c3b /smoketest
parentcd4b03898e99b7317d2cbdf614bc14caf2e9bbce (diff)
downloadvyos-1x-9ac2a115a2289fc15af05b729596a6ad449c1727.tar.gz
vyos-1x-9ac2a115a2289fc15af05b729596a6ad449c1727.zip
dns forwarding: T5687: Implement ECS settings for PowerDNS recursor
(cherry picked from commit eb76729d63245e2e8f06f4d6d52d2fd4aab4fb1f)
Diffstat (limited to 'smoketest')
-rwxr-xr-xsmoketest/scripts/cli/test_service_dns_forwarding.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_service_dns_forwarding.py b/smoketest/scripts/cli/test_service_dns_forwarding.py
index 652c4fa7b..2a32fa292 100755
--- a/smoketest/scripts/cli/test_service_dns_forwarding.py
+++ b/smoketest/scripts/cli/test_service_dns_forwarding.py
@@ -59,6 +59,12 @@ class TestServicePowerDNS(VyOSUnitTestSHIM.TestCase):
# Check for running process
self.assertFalse(process_named_running(PROCESS_NAME))
+ def _set_required_options(self):
+ for network in allow_from:
+ self.cli_set(base_path + ['allow-from', network])
+ for address in listen_adress:
+ self.cli_set(base_path + ['listen-address', address])
+
def test_basic_forwarding(self):
# Check basic DNS forwarding settings
cache_size = '20'
@@ -294,5 +300,47 @@ class TestServicePowerDNS(VyOSUnitTestSHIM.TestCase):
tmp = get_config_value('local-port')
self.assertEqual(tmp, port)
+ def test_ecs_add_for(self):
+ self._set_required_options()
+
+ options = ['0.0.0.0/0', '!10.0.0.0/8', 'fc00::/7', '!fe80::/10']
+ for param in options:
+ self.cli_set(base_path + ['options', 'ecs-add-for', param])
+
+ # commit changes
+ self.cli_commit()
+
+ # verify ecs_add_for configuration
+ tmp = get_config_value('ecs-add-for')
+ self.assertEqual(tmp, ','.join(options))
+
+ def test_ecs_ipv4_bits(self):
+ self._set_required_options()
+
+ option_value = '24'
+ self.cli_set(base_path + ['options', 'ecs-ipv4-bits', option_value])
+
+ # commit changes
+ self.cli_commit()
+
+ # verify ecs_ipv4_bits configuration
+ tmp = get_config_value('ecs-ipv4-bits')
+ self.assertEqual(tmp, option_value)
+
+ def test_edns_subnet_allow_list(self):
+ self._set_required_options()
+
+ options = ['192.0.2.1/32', 'example.com', 'fe80::/10']
+ for param in options:
+ self.cli_set(base_path + ['options', 'edns-subnet-allow-list', param])
+
+ # commit changes
+ self.cli_commit()
+
+ # verify edns_subnet_allow_list configuration
+ tmp = get_config_value('edns-subnet-allow-list')
+ self.assertEqual(tmp, ','.join(options))
+
+
if __name__ == '__main__':
unittest.main(verbosity=2)