Merge "Adding description for testcases - identity part2"

This commit is contained in:
Zuul 2020-08-14 05:32:25 +00:00 committed by Gerrit Code Review
commit 25ec807af3
10 changed files with 40 additions and 11 deletions

View File

@ -18,11 +18,12 @@ from tempest.lib import decorators
class TestApiDiscovery(base.BaseIdentityV2Test):
"""Tests for API discovery features."""
"""Tests for identity v2 API discovery features."""
@decorators.attr(type='smoke')
@decorators.idempotent_id('ea889a68-a15f-4166-bfb1-c12456eae853')
def test_api_version_resources(self):
"""Test showing identity v2 api version resources"""
descr = self.non_admin_client.show_api_description()['version']
expected_resources = ('id', 'links', 'media-types', 'status',
'updated')
@ -34,6 +35,7 @@ class TestApiDiscovery(base.BaseIdentityV2Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('007a0be0-78fe-4fdb-bbee-e9216cc17bb2')
def test_api_media_types(self):
"""Test showing identity v2 api version media type"""
descr = self.non_admin_client.show_api_description()['version']
# Get MIME type bases and descriptions
media_types = [(media_type['base'], media_type['type']) for
@ -49,6 +51,7 @@ class TestApiDiscovery(base.BaseIdentityV2Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('77fd6be0-8801-48e6-b9bf-38cdd2f253ec')
def test_api_version_statuses(self):
"""Test showing identity v2 api version status"""
descr = self.non_admin_client.show_api_description()['version']
status = descr['status'].lower()
supported_statuses = ['current', 'stable', 'experimental',

View File

@ -18,10 +18,11 @@ from tempest.lib import decorators
class ExtensionTestJSON(base.BaseIdentityV2Test):
"""Test extensions in identity v2 API"""
@decorators.idempotent_id('85f3f661-f54c-4d48-b563-72ae952b9383')
def test_list_extensions(self):
# List all the extensions
"""List all the identity extensions via v2 API"""
body = self.non_admin_client.list_extensions()['extensions']['values']
self.assertNotEmpty(body)
keys = ['name', 'updated', 'alias', 'links',

View File

@ -19,11 +19,13 @@ from tempest.lib import exceptions as lib_exc
class IdentityTenantsTest(base.BaseIdentityV2Test):
"""Test listing tenants in identity v2 API"""
credentials = ['primary', 'alt']
@decorators.idempotent_id('ecae2459-243d-4ba1-ad02-65f15dc82b78')
def test_list_tenants_returns_only_authorized_tenants(self):
"""Test listing tenants only returns authorized tenants via v2 API"""
alt_tenant_name = self.os_alt.credentials.tenant_name
resp = self.non_admin_tenants_client.list_tenants()

View File

@ -20,10 +20,11 @@ from tempest.lib import decorators
class TokensTest(base.BaseIdentityV2Test):
"""Test tokens in identity v2 API"""
@decorators.idempotent_id('65ae3b78-91ff-467b-a705-f6678863b8ec')
def test_create_token(self):
"""Test creating token for user via v2 API"""
token_client = self.non_admin_token_client
# get a token for the user

View File

@ -28,6 +28,7 @@ CONF = config.CONF
class IdentityUsersTest(base.BaseIdentityV2Test):
"""Test user password in identity v2 API"""
@classmethod
def resource_setup(cls):
@ -85,6 +86,7 @@ class IdentityUsersTest(base.BaseIdentityV2Test):
'immutable user source and solely '
'provides read-only access to users.')
def test_user_update_own_password(self):
"""test updating user's own password via v2 API"""
old_pass = self.creds.password
old_token = self.non_admin_users_client.token
new_pass = data_utils.rand_password()

View File

@ -22,10 +22,11 @@ CONF = config.CONF
class TestApiDiscovery(base.BaseIdentityV3Test):
"""Tests for API discovery features."""
"""Tests for identity API discovery features."""
@decorators.idempotent_id('79aec9ae-710f-4c54-a4fc-3aa25b4feac3')
def test_identity_v3_existence(self):
"""Test that identity v3 version should exist"""
versions = self.non_admin_versions_client.list_versions()
found = any(
"v3" in version.get('id')
@ -35,9 +36,12 @@ class TestApiDiscovery(base.BaseIdentityV3Test):
@decorators.idempotent_id('721f480f-35b6-46c7-846e-047e6acea0dc')
@decorators.attr(type='smoke')
def test_list_api_versions(self):
# NOTE: Actually this API doesn't depend on v3 API at all, because
# the API operation is "GET /" without v3's endpoint. The reason of
# this test path is just v3 API is CURRENT on Keystone side.
"""Test listing identity api versions
NOTE: Actually this API doesn't depend on v3 API at all, because
the API operation is "GET /" without v3's endpoint. The reason of
this test path is just v3 API is CURRENT on Keystone side.
"""
versions = self.non_admin_versions_client.list_versions()
expected_resources = ('id', 'links', 'media-types', 'status',
'updated')
@ -49,6 +53,7 @@ class TestApiDiscovery(base.BaseIdentityV3Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('b9232f5e-d9e5-4d97-b96c-28d3db4de1bd')
def test_api_version_resources(self):
"""Test showing identity v3 api version resources"""
descr = self.non_admin_client.show_api_description()['version']
expected_resources = ('id', 'links', 'media-types', 'status',
'updated')
@ -60,6 +65,7 @@ class TestApiDiscovery(base.BaseIdentityV3Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('657c1970-4722-4189-8831-7325f3bc4265')
def test_api_media_types(self):
"""Test showing identity v3 api version media type"""
descr = self.non_admin_client.show_api_description()['version']
# Get MIME type bases and descriptions
media_types = [(media_type['base'], media_type['type']) for
@ -75,6 +81,7 @@ class TestApiDiscovery(base.BaseIdentityV3Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('8879a470-abfb-47bb-bb8d-5a7fd279ad1e')
def test_api_version_statuses(self):
"""Test showing identity v3 api version status"""
descr = self.non_admin_client.show_api_description()['version']
status = descr['status'].lower()
supported_statuses = ['current', 'stable', 'experimental',

View File

@ -21,6 +21,7 @@ CONF = config.CONF
class DefaultDomainTestJSON(base.BaseIdentityV3Test):
"""Test identity default domains"""
@classmethod
def setup_clients(cls):
@ -35,5 +36,6 @@ class DefaultDomainTestJSON(base.BaseIdentityV3Test):
@decorators.attr(type='smoke')
@decorators.idempotent_id('17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5')
def test_default_domain_exists(self):
"""Test showing default domain"""
domain = self.domains_client.show_domain(self.domain_id)['domain']
self.assertTrue(domain['enabled'])

View File

@ -19,11 +19,13 @@ from tempest.lib import exceptions as lib_exc
class IdentityV3ProjectsTest(base.BaseIdentityV3Test):
"""Test identity projects"""
credentials = ['primary', 'alt']
@decorators.idempotent_id('86128d46-e170-4644-866a-cc487f699e1d')
def test_list_projects_returns_only_authorized_projects(self):
"""Test listing projects only returns authorized projects"""
alt_project_name = self.os_alt.credentials.project_name
resp = self.non_admin_users_client.list_user_projects(
self.os_primary.credentials.user_id)

View File

@ -24,9 +24,11 @@ from tempest.lib import exceptions as lib_exc
class TokensV3Test(base.BaseIdentityV3Test):
"""Test identity tokens"""
@decorators.idempotent_id('a9512ac3-3909-48a4-b395-11f438e16260')
def test_validate_token(self):
"""Test validating token for user"""
creds = self.os_primary.credentials
user_id = creds.user_id
username = creds.username
@ -69,7 +71,7 @@ class TokensV3Test(base.BaseIdentityV3Test):
@decorators.idempotent_id('6f8e4436-fc96-4282-8122-e41df57197a9')
def test_create_token(self):
"""Test creating token for user"""
creds = self.os_primary.credentials
user_id = creds.user_id
username = creds.username
@ -120,9 +122,12 @@ class TokensV3Test(base.BaseIdentityV3Test):
@decorators.idempotent_id('0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212')
def test_token_auth_creation_existence_deletion(self):
# Tests basic token auth functionality in a way that is compatible with
# pre-provisioned credentials. The default user is used for token
# authentication.
"""Test auth/check existence/delete token for user
Tests basic token auth functionality in a way that is compatible with
pre-provisioned credentials. The default user is used for token
authentication.
"""
# Valid user's token is authenticated
user = self.os_primary.credentials

View File

@ -28,6 +28,7 @@ CONF = config.CONF
class IdentityV3UsersTest(base.BaseIdentityV3Test):
"""Test identity user password"""
@classmethod
def resource_setup(cls):
@ -82,6 +83,7 @@ class IdentityV3UsersTest(base.BaseIdentityV3Test):
'immutable user source and solely '
'provides read-only access to users.')
def test_user_update_own_password(self):
"""Test updating user's own password"""
old_pass = self.creds.password
old_token = self.non_admin_client.token
new_pass = data_utils.rand_password()
@ -111,6 +113,7 @@ class IdentityV3UsersTest(base.BaseIdentityV3Test):
'immutable user source and solely '
'provides read-only access to users.')
def test_password_history_check_self_service_api(self):
"""Test checking password changing history"""
old_pass = self.creds.password
new_pass1 = data_utils.rand_password()
new_pass2 = data_utils.rand_password()
@ -141,6 +144,7 @@ class IdentityV3UsersTest(base.BaseIdentityV3Test):
'Security compliance not available.')
@decorators.idempotent_id('a7ad8bbf-2cff-4520-8c1d-96332e151658')
def test_user_account_lockout(self):
"""Test locking out user account after failure attempts"""
if (CONF.identity.user_lockout_failure_attempts <= 0 or
CONF.identity.user_lockout_duration <= 0):
raise self.skipException(