Skip to content

Commit 8593b0a

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Allow service description to be set for KS V3"
2 parents 416f4d7 + 36ab944 commit 8593b0a

File tree

3 files changed

+99
-4
lines changed

3 files changed

+99
-4
lines changed

openstackclient/identity/v3/service.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ def get_parser(self, prog_name):
4343
metavar='<service-name>',
4444
help='New service name',
4545
)
46+
parser.add_argument(
47+
'--description',
48+
metavar='<description>',
49+
help='New service description',
50+
)
4651
enable_group = parser.add_mutually_exclusive_group()
4752
enable_group.add_argument(
4853
'--enable',
@@ -67,6 +72,7 @@ def take_action(self, parsed_args):
6772
service = identity_client.services.create(
6873
name=parsed_args.name,
6974
type=parsed_args.type,
75+
description=parsed_args.description,
7076
enabled=enabled,
7177
)
7278

@@ -137,6 +143,11 @@ def get_parser(self, prog_name):
137143
metavar='<service-name>',
138144
help='New service name',
139145
)
146+
parser.add_argument(
147+
'--description',
148+
metavar='<description>',
149+
help='New service description',
150+
)
140151
enable_group = parser.add_mutually_exclusive_group()
141152
enable_group.add_argument(
142153
'--enable',
@@ -156,6 +167,7 @@ def take_action(self, parsed_args):
156167

157168
if (not parsed_args.name
158169
and not parsed_args.type
170+
and not parsed_args.description
159171
and not parsed_args.enable
160172
and not parsed_args.disable):
161173
return
@@ -167,6 +179,8 @@ def take_action(self, parsed_args):
167179
kwargs['type'] = parsed_args.type
168180
if parsed_args.name:
169181
kwargs['name'] = parsed_args.name
182+
if parsed_args.description:
183+
kwargs['description'] = parsed_args.description
170184
if parsed_args.enable:
171185
kwargs['enabled'] = True
172186
if parsed_args.disable:

openstackclient/tests/identity/v3/fakes.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,13 @@
147147
service_id = 's-123'
148148
service_name = 'Texaco'
149149
service_type = 'gas'
150+
service_description = 'oil brand'
150151

151152
SERVICE = {
152153
'id': service_id,
153154
'name': service_name,
154155
'type': service_type,
156+
'description': service_description,
155157
'enabled': True,
156158
'links': base_url + 'services/' + service_id,
157159
}

openstackclient/tests/identity/v3/test_service.py

Lines changed: 83 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def test_service_create_name(self):
5151
]
5252
verifylist = [
5353
('name', identity_fakes.service_name),
54+
('description', None),
5455
('enable', False),
5556
('disable', False),
5657
('type', identity_fakes.service_type),
@@ -64,12 +65,50 @@ def test_service_create_name(self):
6465
self.services_mock.create.assert_called_with(
6566
name=identity_fakes.service_name,
6667
type=identity_fakes.service_type,
68+
description=None,
6769
enabled=True,
6870
)
6971

70-
collist = ('enabled', 'id', 'name', 'type')
72+
collist = ('description', 'enabled', 'id', 'name', 'type')
7173
self.assertEqual(columns, collist)
7274
datalist = (
75+
identity_fakes.service_description,
76+
True,
77+
identity_fakes.service_id,
78+
identity_fakes.service_name,
79+
identity_fakes.service_type,
80+
)
81+
self.assertEqual(data, datalist)
82+
83+
def test_service_create_description(self):
84+
arglist = [
85+
'--description', identity_fakes.service_description,
86+
identity_fakes.service_type,
87+
]
88+
verifylist = [
89+
('name', None),
90+
('description', identity_fakes.service_description),
91+
('enable', False),
92+
('disable', False),
93+
('type', identity_fakes.service_type),
94+
]
95+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
96+
97+
# DisplayCommandBase.take_action() returns two tuples
98+
columns, data = self.cmd.take_action(parsed_args)
99+
100+
# ServiceManager.create(name=, type=, enabled=, **kwargs)
101+
self.services_mock.create.assert_called_with(
102+
name=None,
103+
type=identity_fakes.service_type,
104+
description=identity_fakes.service_description,
105+
enabled=True,
106+
)
107+
108+
collist = ('description', 'enabled', 'id', 'name', 'type')
109+
self.assertEqual(columns, collist)
110+
datalist = (
111+
identity_fakes.service_description,
73112
True,
74113
identity_fakes.service_id,
75114
identity_fakes.service_name,
@@ -84,6 +123,7 @@ def test_service_create_enable(self):
84123
]
85124
verifylist = [
86125
('name', None),
126+
('description', None),
87127
('enable', True),
88128
('disable', False),
89129
('type', identity_fakes.service_type),
@@ -97,12 +137,14 @@ def test_service_create_enable(self):
97137
self.services_mock.create.assert_called_with(
98138
name=None,
99139
type=identity_fakes.service_type,
140+
description=None,
100141
enabled=True,
101142
)
102143

103-
collist = ('enabled', 'id', 'name', 'type')
144+
collist = ('description', 'enabled', 'id', 'name', 'type')
104145
self.assertEqual(columns, collist)
105146
datalist = (
147+
identity_fakes.service_description,
106148
True,
107149
identity_fakes.service_id,
108150
identity_fakes.service_name,
@@ -117,6 +159,7 @@ def test_service_create_disable(self):
117159
]
118160
verifylist = [
119161
('name', None),
162+
('description', None),
120163
('enable', False),
121164
('disable', True),
122165
('type', identity_fakes.service_type),
@@ -130,12 +173,14 @@ def test_service_create_disable(self):
130173
self.services_mock.create.assert_called_with(
131174
name=None,
132175
type=identity_fakes.service_type,
176+
description=None,
133177
enabled=False,
134178
)
135179

136-
collist = ('enabled', 'id', 'name', 'type')
180+
collist = ('description', 'enabled', 'id', 'name', 'type')
137181
self.assertEqual(columns, collist)
138182
datalist = (
183+
identity_fakes.service_description,
139184
True,
140185
identity_fakes.service_id,
141186
identity_fakes.service_name,
@@ -239,6 +284,7 @@ def test_service_set_no_options(self):
239284
verifylist = [
240285
('type', None),
241286
('name', None),
287+
('description', None),
242288
('enable', False),
243289
('disable', False),
244290
('service', identity_fakes.service_name),
@@ -256,6 +302,7 @@ def test_service_set_type(self):
256302
verifylist = [
257303
('type', identity_fakes.service_type),
258304
('name', None),
305+
('description', None),
259306
('enable', False),
260307
('disable', False),
261308
('service', identity_fakes.service_name),
@@ -283,6 +330,7 @@ def test_service_set_name(self):
283330
verifylist = [
284331
('type', None),
285332
('name', identity_fakes.service_name),
333+
('description', None),
286334
('enable', False),
287335
('disable', False),
288336
('service', identity_fakes.service_name),
@@ -302,6 +350,34 @@ def test_service_set_name(self):
302350
**kwargs
303351
)
304352

353+
def test_service_set_description(self):
354+
arglist = [
355+
'--description', identity_fakes.service_description,
356+
identity_fakes.service_name,
357+
]
358+
verifylist = [
359+
('type', None),
360+
('name', None),
361+
('description', identity_fakes.service_description),
362+
('enable', False),
363+
('disable', False),
364+
('service', identity_fakes.service_name),
365+
]
366+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
367+
368+
result = self.cmd.run(parsed_args)
369+
self.assertEqual(result, 0)
370+
371+
# Set expected values
372+
kwargs = {
373+
'description': identity_fakes.service_description,
374+
}
375+
# ServiceManager.update(service, name=, type=, enabled=, **kwargs)
376+
self.services_mock.update.assert_called_with(
377+
identity_fakes.service_id,
378+
**kwargs
379+
)
380+
305381
def test_service_set_enable(self):
306382
arglist = [
307383
'--enable',
@@ -310,6 +386,7 @@ def test_service_set_enable(self):
310386
verifylist = [
311387
('type', None),
312388
('name', None),
389+
('description', None),
313390
('enable', True),
314391
('disable', False),
315392
('service', identity_fakes.service_name),
@@ -337,6 +414,7 @@ def test_service_set_disable(self):
337414
verifylist = [
338415
('type', None),
339416
('name', None),
417+
('description', None),
340418
('enable', False),
341419
('disable', True),
342420
('service', identity_fakes.service_name),
@@ -388,9 +466,10 @@ def test_service_show(self):
388466
identity_fakes.service_name,
389467
)
390468

391-
collist = ('enabled', 'id', 'name', 'type')
469+
collist = ('description', 'enabled', 'id', 'name', 'type')
392470
self.assertEqual(columns, collist)
393471
datalist = (
472+
identity_fakes.service_description,
394473
True,
395474
identity_fakes.service_id,
396475
identity_fakes.service_name,

0 commit comments

Comments
 (0)