Add a docstring and rename mapping tests

Renamed MappingTests to MappingCRUDTests, in order to account
for new rules processing tests. Also added a docstring.

Change-Id: I78cba95f05647858fb33840fcc3cb47e9d2d95af
remove access log middleware from the default paste pipeline

Implements: bp deprecated-as-of-icehouse
Change-Id: I1da036d998138964139c7fde3dde7ccb47f6a595
deprecate access log middleware

Change-Id: I1e2e477e39720ff6657c2e75c36bf59df1df8ded
Implements: bp deprecated-as-of-icehouse
Add required properties field to rules schema

Added an extra field in the JSON schema for mapping rules,
that specifies which properites are required.

There is a specific remote rule that may only have a type key.
This ensures that no other keys are specified.

Change-Id: I80f0e5b4bdc275db2d6cd06a81968cef33423a4d
Merge "Add required properties field to rules schema"
Make error strings translatable

The error string for failed authentication, and some others, were not
being translated because they were plain strings. This patch makes them
Messages so they can be translated.

Change-Id: Ic480e88793935e9cdd0b163cebe055c9458896ad
Partial-Bug: #1274638
Merge "Add a docstring and rename mapping tests"
Refactor mutable parameter handling

The use of _mutable_parameters in the federation controllers was confusing.
The mutable parameters were the same each time check_immutable_params was
called, so there was no reason to allow passing in the mutable parameters.

In FederationProvider the mutable parameters was copied for no reason.

Similarly, filter_params is always used with the default keys so there's
no need to allow passing in the keys, and safer to not allow it.

bp identity-providers

Change-Id: I333fb23420282be350330dcb265f54da0fceac21
Refactor federation controller class hierarchy

The FederationProtocol class should not be a subclass of
IdentityProvider, since that means that FederationProtocol will
provide methods like create_identity_provider, which is confusing.

Also, MappingController can use the new base class to share the
base_url calculation.

bp identity-providers

Change-Id: Id9d8b3f7f5990cad66518c9dc5067670cdb58030
Remove unnecessary test methods

These functions aren't needed because the default behavior is to
do the same thing.

bp identity-providers

Change-Id: Ifc066b519cd3564384a617f7ee4009b9fc97f37c
Federation IdentityProvider filter fields on update response

The Federation IdentityProvider was failing to filter the fields
when an update was done. This could lead to extra fields being
returned to the client that should not be returned.

bp identity-providers

Change-Id: Ie909e2b7b7eaf06c555b45daef7de4474aceba2e
Use self.opt_in_group overrides

Use of self.opt_in_group makes option setting "sticky" even when
subsequent configuration files are loaded in. In some cases
(e.g. ``test_cert_setup.CertSetupTestCase``) the directly set
override (not using ``opt_in_group``) could be lost as test further
test cleanup patchsets were proposed. All identified direct
CONF object option setting has been replaced with use of
``opt_in_group``.

Change-Id: Iccd72003b61f775b71ea7402dc70eba1723d2336
bp: keystone-parallel-testing
Refactor Auth plugin configuration options

The auth plugin configuration can now either be specified by the
[auth] methods and [auth] <method name> options or as a class-name
as part of the [auth] methods option (e.g.
keystone.auth.plugins.password.Password). Both styles of auth
method specification can be used at the same time.  No two auth
plugins may register for the same auth method.

Each auth plugin must now define a 'method' attribute that specifies
the auth method it is registering for.

Tests have been modified to use a unified "method" name, this ensures
we are testing the appropriate code paths for auth methods rather than
relying on strings matching in all cases going forward.

Co-Authored-By: Brant Knudson <bknudson@us.ibm.com>
bp: keystone-parallel-testing
Change-Id: Icbb1d63d36726b8dbf7dfd8c6353fa30bbe490de
Sync oslo's policy module

I made some changes to the policy module in oslo to use six.moves.urllib
instead of py3kcompat.urlutils. This change will help us on our way to
being more Python3 friendly.

Our test_policy tests had to be updated because we are stubbing
implementation details in policy.

Change-Id: I23377a4c71f0f0cb58518f0cd5ce341a8a9c4243
Implements: bp keystone-py3kcompat
Merge "remove access log middleware from the default paste pipeline"
Merge "Refactor Auth plugin configuration options"
Merge "Refactor mutable parameter handling"
Merge "Refactor federation controller class hierarchy"
Merge "Remove unnecessary test methods"
Merge "Federation IdentityProvider filter fields on update response"