UUID vs PKI docs

Change-Id: I698516e212e3a1f470a8131aca207e96925b3a40
refactor test_catalog

- Tests for "missing" attributes are actually testing with null values,
  not missing keys.
- Not being able to explicitly provide alternative URLs resulting in
  hacky workarounds that can be avoiding by simply exposing kwargs with
  reasonable defaults
- Several tests redundantly asserted the expected response status, which
  is already handled by the test framework

Change-Id: Icadb4927bcf03ca7e79fef1507e419a4932f32a9
Related-Bug: 1250765
Easy testing with alternate keystoneclient

It wasn't easy to test with an alternative keystoneclient, just
the checked out ones.

This change makes it easy to test with an alternative local
keystoneclient, just set KSCTEST_PATH to the path:

 KSCTEST_PATH=/opt/stack/python-keystoneclient tox -e py27 KcOptTestCase

Change-Id: I0af834d2861220b72b93265a1ddbfd8bc3d13d49
Try decoding string to UTF-8 on error message fail

Database Errors from SQLAlchemy tend to get mangled into ASCII. If an
error is process that contains UTF-8 data in ASCII form if fails to
build the message and will lead to a 5xx error. Catch the error and try
to decode it to create the message again, if that doesn't work at least
fail gracefully.

Change-Id: Iecb1170387c51064918780dc6de07db7ca8aeeee
Closes-Bug: 1253905
Added documentation to keystone.common.dependency.

All public attributes now have docstrings describing their interface,
and the module has a top level docstring as well. Previously,
documentation was very sparse.

Closes-Bug: #1252428
Change-Id: I9c83883a6d9ae3201c9037c979689cb82c232120
Ensure the sample policy file won't diverge

Currently rules should appear in both policy.v3cloudsample.json and
policy.json. In the future there may be a few exceptions that can be
documented by making the exception explicit in the test.

Change-Id: I3e9cdf64998d667941c44dc6edb48c2f7a9d37c4
Closes-Bug: #1255564
Sync From OSLO

blueprint: key-distribution-server
Change-Id: I424dbd6e8a535279498589444b976ea332e09c64
Allow caching to be disabled and tests still pass

Skip cache specific tests if caching is disabled.  Cache should only
be disabled to eliminate caching as an issue with tests, but in all
cases tests should pass in either configuration.  The default is
to use caching for all tests.

The caching options can be changed for testing purposes in the
keystone/tests/test_overrides.conf file.  The specific options
and sections that support caching can be located in the
configuration document in the section covering the caching layer.

Change-Id: I7848128aeaf3f578b89ab0b9201c45e00efecf11
Refactor assertEqualXML into a testtools matcher

Not all tests inheriting from TestCase will need to check XML equality.
Moving this functionality to a matcher leaves it up to the test class to
decided whether or not it needs it.

Change-Id: Ib28ec3b5dd96f662ce0cd90c650434b24c63ad6c
Related-Bug: #1226466
Add index to cover revoked token list

The individual expires and valid indexes do not fully cover the most
common query, which is the one that lists revoked tokens.

Change-Id: I112332b49dac148e5231b76f3399fe60174a702d
Partial-Bug: #1253755
Merge "Try decoding string to UTF-8 on error message fail"
Merge "Sync From OSLO"
Formalize deprecation of token_api.list_tokens

The token_api.list_tokens method should really only be used internally
to keystone.  This has been the case (as per the docstring) since the
Havana development cycle.  This patchset formalizes the deprecation and
slates the public access to token_api.list_tokens to be removed once
Icehouse ships.

bp: deprecated-as-of-icehouse
Change-Id: I30a066d3775e67fd4a84f07dc351fcfd62751045
Merge "Refactor assertEqualXML into a testtools matcher"
Merge "Added documentation to keystone.common.dependency."
Merge "Ensure the sample policy file won't diverge"
Don't run non-tests

Some functions in keystone.tests.core were running that were not
tests because the name contained "test".

Functions that are not tests should not be run as tests, so these
functions were renamed.

Change-Id: Icb0f0186b2b20e7b6e5a42e068fde2b89e771741
Merge "Easy testing with alternate keystoneclient"
Sync rpc fix from oslo-incubator

Sync the following fixes from oslo-incubator:

ef406a2 Create a shared queue for QPID topic consumers
e227c0e Properly reconnect subscribing clients when QPID broker restarts

Closes-bug: #1251757
Closes-bug: #1257293

Change-Id: I45257c62168163d2d4ceda994c94ff2d16a27300
Remove deprecated code

Essex and keystoneclient 0.1.1 have deprecated and is no
longer supported by the Openstack project so remove
the keystoneclient tests for them.

Change-Id: Ia083ecbfa8e488fd33eb3e8c47fc532196de7ca8
Signed-off-by: Chuck Short <chuck.short@canonical.com>