3232 'egress_firewall_policy' : 'egress_firewall_policy_id' ,
3333 'no_ingress_firewall_policy' : 'ingress_firewall_policy_id' ,
3434 'no_egress_firewall_policy' : 'egress_firewall_policy_id' ,
35+ 'positional_name' : 'name' ,
3536 'project' : 'project_id' ,
3637 'port' : 'ports' ,
3738}
@@ -247,7 +248,6 @@ def _mock_find(*args, **kwargs):
247248 self .network_client .find_port .side_effect = _mock_find
248249 project_id = 'my-project'
249250 arglist = [
250- '--name' ,
251251 name ,
252252 '--description' ,
253253 description ,
@@ -263,7 +263,7 @@ def _mock_find(*args, **kwargs):
263263 '--disable' ,
264264 ]
265265 verifylist = [
266- ('name ' , name ),
266+ ('positional_name ' , name ),
267267 ('description' , description ),
268268 ('ingress_firewall_policy' , ingress_policy ),
269269 ('egress_firewall_policy' , egress_policy ),
@@ -279,6 +279,32 @@ def _mock_find(*args, **kwargs):
279279
280280 self .check_results (headers , data , request )
281281
282+ def test_create_with_name_option_deprecated (self ):
283+ name = 'my-name'
284+ arglist = ['--name' , name ]
285+ verifylist = [('name' , name )]
286+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
287+ with mock .patch .object (fwaas_group .LOG , 'warning' ) as mock_warning :
288+ headers , _data = self .cmd .take_action (parsed_args )
289+ mock_warning .assert_called_once_with (
290+ 'The --name option is deprecated for the "firewall group '
291+ 'create" command, please pass the name as a positional '
292+ 'argument instead.'
293+ )
294+ self .assertEqual (self .ordered_headers , tuple (sorted (headers )))
295+
296+ def test_create_with_both_positional_and_option_name (self ):
297+ name = 'my-name'
298+ arglist = [name , '--name' , 'other-name' ]
299+ verifylist = [
300+ ('positional_name' , name ),
301+ ('name' , 'other-name' ),
302+ ]
303+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
304+ self .assertRaises (
305+ exceptions .CommandError , self .cmd .take_action , parsed_args
306+ )
307+
282308 def test_create_with_shared_and_no_share (self ):
283309 arglist = [
284310 '--share' ,
0 commit comments