keystone/keystone/tests/unit
Henry Nash 407eabde41 Add CRUD support for domain specific roles
This patch expands the definition of a role to include an
optional domain_id, which is included in the uniqueness
contraint along with the role name.

The V8 role driver wrapper is updated to ensure that
older drivers are oblivious to this change (and an
attempt to create a domain specific role with a V8 driver
will raise a NotImplemented exception).

An additional item of note, is that since the uniqueness
constraint contains a nullable value, we actually store
a special value (as opposed to None) in the sql attribute so
as to still use the sql uniqueness constraint to ensure
we do not have race conditions in multi-process keystone
configurations. This special value is entirely hidden within
the sql driver and is not exposed to the manager layer and
above. We do not support domain specific roles in the LDAP backend.

Follow-on patches will modify the policy rules for the role
APIs as well as modify the implied roles mechanism to support
domain specific roles so that they are actually useful.

Partially Implements: blueprint domain-specific-roles
Change-Id: I74a8403a7bda271342708d282fd3f3f8aae63dc9
2016-02-10 17:12:23 +00:00
..
auth Use stevedore for auth drivers 2015-06-18 21:04:14 -05:00
backend Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
catalog Fix order of arguments in assertEqual 2015-09-25 02:06:55 -07:00
common Support multiple URLs for LDAP server 2016-02-07 08:21:00 +00:00
config_files Remove additional references to ldap role attribs 2016-01-22 01:41:42 +00:00
contrib Merge "Raise more precise exception on keyword mapping errors" 2016-02-01 17:03:49 +00:00
external Adds interface tests for timeutils 2015-09-23 12:43:37 +00:00
identity Test: make enforce_type=True in CONF.set_override 2016-01-03 20:35:00 +08:00
ksfixtures Refactor test auth_plugin config into fixture 2016-01-12 18:11:08 +00:00
saml2 Add openstack_user_domain to assertion 2015-05-04 14:33:48 -03:00
tests Change LOG.warn to LOG.warning 2016-01-06 19:30:37 +00:00
token Consolidate the fernet provider validate_v3_token() 2016-02-03 22:09:28 +00:00
__init__.py Removes py3 test import hacks 2015-09-04 18:20:44 +00:00
core.py Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
default_catalog.templates Move existing tests to unit 2015-02-13 15:54:29 -06:00
default_fixtures.py Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
fakeldap.py Limiting for fake LDAP 2015-12-10 07:28:21 +00:00
federation_fixtures.py Move existing tests to unit 2015-02-13 15:54:29 -06:00
filtering.py Fix D202: No blank lines after function docstring (PEP257) 2015-10-28 07:25:04 +00:00
identity_mapping.py Fix D202: No blank lines after function docstring (PEP257) 2015-10-28 07:25:04 +00:00
mapping_fixtures.py Fix some word spellings 2016-02-03 13:33:24 +05:30
rest.py test_credential.py work with python34 2016-02-05 10:38:53 +08:00
test_associate_project_endpoint_extension.py Add testcases to check cache invalidation 2016-01-21 11:41:22 +08:00
test_auth.py Merge "Add support for strict url safe option on new projects and domains" 2016-01-19 22:58:55 +00:00
test_auth_plugin.py Fix order of arguments in assertEqual 2015-09-25 02:06:55 -07:00
test_backend.py Fix some word spellings 2016-02-03 13:33:24 +05:30
test_backend_endpoint_policy.py Use new_policy_ref consistently 2015-12-09 10:18:36 -08:00
test_backend_endpoint_policy_sql.py Fixes the SQL model tests 2015-03-08 05:34:48 +00:00
test_backend_federation_sql.py Add relay_state_prefix to Service Provider 2015-03-28 06:29:00 +00:00
test_backend_id_mapping_sql.py Use unit.new_domain_ref consistently 2015-11-12 10:14:50 +00:00
test_backend_kvs.py Removed deprecated revoke KVS backend 2016-01-25 01:08:15 -08:00
test_backend_ldap.py Enhance manager list_role_assignments to support group listing 2016-01-26 17:15:32 +00:00
test_backend_ldap_pool.py Remove duplicate LDAP test class 2016-01-22 01:00:14 +00:00
test_backend_rules.py Refactor: change 404 status codes in test names 2015-10-09 15:08:23 +00:00
test_backend_sql.py Implied roles driver and manager 2016-01-19 03:47:49 +00:00
test_backend_templated.py Removes KVS catalog backend 2016-01-19 21:26:30 -05:00
test_catalog.py Remove unfixable FIXME 2015-12-09 15:21:09 -03:00
test_cert_setup.py Use subprocess.check_output instead of Popen 2015-11-25 01:38:54 +00:00
test_cli.py Replace exit() with sys.exit() 2016-02-09 00:25:10 +00:00
test_config.py Merge keystone.config into keystone.common.config 2015-11-19 08:24:51 -06:00
test_contrib_s3_core.py Fix string conversion in s3 handler for python 2 2015-11-18 13:25:27 +03:00
test_contrib_simple_cert.py Deprecate simple_cert extension 2016-02-02 15:43:02 -08:00
test_credential.py Consolidate `test_contrib_ec2.py` into `test_credential.py` 2016-02-05 10:22:41 +08:00
test_driver_hints.py Use assertTrue/False instead of assertEqual(T/F) 2015-11-02 09:10:38 +00:00
test_exception.py Config option for insecure responses 2015-11-19 08:16:07 -06:00
test_hacking_checks.py Fixes hacking logger test cases to use same base 2016-01-06 19:57:04 +00:00
test_ipv6.py Change tests to use common name for keystone.tests.unit 2015-09-04 18:21:42 +00:00
test_kvs.py Fixes kvs cache key mangling issue for Py3 2015-12-22 09:12:41 -06:00
test_ldap_livetest.py Remove more ldap project references 2016-01-21 22:20:16 +00:00
test_ldap_pool_livetest.py Use unit.new_user_ref consistently 2015-11-17 19:20:33 +00:00
test_ldap_tls_livetest.py Use unit.new_user_ref consistently 2015-11-17 19:20:33 +00:00
test_middleware.py Merge "Replace unicode with six.text_type" 2016-02-01 23:54:31 +00:00
test_no_admin_token_auth.py Merge "Refactor: Don't hard code the error code" 2015-09-14 01:58:49 +00:00
test_policy.py Add missing colon separators to inline comments 2015-11-19 13:40:48 +00:00
test_revoke.py Removed deprecated revoke KVS backend 2016-01-25 01:08:15 -08:00
test_sql_livetest.py Move revoke sql migrations to common 2015-11-18 15:14:15 +00:00
test_sql_migrate_extensions.py Remove example extension 2015-11-24 15:07:00 +00:00
test_sql_upgrade.py Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
test_ssl.py Change tests to use common name for keystone.tests.unit 2015-09-04 18:21:42 +00:00
test_token_bind.py Change tests to use common name for keystone.tests.unit 2015-09-04 18:21:42 +00:00
test_token_provider.py Revert "skip test_get_token_id_error_handling to get gate passing" 2016-01-24 23:03:09 +00:00
test_url_middleware.py Fix D204: blank line required after class docstring (PEP257) 2015-10-28 07:25:24 +00:00
test_v2.py Removed deprecated revoke KVS backend 2016-01-25 01:08:15 -08:00
test_v2_controller.py Fixes style issues in a v2 controller tests 2016-01-23 02:05:59 +00:00
test_v3.py Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
test_v3_assignment.py Add CRUD support for domain specific roles 2016-02-10 17:12:23 +00:00
test_v3_auth.py Merge "Implied Roles API" 2016-02-03 19:22:36 +00:00
test_v3_catalog.py Cleanup region refs 2015-11-25 07:47:15 -08:00
test_v3_credential.py Reuse project scoped token check for trusts 2016-01-28 19:43:00 +00:00
test_v3_domain_config.py Support the reading of default values of domain configuration options 2016-01-15 06:20:38 +00:00
test_v3_endpoint_policy.py Use new_policy_ref consistently 2015-12-09 10:18:36 -08:00
test_v3_federation.py Merge "Expose method list inconsistency in federation api" 2016-02-03 23:04:28 +00:00
test_v3_filters.py Use new_policy_ref consistently 2015-12-09 10:18:36 -08:00
test_v3_identity.py Test hyphens instead of underscores in request attributes 2016-01-27 19:41:52 +00:00
test_v3_oauth1.py Merge "Use new_trust_ref consistently" 2015-12-05 01:16:46 +00:00
test_v3_os_revoke.py Move revoke extension into core 2015-11-18 15:14:07 +00:00
test_v3_policy.py Use new_policy_ref consistently 2015-12-09 10:18:36 -08:00
test_v3_protection.py Add tests for role management with v3policy file 2016-02-03 21:29:28 +00:00
test_v3_resource.py Correct docstrings 2016-02-01 21:35:15 -05:00
test_v3_trust.py Reuse project scoped token check for trusts 2016-01-28 19:43:00 +00:00
test_validation.py Adds validation negative unit tests 2016-02-06 03:29:47 +00:00
test_versions.py Implied Roles API 2016-01-29 16:47:21 +00:00
test_wsgi.py Merge "Config option for insecure responses" 2016-01-06 09:08:58 +00:00
utils.py Trival: Remove unused logging import 2015-12-26 15:14:25 +08:00