summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/identity/v3/service.py14
-rw-r--r--openstackclient/tests/identity/v3/fakes.py2
-rw-r--r--openstackclient/tests/identity/v3/test_service.py87
3 files changed, 99 insertions, 4 deletions
diff --git a/openstackclient/identity/v3/service.py b/openstackclient/identity/v3/service.py
index 4f622269..f4c5d426 100644
--- a/openstackclient/identity/v3/service.py
+++ b/openstackclient/identity/v3/service.py
@@ -43,6 +43,11 @@ class CreateService(show.ShowOne):
metavar='<service-name>',
help='New service name',
)
+ parser.add_argument(
+ '--description',
+ metavar='<description>',
+ help='New service description',
+ )
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
@@ -67,6 +72,7 @@ class CreateService(show.ShowOne):
service = identity_client.services.create(
name=parsed_args.name,
type=parsed_args.type,
+ description=parsed_args.description,
enabled=enabled,
)
@@ -137,6 +143,11 @@ class SetService(command.Command):
metavar='<service-name>',
help='New service name',
)
+ parser.add_argument(
+ '--description',
+ metavar='<description>',
+ help='New service description',
+ )
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
@@ -156,6 +167,7 @@ class SetService(command.Command):
if (not parsed_args.name
and not parsed_args.type
+ and not parsed_args.description
and not parsed_args.enable
and not parsed_args.disable):
return
@@ -167,6 +179,8 @@ class SetService(command.Command):
kwargs['type'] = parsed_args.type
if parsed_args.name:
kwargs['name'] = parsed_args.name
+ if parsed_args.description:
+ kwargs['description'] = parsed_args.description
if parsed_args.enable:
kwargs['enabled'] = True
if parsed_args.disable:
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py
index 7acaa7f1..fbdac4ed 100644
--- a/openstackclient/tests/identity/v3/fakes.py
+++ b/openstackclient/tests/identity/v3/fakes.py
@@ -147,11 +147,13 @@ ROLE = {
service_id = 's-123'
service_name = 'Texaco'
service_type = 'gas'
+service_description = 'oil brand'
SERVICE = {
'id': service_id,
'name': service_name,
'type': service_type,
+ 'description': service_description,
'enabled': True,
'links': base_url + 'services/' + service_id,
}
diff --git a/openstackclient/tests/identity/v3/test_service.py b/openstackclient/tests/identity/v3/test_service.py
index 57db77b1..5e4dc585 100644
--- a/openstackclient/tests/identity/v3/test_service.py
+++ b/openstackclient/tests/identity/v3/test_service.py
@@ -51,6 +51,7 @@ class TestServiceCreate(TestService):
]
verifylist = [
('name', identity_fakes.service_name),
+ ('description', None),
('enable', False),
('disable', False),
('type', identity_fakes.service_type),
@@ -64,12 +65,50 @@ class TestServiceCreate(TestService):
self.services_mock.create.assert_called_with(
name=identity_fakes.service_name,
type=identity_fakes.service_type,
+ description=None,
enabled=True,
)
- collist = ('enabled', 'id', 'name', 'type')
+ collist = ('description', 'enabled', 'id', 'name', 'type')
self.assertEqual(columns, collist)
datalist = (
+ identity_fakes.service_description,
+ True,
+ identity_fakes.service_id,
+ identity_fakes.service_name,
+ identity_fakes.service_type,
+ )
+ self.assertEqual(data, datalist)
+
+ def test_service_create_description(self):
+ arglist = [
+ '--description', identity_fakes.service_description,
+ identity_fakes.service_type,
+ ]
+ verifylist = [
+ ('name', None),
+ ('description', identity_fakes.service_description),
+ ('enable', False),
+ ('disable', False),
+ ('type', identity_fakes.service_type),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # DisplayCommandBase.take_action() returns two tuples
+ columns, data = self.cmd.take_action(parsed_args)
+
+ # ServiceManager.create(name=, type=, enabled=, **kwargs)
+ self.services_mock.create.assert_called_with(
+ name=None,
+ type=identity_fakes.service_type,
+ description=identity_fakes.service_description,
+ enabled=True,
+ )
+
+ collist = ('description', 'enabled', 'id', 'name', 'type')
+ self.assertEqual(columns, collist)
+ datalist = (
+ identity_fakes.service_description,
True,
identity_fakes.service_id,
identity_fakes.service_name,
@@ -84,6 +123,7 @@ class TestServiceCreate(TestService):
]
verifylist = [
('name', None),
+ ('description', None),
('enable', True),
('disable', False),
('type', identity_fakes.service_type),
@@ -97,12 +137,14 @@ class TestServiceCreate(TestService):
self.services_mock.create.assert_called_with(
name=None,
type=identity_fakes.service_type,
+ description=None,
enabled=True,
)
- collist = ('enabled', 'id', 'name', 'type')
+ collist = ('description', 'enabled', 'id', 'name', 'type')
self.assertEqual(columns, collist)
datalist = (
+ identity_fakes.service_description,
True,
identity_fakes.service_id,
identity_fakes.service_name,
@@ -117,6 +159,7 @@ class TestServiceCreate(TestService):
]
verifylist = [
('name', None),
+ ('description', None),
('enable', False),
('disable', True),
('type', identity_fakes.service_type),
@@ -130,12 +173,14 @@ class TestServiceCreate(TestService):
self.services_mock.create.assert_called_with(
name=None,
type=identity_fakes.service_type,
+ description=None,
enabled=False,
)
- collist = ('enabled', 'id', 'name', 'type')
+ collist = ('description', 'enabled', 'id', 'name', 'type')
self.assertEqual(columns, collist)
datalist = (
+ identity_fakes.service_description,
True,
identity_fakes.service_id,
identity_fakes.service_name,
@@ -239,6 +284,7 @@ class TestServiceSet(TestService):
verifylist = [
('type', None),
('name', None),
+ ('description', None),
('enable', False),
('disable', False),
('service', identity_fakes.service_name),
@@ -256,6 +302,7 @@ class TestServiceSet(TestService):
verifylist = [
('type', identity_fakes.service_type),
('name', None),
+ ('description', None),
('enable', False),
('disable', False),
('service', identity_fakes.service_name),
@@ -283,6 +330,7 @@ class TestServiceSet(TestService):
verifylist = [
('type', None),
('name', identity_fakes.service_name),
+ ('description', None),
('enable', False),
('disable', False),
('service', identity_fakes.service_name),
@@ -302,6 +350,34 @@ class TestServiceSet(TestService):
**kwargs
)
+ def test_service_set_description(self):
+ arglist = [
+ '--description', identity_fakes.service_description,
+ identity_fakes.service_name,
+ ]
+ verifylist = [
+ ('type', None),
+ ('name', None),
+ ('description', identity_fakes.service_description),
+ ('enable', False),
+ ('disable', False),
+ ('service', identity_fakes.service_name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.run(parsed_args)
+ self.assertEqual(result, 0)
+
+ # Set expected values
+ kwargs = {
+ 'description': identity_fakes.service_description,
+ }
+ # ServiceManager.update(service, name=, type=, enabled=, **kwargs)
+ self.services_mock.update.assert_called_with(
+ identity_fakes.service_id,
+ **kwargs
+ )
+
def test_service_set_enable(self):
arglist = [
'--enable',
@@ -310,6 +386,7 @@ class TestServiceSet(TestService):
verifylist = [
('type', None),
('name', None),
+ ('description', None),
('enable', True),
('disable', False),
('service', identity_fakes.service_name),
@@ -337,6 +414,7 @@ class TestServiceSet(TestService):
verifylist = [
('type', None),
('name', None),
+ ('description', None),
('enable', False),
('disable', True),
('service', identity_fakes.service_name),
@@ -388,9 +466,10 @@ class TestServiceShow(TestService):
identity_fakes.service_name,
)
- collist = ('enabled', 'id', 'name', 'type')
+ collist = ('description', 'enabled', 'id', 'name', 'type')
self.assertEqual(columns, collist)
datalist = (
+ identity_fakes.service_description,
True,
identity_fakes.service_id,
identity_fakes.service_name,