From 6c2a2cb8ce98b3b43ac07403bc61f186c28ccdf9 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 13 Oct 2020 18:49:33 +0200 Subject: pppoe-server: T2976: fix local-users default value retrieval from XML We must use XML node style (hyphen over underscore). --- python/vyos/configdict.py | 2 +- smoketest/scripts/cli/base_accel_ppp_test.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py index 99072a1b9..02006465c 100644 --- a/python/vyos/configdict.py +++ b/python/vyos/configdict.py @@ -465,7 +465,7 @@ def get_accel_dict(config, base, chap_secrets): # Add individual local-user default values if vyos_dict_search('authentication.local_users.username', dict): - default_values = defaults(base + ['authentication', 'local_users', 'username']) + default_values = defaults(base + ['authentication', 'local-users', 'username']) for username in vyos_dict_search('authentication.local_users.username', dict): dict['authentication']['local_users']['username'][username] = dict_merge( diff --git a/smoketest/scripts/cli/base_accel_ppp_test.py b/smoketest/scripts/cli/base_accel_ppp_test.py index cf401b0d8..56cbf1dd4 100644 --- a/smoketest/scripts/cli/base_accel_ppp_test.py +++ b/smoketest/scripts/cli/base_accel_ppp_test.py @@ -44,6 +44,9 @@ class BasicAccelPPPTest: def set(self, path): self.session.set(self._base_path + path) + def delete(self, path): + self.session.delete(self._base_path + path) + def basic_config(self): # PPPoE local auth mode requires local users to be configured! self.set(['authentication', 'local-users', 'username', 'vyos', 'password', 'vyos']) @@ -117,6 +120,20 @@ class BasicAccelPPPTest: # Check for running process self.assertTrue(process_named_running(self._process_name)) + # Check local-users default value(s) + self.delete(['authentication', 'local-users', 'username', user, 'static-ip']) + # commit changes + self.session.commit() + + # check local users + tmp = cmd(f'sudo cat {self._chap_secrets}') + regex = f'{user}\s+\*\s+{password}\s+\*\s+{download}/{upload}' + tmp = re.findall(regex, tmp) + self.assertTrue(tmp) + + # Check for running process + self.assertTrue(process_named_running(self._process_name)) + def test_authentication_radius(self): """ Test configuration of RADIUS authentication for PPPoE server """ self.basic_config() -- cgit v1.2.3