diff --git a/keystone/tests/unit/contrib/federation/test_utils.py b/keystone/tests/unit/contrib/federation/test_utils.py index 03e24c6265..7eee36b34c 100644 --- a/keystone/tests/unit/contrib/federation/test_utils.py +++ b/keystone/tests/unit/contrib/federation/test_utils.py @@ -676,6 +676,12 @@ class MappingRuleEngineTests(unit.BaseTestCase): mapping_utils.validate_mapping_structure, mapping) + def test_mapping_validation_with_bad_local_type_user_in_assertion(self): + mapping = mapping_fixtures.MAPPING_BAD_LOCAL_TYPE_USER_IN_ASSERTION + self.assertRaises(exception.ValidationError, + mapping_utils.validate_mapping_structure, + mapping) + def test_mapping_validation_no_local(self): mapping = mapping_fixtures.MAPPING_MISSING_LOCAL self.assertRaises(exception.ValidationError, diff --git a/keystone/tests/unit/mapping_fixtures.py b/keystone/tests/unit/mapping_fixtures.py index 9afeaea16c..2d77d1867c 100644 --- a/keystone/tests/unit/mapping_fixtures.py +++ b/keystone/tests/unit/mapping_fixtures.py @@ -1406,6 +1406,36 @@ MAPPING_BAD_LOCAL_SETUP = { ] } +MAPPING_BAD_LOCAL_TYPE_USER_IN_ASSERTION = { + "rules": [ + { + "local": [ + { + "user": { + "name": "{0}", + "groups": "{1}" + } + } + ], + "remote": [ + { + "type": "openstack_user" + }, + { + "type": "openstack_groups" + + }, + { + "type": "openstack_roles", + "any_one_of": [ + "Admin" + ] + } + ] + }, + ] +} + MAPPING_GROUPS_WITH_EMAIL = { "rules": [ {