summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJude Job <judeopenstack@gmail.com>2015-12-30 16:17:30 +0530
committerDavid Stanek <dstanek@dstanek.com>2016-01-27 20:23:17 +0000
commit677ef6d44f36f2347d846eba3a8e479ed2b0f364 (patch)
tree357a29ea95000c54f944c651c995708833697f7a
parentb30722df4015a8fe184d2e7e8c9cdafcb1565955 (diff)
downloadpython-keystoneclient-677ef6d44f36f2347d846eba3a8e479ed2b0f364.tar.gz
Missing defaults in the create() method in the v2 ServiceManager
This patch include a new method for testing, without description value. Change-Id: Icd04e4479a341e7691fc562b3e09d5aa41a354e7 Closes-Bug: #1318438
-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,