summaryrefslogtreecommitdiff
path: root/smoketest/scripts
diff options
context:
space:
mode:
authorkhramshinr <khramshinr@gmail.com>2024-11-14 10:25:38 +0800
committerkhramshinr <khramshinr@gmail.com>2024-11-14 10:50:03 +0800
commite6558a535594c1cd25133979f07663cf6958ce75 (patch)
tree9979074b1a761ae892657c5b593958d397d91fc9 /smoketest/scripts
parentd51765cac49dd1d3b2d489387cd35d41e8b45b3d (diff)
downloadvyos-1x-e6558a535594c1cd25133979f07663cf6958ce75.tar.gz
vyos-1x-e6558a535594c1cd25133979f07663cf6958ce75.zip
T6801: QoS: Policy rate-control is broken by default
- Fixed unhandled exception for policy rate-control without params
Diffstat (limited to 'smoketest/scripts')
-rwxr-xr-xsmoketest/scripts/cli/test_qos.py21
1 files changed, 21 insertions, 0 deletions
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)