diff options
| author | Sławek Kapłoński <slawek@kaplonski.pl> | 2018-05-11 13:04:23 +0200 |
|---|---|---|
| committer | Slawek Kaplonski <skaplons@redhat.com> | 2018-05-25 12:54:41 -0700 |
| commit | 9b6d02d5f958e5b2ea6155879fd0514a15ce2231 (patch) | |
| tree | a5e8938e591f43f2d651332d29c9fdcc145b8a0e /openstackclient/tests | |
| parent | f7e4d31820e797e0d374e7dfde1142373245ea87 (diff) | |
| download | python-openstackclient-9b6d02d5f958e5b2ea6155879fd0514a15ce2231.tar.gz | |
Make max_burst_kbps option as optional for bw limit QoS rule
Attribute max_burst_kbps of QoS bandwidth limit rule in Neutron's
is optional in API so it should be also optional on client's side.
Change-Id: Ie085b73fa885ff12f9ac080666cf3ca6a09b632a
Related-Bug:#1770622
Task: 19658
Story: 2002017
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/functional/network/v2/test_network_qos_rule.py | 1 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_network_qos_rule.py | 55 |
2 files changed, 49 insertions, 7 deletions
diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py index 5d235405..98e588e8 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py @@ -167,7 +167,6 @@ class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): 'network qos rule create -f json ' '--type bandwidth-limit ' '--max-kbps 10000 ' - '--max-burst-kbits 1400 ' '--egress %s' % self.QOS_POLICY_NAME )) diff --git a/openstackclient/tests/unit/network/v2/test_network_qos_rule.py b/openstackclient/tests/unit/network/v2/test_network_qos_rule.py index 176bc86d..5b54d318 100644 --- a/openstackclient/tests/unit/network/v2/test_network_qos_rule.py +++ b/openstackclient/tests/unit/network/v2/test_network_qos_rule.py @@ -127,7 +127,7 @@ class TestCreateNetworkQosRuleMinimumBandwidth(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('"Create" rule command for type "minimum-bandwidth" ' - 'requires arguments direction, min_kbps') + 'requires arguments: direction, min_kbps') self.assertEqual(msg, str(e)) @@ -213,7 +213,7 @@ class TestCreateNetworkQosRuleDSCPMarking(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('"Create" rule command for type "dscp-marking" ' - 'requires arguments dscp_mark') + 'requires arguments: dscp_mark') self.assertEqual(msg, str(e)) @@ -266,6 +266,49 @@ class TestCreateNetworkQosRuleBandwidtLimit(TestNetworkQosRule): arglist = [ '--type', RULE_TYPE_BANDWIDTH_LIMIT, '--max-kbps', str(self.new_rule.max_kbps), + '--egress', + self.new_rule.qos_policy_id, + ] + + verifylist = [ + ('type', RULE_TYPE_BANDWIDTH_LIMIT), + ('max_kbps', self.new_rule.max_kbps), + ('egress', True), + ('qos_policy', self.new_rule.qos_policy_id), + ] + + rule = network_fakes.FakeNetworkQosRule.create_one_qos_rule( + {'qos_policy_id': self.qos_policy.id, + 'type': RULE_TYPE_BANDWIDTH_LIMIT}) + rule.max_burst_kbits = 0 + expected_data = ( + rule.direction, + rule.id, + rule.max_burst_kbits, + rule.max_kbps, + rule.project_id, + rule.qos_policy_id, + rule.type, + ) + + with mock.patch.object( + self.network, "create_qos_bandwidth_limit_rule", + return_value=rule) as create_qos_bandwidth_limit_rule: + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + columns, data = (self.cmd.take_action(parsed_args)) + + create_qos_bandwidth_limit_rule.assert_called_once_with( + self.qos_policy.id, + **{'max_kbps': self.new_rule.max_kbps, + 'direction': self.new_rule.direction} + ) + self.assertEqual(self.columns, columns) + self.assertEqual(expected_data, data) + + def test_create_all_options(self): + arglist = [ + '--type', RULE_TYPE_BANDWIDTH_LIMIT, + '--max-kbps', str(self.new_rule.max_kbps), '--max-burst-kbits', str(self.new_rule.max_burst_kbits), '--egress', self.new_rule.qos_policy_id, @@ -309,7 +352,7 @@ class TestCreateNetworkQosRuleBandwidtLimit(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('"Create" rule command for type "bandwidth-limit" ' - 'requires arguments max_burst_kbps, max_kbps') + 'requires arguments: max_kbps') self.assertEqual(msg, str(e)) @@ -579,7 +622,7 @@ class TestSetNetworkQosRuleMinimumBandwidth(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type ' - '"minimum-bandwidth" only requires arguments direction, ' + '"minimum-bandwidth" only requires arguments: direction, ' 'min_kbps' % {'rule': self.new_rule.id}) self.assertEqual(msg, str(e)) @@ -673,7 +716,7 @@ class TestSetNetworkQosRuleDSCPMarking(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type ' - '"dscp-marking" only requires arguments dscp_mark' % + '"dscp-marking" only requires arguments: dscp_mark' % {'rule': self.new_rule.id}) self.assertEqual(msg, str(e)) @@ -837,7 +880,7 @@ class TestSetNetworkQosRuleBandwidthLimit(TestNetworkQosRule): self.cmd.take_action(parsed_args) except exceptions.CommandError as e: msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type ' - '"bandwidth-limit" only requires arguments direction, ' + '"bandwidth-limit" only requires arguments: direction, ' 'max_burst_kbps, max_kbps' % {'rule': self.new_rule.id}) self.assertEqual(msg, str(e)) |
