keystone/keystone/tests/unit/identity
Brant Knudson 3956163569 Define identity interface - easy cases
The identity interface isn't adequately specified. Nobody could
implement an identity driver using the interface definition as it
is since they wouldn't know what the inputs are or the outputs.
We can't write a Manager using only the interface definition since
the definition is incomplete (For example it didn't even mention
that create_user returns the user).

Several tests are added specifically for the driver interface.
The driver was only tested through the manager, so we didn't have
tests that showed that the driver actually followed its interface,
just however the manager called it.

You might notice that the tests are missing some obvious cases
that should be tested. In some cases this is because the existing
drivers that we have (sql and ldap) don't work the same way. For
example, create_group on the sql driver always returns description
even when it's None while the ldap driver doesn't. I wanted to
keep this change simple and not modify the drivers. The interface
definition can be enhanced along with the drivers and these tests
can be added later.

There might be more requirements that the manager puts on the
drivers than what's documented/tested here. These can be added
later.

Change-Id: I9a9c660f2d98b6ac6cb032b40b32089cb5cf1844
2016-04-19 08:42:36 -05:00
..
backends Define identity interface - easy cases 2016-04-19 08:42:36 -05:00
__init__.py Variable 'domain_ref' referenced before assignment 2014-02-17 14:46:23 +00:00
test_backends.py Merge "Moved name formatting (clean) out of the driver" 2016-04-18 18:44:42 +00:00
test_controllers.py V2 operations create default domain on demand 2016-02-29 20:22:44 +00:00
test_core.py Test: make enforce_type=True in CONF.set_override 2016-01-03 20:35:00 +08:00