From e6558a535594c1cd25133979f07663cf6958ce75 Mon Sep 17 00:00:00 2001 From: khramshinr Date: Thu, 14 Nov 2024 10:25:38 +0800 Subject: T6801: QoS: Policy rate-control is broken by default - Fixed unhandled exception for policy rate-control without params --- smoketest/scripts/cli/test_qos.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'smoketest/scripts') diff --git a/smoketest/scripts/cli/test_qos.py b/smoketest/scripts/cli/test_qos.py index 77d384024..aaeebcdae 100755 --- a/smoketest/scripts/cli/test_qos.py +++ b/smoketest/scripts/cli/test_qos.py @@ -922,6 +922,27 @@ class TestQoS(VyOSUnitTestSHIM.TestCase): tmp[2]['options'], ) + def test_22_rate_control_default(self): + interface = self._interfaces[0] + policy_name = f'qos-policy-{interface}' + bandwidth = 5000 + + self.cli_set(base_path + ['interface', interface, 'egress', policy_name]) + self.cli_set(base_path + ['policy', 'rate-control', policy_name]) + with self.assertRaises(ConfigSessionError): + # Bandwidth not defined + self.cli_commit() + + self.cli_set(base_path + ['policy', 'rate-control', policy_name, 'bandwidth', str(bandwidth)]) + # commit changes + self.cli_commit() + + tmp = get_tc_qdisc_json(interface) + + self.assertEqual('tbf', tmp['kind']) + # TC store rates as a 32-bit unsigned integer in bps (Bytes per second) + self.assertEqual(int(bandwidth * 125), tmp['options']['rate']) + if __name__ == '__main__': unittest.main(verbosity=2) -- cgit v1.2.3