Merge "Adding description for testcases - identity part1"

This commit is contained in:
Zuul 2020-04-18 02:43:28 +00:00 committed by Gerrit Code Review
commit 9fe0e9ea6c
8 changed files with 33 additions and 19 deletions

View File

@ -19,6 +19,7 @@ from tempest.lib import decorators
class EndPointsTestJSON(base.BaseIdentityV2AdminTest):
"""Test keystone v2 endpoints"""
@classmethod
def resource_setup(cls):
@ -51,6 +52,7 @@ class EndPointsTestJSON(base.BaseIdentityV2AdminTest):
@decorators.idempotent_id('11f590eb-59d8-4067-8b2b-980c7f387f51')
def test_list_endpoints(self):
"""Test listing keystone endpoints"""
# Get a list of endpoints
fetched_endpoints = self.endpoints_client.list_endpoints()['endpoints']
# Asserting LIST endpoints
@ -62,6 +64,7 @@ class EndPointsTestJSON(base.BaseIdentityV2AdminTest):
@decorators.idempotent_id('9974530a-aa28-4362-8403-f06db02b26c1')
def test_create_list_delete_endpoint(self):
"""Test creating, listing and deleting a keystone endpoint"""
region = data_utils.rand_name('region')
url = data_utils.rand_url()
endpoint = self.endpoints_client.create_endpoint(

View File

@ -22,6 +22,7 @@ CONF = config.CONF
class TestDefaultProjectId(base.BaseIdentityV3AdminTest):
"""Test creating a token without project will default to user's project"""
@classmethod
def setup_credentials(cls):
@ -35,11 +36,11 @@ class TestDefaultProjectId(base.BaseIdentityV3AdminTest):
self.domains_client.delete_domain(domain_id)
@testtools.skipIf(CONF.identity_feature_enabled.immutable_user_source,
'Skipped because environment has an '
'immutable user source and solely '
'provides read-only access to users.')
'Skipped because environment has an immutable user '
'source and solely provides read-only access to users.')
@decorators.idempotent_id('d6110661-6a71-49a7-a453-b5e26640ff6d')
def test_default_project_id(self):
"""Creating a token without project will default to user's project"""
# create a domain
dom_name = data_utils.rand_name('dom')
domain_body = self.domains_client.create_domain(

View File

@ -22,6 +22,7 @@ CONF = config.CONF
class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
"""Test listing keystone users"""
def _list_users_with_params(self, params, key, expected, not_expected):
# Helper method to list users filtered with params and
@ -69,7 +70,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('08f9aabb-dcfe-41d0-8172-82b5fa0bd73d')
def test_list_user_domains(self):
# List users with domain
"""List users with domain"""
params = {'domain_id': self.domain['id']}
self._list_users_with_params(params, 'domain_id',
self.domain_enabled_user,
@ -77,7 +78,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('bff8bf2f-9408-4ef5-b63a-753c8c2124eb')
def test_list_users_with_not_enabled(self):
# List the users with not enabled
"""List the users with not enabled"""
params = {'enabled': False}
self._list_users_with_params(params, 'enabled',
self.non_domain_enabled_user,
@ -85,7 +86,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('c285bb37-7325-4c02-bff3-3da5d946d683')
def test_list_users_with_name(self):
# List users with name
"""List users with name"""
params = {'name': self.domain_enabled_user['name']}
# When domain specific drivers are enabled the operations
# of listing all users and listing all groups are not supported,
@ -98,7 +99,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('b30d4651-a2ea-4666-8551-0c0e49692635')
def test_list_users(self):
# List users
"""List users"""
# When domain specific drivers are enabled the operations
# of listing all users and listing all groups are not supported,
# they need a domain filter to be specified
@ -120,7 +121,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('b4baa3ae-ac00-4b4e-9e27-80deaad7771f')
def test_get_user(self):
# Get a user detail
"""Get a user detail"""
user = self.users_client.show_user(self.users[0]['id'])['user']
self.assertEqual(self.users[0]['id'], user['id'])
self.assertEqual(self.users[0]['name'], user['name'])

View File

@ -19,13 +19,14 @@ from tempest.lib import decorators
class PoliciesTestJSON(base.BaseIdentityV3AdminTest):
"""Test keystone policies"""
def _delete_policy(self, policy_id):
self.policies_client.delete_policy(policy_id)
@decorators.idempotent_id('1a0ad286-2d06-4123-ab0d-728893a76201')
def test_list_policies(self):
# Test to list policies
"""Test to list keystone policies"""
policy_ids = list()
fetched_ids = list()
for _ in range(3):
@ -46,7 +47,7 @@ class PoliciesTestJSON(base.BaseIdentityV3AdminTest):
@decorators.attr(type='smoke')
@decorators.idempotent_id('e544703a-2f03-4cf2-9b0f-350782fdb0d3')
def test_create_update_delete_policy(self):
# Test to update policy
"""Test to update keystone policy"""
blob = data_utils.rand_name('BlobName')
policy_type = data_utils.rand_name('PolicyType')
policy = self.policies_client.create_policy(blob=blob,

View File

@ -25,6 +25,8 @@ CONF = config.CONF
class IdentityV3ProjectTagsTest(base.BaseIdentityV3AdminTest):
"""Test keystone project tags"""
# NOTE: force_tenant_isolation is true in the base class by default but
# overridden to false here to allow test execution for clouds using the
# pre-provisioned credentials provider.
@ -34,6 +36,7 @@ class IdentityV3ProjectTagsTest(base.BaseIdentityV3AdminTest):
@testtools.skipUnless(CONF.identity_feature_enabled.project_tags,
'Project tags not available.')
def test_list_update_delete_project_tags(self):
"""Test listing, updating and deleting of project tags"""
project = self.setup_test_project()
# Create a tag for testing.

View File

@ -20,6 +20,7 @@ from tempest.lib import exceptions as lib_exc
class ServicesTestJSON(base.BaseIdentityV3AdminTest):
"""Test keystone services"""
def _del_service(self, service_id):
# Used for deleting the services created in this class
@ -31,6 +32,7 @@ class ServicesTestJSON(base.BaseIdentityV3AdminTest):
@decorators.attr(type='smoke')
@decorators.idempotent_id('5193aad5-bcb7-411d-85b0-b3b61b96ef06')
def test_create_update_get_service(self):
"""Test creating, updating and getting of keystone service"""
# Creating a Service
name = data_utils.rand_name('service')
serv_type = data_utils.rand_name('type')
@ -63,7 +65,7 @@ class ServicesTestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('d1dcb1a1-2b6b-4da8-bbb8-5532ef6e8269')
def test_create_service_without_description(self):
# Create a service only with name and type
"""Create a keystone service only with name and type"""
name = data_utils.rand_name('service')
serv_type = data_utils.rand_name('type')
service = self.services_client.create_service(
@ -74,7 +76,7 @@ class ServicesTestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('e55908e8-360e-439e-8719-c3230a3e179e')
def test_list_services(self):
# Create, List, Verify and Delete Services
"""Create, List, Verify and Delete Keystone Services"""
service_ids = list()
service_types = list()
for _ in range(3):

View File

@ -27,6 +27,7 @@ CONF = config.CONF
class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
"""Test keystone users"""
@classmethod
def skip_checks(cls):
@ -38,7 +39,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('b537d090-afb9-4519-b95d-270b0708e87e')
def test_user_update(self):
# Test case to check if updating of user attributes is successful.
"""Test case to check if updating of user attributes is successful"""
# Creating first user
u_name = data_utils.rand_name('user')
u_desc = u_name + 'description'
@ -72,6 +73,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('2d223a0e-e457-4a70-9fb1-febe027a0ff9')
def test_update_user_password(self):
"""Test updating user password"""
# Creating User to check password updation
u_name = data_utils.rand_name('user')
original_password = data_utils.rand_password()
@ -98,7 +100,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('a831e70c-e35b-430b-92ed-81ebbc5437b8')
def test_list_user_projects(self):
# List the projects that a user has access upon
"""Test listing the projects that a user has access upon"""
assigned_project_ids = list()
fetched_project_ids = list()
u_project = self.setup_test_project()
@ -141,7 +143,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@decorators.idempotent_id('c10dcd90-461d-4b16-8e23-4eb836c00644')
def test_get_user(self):
# Get a user detail
"""Test getting a user detail"""
user = self.setup_test_user()
fetched_user = self.users_client.show_user(user['id'])['user']
self.assertEqual(user['id'], fetched_user['id'])
@ -150,6 +152,7 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
'Security compliance not available.')
@decorators.idempotent_id('568cd46c-ee6c-4ab4-a33a-d3791931979e')
def test_password_history_not_enforced_in_admin_reset(self):
"""Test setting same password when password history is not enforced"""
old_password = self.os_primary.credentials.password
user_id = self.os_primary.credentials.user_id

View File

@ -19,9 +19,11 @@ CONF = config.CONF
class IdentityCatalogTest(base.BaseIdentityV3Test):
"""Test service's catalog type values"""
@decorators.idempotent_id('56b57ced-22b8-4127-9b8a-565dfb0207e2')
def test_catalog_standardization(self):
"""Test that every service has a standard catalog type value"""
# https://opendev.org/openstack/service-types-authority
# /src/branch/master/service-types.yaml
standard_service_values = [{'name': 'keystone', 'type': 'identity'},
@ -31,11 +33,9 @@ class IdentityCatalogTest(base.BaseIdentityV3Test):
# next, we need to GET the catalog using the catalog client
catalog = self.non_admin_catalog_client.show_catalog()['catalog']
# get list of the service types present in the catalog
catalog_services = []
for service in catalog:
catalog_services.append(service['type'])
catalog_services = [service['type'] for service in catalog]
for service in standard_service_values:
# if service enabled, check if it has a standard typevalue
# if service enabled, check if it has a standard type value
if service['name'] == 'keystone' or\
getattr(CONF.service_available, service['name']):
self.assertIn(service['type'], catalog_services)