summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keystoneclient/tests/unit/v2_0/test_services.py33
-rw-r--r--keystoneclient/v2_0/services.py2
2 files changed, 33 insertions, 2 deletions
diff --git a/keystoneclient/tests/unit/v2_0/test_services.py b/keystoneclient/tests/unit/v2_0/test_services.py
index f57f743..5c75e27 100644
--- a/keystoneclient/tests/unit/v2_0/test_services.py
+++ b/keystoneclient/tests/unit/v2_0/test_services.py
@@ -42,7 +42,7 @@ class ServiceTests(utils.ClientTestCase):
},
}
- def test_create(self):
+ def test_create_with_description(self):
req_body = {
"OS-KSADM:service": {
"name": "swift",
@@ -68,6 +68,37 @@ class ServiceTests(utils.ClientTestCase):
self.assertIsInstance(service, services.Service)
self.assertEqual(service.id, service_id)
self.assertEqual(service.name, req_body['OS-KSADM:service']['name'])
+ self.assertEqual(service.description,
+ req_body['OS-KSADM:service']['description'])
+ self.assertRequestBodyIs(json=req_body)
+
+ def test_create_without_description(self):
+ req_body = {
+ "OS-KSADM:service": {
+ "name": "swift",
+ "type": "object-store",
+ "description": None,
+ }
+ }
+ service_id = uuid.uuid4().hex
+ resp_body = {
+ "OS-KSADM:service": {
+ "name": "swift",
+ "type": "object-store",
+ "id": service_id,
+ "description": None,
+ }
+ }
+ self.stub_url('POST', ['OS-KSADM', 'services'], json=resp_body)
+
+ service = self.client.services.create(
+ req_body['OS-KSADM:service']['name'],
+ req_body['OS-KSADM:service']['type'],
+ req_body['OS-KSADM:service']['description'])
+ self.assertIsInstance(service, services.Service)
+ self.assertEqual(service.id, service_id)
+ self.assertEqual(service.name, req_body['OS-KSADM:service']['name'])
+ self.assertEqual(service.description, None)
self.assertRequestBodyIs(json=req_body)
def test_delete(self):
diff --git a/keystoneclient/v2_0/services.py b/keystoneclient/v2_0/services.py
index d93353c..4e6d3af 100644
--- a/keystoneclient/v2_0/services.py
+++ b/keystoneclient/v2_0/services.py
@@ -35,7 +35,7 @@ class ServiceManager(base.ManagerWithFind):
"""Retrieve a service by id."""
return self._get("/OS-KSADM/services/%s" % id, "OS-KSADM:service")
- def create(self, name, service_type, description):
+ def create(self, name, service_type, description=None):
"""Create a new service."""
body = {"OS-KSADM:service": {'name': name,
'type': service_type,