Skip to content

Commit 50c595b

Browse files
committed
identity: Make better use of argparse
Change-Id: I50d2d28422e609656408b9b59f330d6a78314344 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent 0fd107e commit 50c595b

2 files changed

Lines changed: 23 additions & 31 deletions

File tree

openstackclient/identity/v3/service.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,27 @@ def get_parser(self, prog_name):
5252
enable_group.add_argument(
5353
'--enable',
5454
action='store_true',
55+
dest='is_enabled',
56+
default=True,
5557
help=_('Enable service (default)'),
5658
)
5759
enable_group.add_argument(
5860
'--disable',
59-
action='store_true',
61+
action='store_false',
62+
dest='is_enabled',
63+
default=True,
6064
help=_('Disable service'),
6165
)
6266
return parser
6367

6468
def take_action(self, parsed_args):
6569
identity_client = self.app.client_manager.identity
6670

67-
enabled = True
68-
if parsed_args.disable:
69-
enabled = False
70-
7171
service = identity_client.services.create(
7272
name=parsed_args.name,
7373
type=parsed_args.type,
7474
description=parsed_args.description,
75-
enabled=enabled,
75+
enabled=parsed_args.is_enabled,
7676
)
7777

7878
service._info.pop('links')
@@ -171,11 +171,15 @@ def get_parser(self, prog_name):
171171
enable_group.add_argument(
172172
'--enable',
173173
action='store_true',
174+
dest='is_enabled',
175+
default=None,
174176
help=_('Enable service'),
175177
)
176178
enable_group.add_argument(
177179
'--disable',
178-
action='store_true',
180+
action='store_false',
181+
dest='is_enabled',
182+
default=None,
179183
help=_('Disable service'),
180184
)
181185
return parser
@@ -191,10 +195,8 @@ def take_action(self, parsed_args):
191195
kwargs['name'] = parsed_args.name
192196
if parsed_args.description:
193197
kwargs['description'] = parsed_args.description
194-
if parsed_args.enable:
195-
kwargs['enabled'] = True
196-
if parsed_args.disable:
197-
kwargs['enabled'] = False
198+
if parsed_args.is_enabled is not None:
199+
kwargs['enabled'] = parsed_args.is_enabled
198200

199201
identity_client.services.update(service.id, **kwargs)
200202

openstackclient/tests/unit/identity/v3/test_service.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ def test_service_create_name(self):
6363
verifylist = [
6464
('name', self.service.name),
6565
('description', None),
66-
('enable', False),
67-
('disable', False),
66+
('is_enabled', True),
6867
('type', self.service.type),
6968
]
7069
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -94,8 +93,7 @@ def test_service_create_description(self):
9493
verifylist = [
9594
('name', None),
9695
('description', self.service.description),
97-
('enable', False),
98-
('disable', False),
96+
('is_enabled', True),
9997
('type', self.service.type),
10098
]
10199
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -124,8 +122,7 @@ def test_service_create_enable(self):
124122
verifylist = [
125123
('name', None),
126124
('description', None),
127-
('enable', True),
128-
('disable', False),
125+
('is_enabled', True),
129126
('type', self.service.type),
130127
]
131128
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -154,8 +151,7 @@ def test_service_create_disable(self):
154151
verifylist = [
155152
('name', None),
156153
('description', None),
157-
('enable', False),
158-
('disable', True),
154+
('is_enabled', False),
159155
('type', self.service.type),
160156
]
161157
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -292,8 +288,7 @@ def test_service_set_no_options(self):
292288
('type', None),
293289
('name', None),
294290
('description', None),
295-
('enable', False),
296-
('disable', False),
291+
('is_enabled', None),
297292
('service', self.service.name),
298293
]
299294
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -312,8 +307,7 @@ def test_service_set_type(self):
312307
('type', self.service.type),
313308
('name', None),
314309
('description', None),
315-
('enable', False),
316-
('disable', False),
310+
('is_enabled', None),
317311
('service', self.service.name),
318312
]
319313
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -338,8 +332,7 @@ def test_service_set_name(self):
338332
('type', None),
339333
('name', self.service.name),
340334
('description', None),
341-
('enable', False),
342-
('disable', False),
335+
('is_enabled', None),
343336
('service', self.service.name),
344337
]
345338
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -364,8 +357,7 @@ def test_service_set_description(self):
364357
('type', None),
365358
('name', None),
366359
('description', self.service.description),
367-
('enable', False),
368-
('disable', False),
360+
('is_enabled', None),
369361
('service', self.service.name),
370362
]
371363
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -389,8 +381,7 @@ def test_service_set_enable(self):
389381
('type', None),
390382
('name', None),
391383
('description', None),
392-
('enable', True),
393-
('disable', False),
384+
('is_enabled', True),
394385
('service', self.service.name),
395386
]
396387
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -414,8 +405,7 @@ def test_service_set_disable(self):
414405
('type', None),
415406
('name', None),
416407
('description', None),
417-
('enable', False),
418-
('disable', True),
408+
('is_enabled', False),
419409
('service', self.service.name),
420410
]
421411
parsed_args = self.check_parser(self.cmd, arglist, verifylist)

0 commit comments

Comments
 (0)