diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-05-15 12:46:48 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-05-15 12:46:49 +0200 |
commit | 8ab55eb237370b2152b2c0027af5cf16a69675af (patch) | |
tree | 4abbfc2df747d13c1009d985f8a11eb5d6f489bc | |
parent | 1f68b69328c961e450ac70b12f7bf073d70355d7 (diff) | |
download | vyos-1x-8ab55eb237370b2152b2c0027af5cf16a69675af.tar.gz vyos-1x-8ab55eb237370b2152b2c0027af5cf16a69675af.zip |
smoketest: dhcp: T3544: verify locig preventing invalid daemon options
As we do not allow any invalid raw options passed into ISC dhcpd we should also
verify this behavior with a smoketest.
-rwxr-xr-x | smoketest/scripts/cli/test_service_dhcp-server.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_service_dhcp-server.py b/smoketest/scripts/cli/test_service_dhcp-server.py index d3f6f21f1..815bd333a 100755 --- a/smoketest/scripts/cli/test_service_dhcp-server.py +++ b/smoketest/scripts/cli/test_service_dhcp-server.py @@ -414,5 +414,29 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase): # Check for running process self.assertTrue(process_named_running(PROCESS_NAME)) + def test_dhcp_invalid_raw_options(self): + shared_net_name = 'SMOKE-5' + + range_0_start = inc_ip(subnet, 10) + range_0_stop = inc_ip(subnet, 20) + + pool = base_path + ['shared-network-name', shared_net_name, 'subnet', subnet] + # we use the first subnet IP address as default gateway + self.cli_set(pool + ['default-router', router]) + self.cli_set(pool + ['range', '0', 'start', range_0_start]) + self.cli_set(pool + ['range', '0', 'stop', range_0_stop]) + + self.cli_set(base_path + ['global-parameters', 'this-is-crap']) + # check generate() - dhcpd should not acceot this garbage config + with self.assertRaises(ConfigSessionError): + self.cli_commit() + self.cli_delete(base_path + ['global-parameters']) + + # commit changes + self.cli_commit() + + # Check for running process + self.assertTrue(process_named_running(PROCESS_NAME)) + if __name__ == '__main__': unittest.main(verbosity=2) |