@@ -127,7 +127,7 @@ def test_create_wrong_options(self):
127127 self .cmd .take_action (parsed_args )
128128 except exceptions .CommandError as e :
129129 msg = ('"Create" rule command for type "minimum-bandwidth" '
130- 'requires arguments direction, min_kbps' )
130+ 'requires arguments: direction, min_kbps' )
131131 self .assertEqual (msg , str (e ))
132132
133133
@@ -213,7 +213,7 @@ def test_create_wrong_options(self):
213213 self .cmd .take_action (parsed_args )
214214 except exceptions .CommandError as e :
215215 msg = ('"Create" rule command for type "dscp-marking" '
216- 'requires arguments dscp_mark' )
216+ 'requires arguments: dscp_mark' )
217217 self .assertEqual (msg , str (e ))
218218
219219
@@ -263,6 +263,49 @@ def test_create_no_options(self):
263263 self .cmd , arglist , verifylist )
264264
265265 def test_create_default_options (self ):
266+ arglist = [
267+ '--type' , RULE_TYPE_BANDWIDTH_LIMIT ,
268+ '--max-kbps' , str (self .new_rule .max_kbps ),
269+ '--egress' ,
270+ self .new_rule .qos_policy_id ,
271+ ]
272+
273+ verifylist = [
274+ ('type' , RULE_TYPE_BANDWIDTH_LIMIT ),
275+ ('max_kbps' , self .new_rule .max_kbps ),
276+ ('egress' , True ),
277+ ('qos_policy' , self .new_rule .qos_policy_id ),
278+ ]
279+
280+ rule = network_fakes .FakeNetworkQosRule .create_one_qos_rule (
281+ {'qos_policy_id' : self .qos_policy .id ,
282+ 'type' : RULE_TYPE_BANDWIDTH_LIMIT })
283+ rule .max_burst_kbits = 0
284+ expected_data = (
285+ rule .direction ,
286+ rule .id ,
287+ rule .max_burst_kbits ,
288+ rule .max_kbps ,
289+ rule .project_id ,
290+ rule .qos_policy_id ,
291+ rule .type ,
292+ )
293+
294+ with mock .patch .object (
295+ self .network , "create_qos_bandwidth_limit_rule" ,
296+ return_value = rule ) as create_qos_bandwidth_limit_rule :
297+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
298+ columns , data = (self .cmd .take_action (parsed_args ))
299+
300+ create_qos_bandwidth_limit_rule .assert_called_once_with (
301+ self .qos_policy .id ,
302+ ** {'max_kbps' : self .new_rule .max_kbps ,
303+ 'direction' : self .new_rule .direction }
304+ )
305+ self .assertEqual (self .columns , columns )
306+ self .assertEqual (expected_data , data )
307+
308+ def test_create_all_options (self ):
266309 arglist = [
267310 '--type' , RULE_TYPE_BANDWIDTH_LIMIT ,
268311 '--max-kbps' , str (self .new_rule .max_kbps ),
@@ -309,7 +352,7 @@ def test_create_wrong_options(self):
309352 self .cmd .take_action (parsed_args )
310353 except exceptions .CommandError as e :
311354 msg = ('"Create" rule command for type "bandwidth-limit" '
312- 'requires arguments max_burst_kbps, max_kbps' )
355+ 'requires arguments: max_kbps' )
313356 self .assertEqual (msg , str (e ))
314357
315358
@@ -579,7 +622,7 @@ def test_set_wrong_options(self):
579622 self .cmd .take_action (parsed_args )
580623 except exceptions .CommandError as e :
581624 msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type '
582- '"minimum-bandwidth" only requires arguments direction, '
625+ '"minimum-bandwidth" only requires arguments: direction, '
583626 'min_kbps' % {'rule' : self .new_rule .id })
584627 self .assertEqual (msg , str (e ))
585628
@@ -673,7 +716,7 @@ def test_set_wrong_options(self):
673716 self .cmd .take_action (parsed_args )
674717 except exceptions .CommandError as e :
675718 msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type '
676- '"dscp-marking" only requires arguments dscp_mark' %
719+ '"dscp-marking" only requires arguments: dscp_mark' %
677720 {'rule' : self .new_rule .id })
678721 self .assertEqual (msg , str (e ))
679722
@@ -837,7 +880,7 @@ def test_set_wrong_options(self):
837880 self .cmd .take_action (parsed_args )
838881 except exceptions .CommandError as e :
839882 msg = ('Failed to set Network QoS rule ID "%(rule)s": Rule type '
840- '"bandwidth-limit" only requires arguments direction, '
883+ '"bandwidth-limit" only requires arguments: direction, '
841884 'max_burst_kbps, max_kbps' % {'rule' : self .new_rule .id })
842885 self .assertEqual (msg , str (e ))
843886
0 commit comments