Add Keystone role and service test cases
Add two test cases about Keystone role and service:
test_get_role_by_id
test_create_service_without_description
Change-Id: I5c09e82bb9afbb6d1d8a81dfd6e7408b4ffdd58f
diff --git a/tempest/api/identity/admin/test_roles.py b/tempest/api/identity/admin/test_roles.py
index 81bc5de..307e21d 100644
--- a/tempest/api/identity/admin/test_roles.py
+++ b/tempest/api/identity/admin/test_roles.py
@@ -77,6 +77,18 @@
self.assertFalse(any(found))
@test.attr(type='gate')
+ def test_get_role_by_id(self):
+ # Get a role by its id
+ self.data.setup_test_role()
+ role_id = self.data.role['id']
+ role_name = self.data.role['name']
+ resp, body = self.client.get_role(role_id)
+ self.assertIn('status', resp)
+ self.assertTrue('200', resp['status'])
+ self.assertEqual(role_id, body['id'])
+ self.assertEqual(role_name, body['name'])
+
+ @test.attr(type='gate')
def test_assign_user_role(self):
# Assign a role to a user on a tenant
(user, tenant, role) = self._get_role_params()
diff --git a/tempest/api/identity/admin/test_services.py b/tempest/api/identity/admin/test_services.py
index 459c44c..b0e6cdb 100644
--- a/tempest/api/identity/admin/test_services.py
+++ b/tempest/api/identity/admin/test_services.py
@@ -66,6 +66,20 @@
self.assertEqual(fetched_service['description'],
service_data['description'])
+ @attr(type='gate')
+ def test_create_service_without_description(self):
+ # Create a service only with name and type
+ name = data_utils.rand_name('service-')
+ type = data_utils.rand_name('type--')
+ resp, service = self.client.create_service(name, type)
+ self.assertIn('id', service)
+ self.assertTrue('200', resp['status'])
+ self.addCleanup(self._del_service, service['id'])
+ self.assertIn('name', service)
+ self.assertEqual(name, service['name'])
+ self.assertIn('type', service)
+ self.assertEqual(type, service['type'])
+
@attr(type='smoke')
def test_list_services(self):
# Create, List, Verify and Delete Services
diff --git a/tempest/services/identity/json/identity_client.py b/tempest/services/identity/json/identity_client.py
index 99b4036..4a6cdad 100644
--- a/tempest/services/identity/json/identity_client.py
+++ b/tempest/services/identity/json/identity_client.py
@@ -49,6 +49,12 @@
resp, body = self.post('OS-KSADM/roles', post_body)
return resp, self._parse_resp(body)
+ def get_role(self, role_id):
+ """Get a role by its id."""
+ resp, body = self.get('OS-KSADM/roles/%s' % role_id)
+ body = json.loads(body)
+ return resp, body['role']
+
def create_tenant(self, name, **kwargs):
"""
Create a tenant
diff --git a/tempest/services/identity/xml/identity_client.py b/tempest/services/identity/xml/identity_client.py
index c5bf310..89cb6a1 100644
--- a/tempest/services/identity/xml/identity_client.py
+++ b/tempest/services/identity/xml/identity_client.py
@@ -31,6 +31,11 @@
str(xml.Document(create_role)))
return resp, self._parse_resp(body)
+ def get_role(self, role_id):
+ """Get a role by its id."""
+ resp, body = self.get('OS-KSADM/roles/%s' % role_id)
+ return resp, self._parse_resp(body)
+
def create_tenant(self, name, **kwargs):
"""
Create a tenant