keystoneauth1.tests.unit package

keystoneauth1.tests.unit package

Subpackages

Submodules

keystoneauth1.tests.unit.client_fixtures module

keystoneauth1.tests.unit.client_fixtures.domain_scoped_token()
keystoneauth1.tests.unit.client_fixtures.project_scoped_token()

keystoneauth1.tests.unit.k2k_fixtures module

keystoneauth1.tests.unit.keystoneauth_fixtures module

class keystoneauth1.tests.unit.keystoneauth_fixtures.HackingCode

Bases: fixtures.fixture.Fixture

A fixture to house the various code examples.

Examples contains various keystoneauth hacking style checks.

oslo_namespace_imports = {'code': '\n import oslo.utils\n import oslo_utils\n import oslo.utils.encodeutils\n import oslo_utils.encodeutils\n from oslo import utils\n from oslo.utils import encodeutils\n from oslo_utils import encodeutils\n\n import oslo.serialization\n import oslo_serialization\n import oslo.serialization.jsonutils\n import oslo_serialization.jsonutils\n from oslo import serialization\n from oslo.serialization import jsonutils\n from oslo_serialization import jsonutils\n\n import oslo.config\n import oslo_config\n import oslo.config.cfg\n import oslo_config.cfg\n from oslo import config\n from oslo.config import cfg\n from oslo_config import cfg\n\n import oslo.i18n\n import oslo_i18n\n import oslo.i18n.log\n import oslo_i18n.log\n from oslo import i18n\n from oslo.i18n import log\n from oslo_i18n import log\n ', 'expected_errors': [(1, 0, 'K333'), (3, 0, 'K333'), (5, 0, 'K333'), (6, 0, 'K333'), (9, 0, 'K333'), (11, 0, 'K333'), (13, 0, 'K333'), (14, 0, 'K333'), (17, 0, 'K333'), (19, 0, 'K333'), (21, 0, 'K333'), (22, 0, 'K333'), (25, 0, 'K333'), (27, 0, 'K333'), (29, 0, 'K333'), (30, 0, 'K333')]}

keystoneauth1.tests.unit.matchers module

class keystoneauth1.tests.unit.matchers.XMLEquals(expected)

Bases: object

Parses two XML documents from strings and compares the results.

match(other)
class keystoneauth1.tests.unit.matchers.XMLMismatch(expected, other)

Bases: testtools.matchers._impl.Mismatch

describe()

Describe the mismatch.

This should be either a human-readable string or castable to a string. In particular, is should either be plain ascii or unicode on Python 2, and care should be taken to escape control characters.

keystoneauth1.tests.unit.oidc_fixtures module

keystoneauth1.tests.unit.test_betamax_fixture module

class keystoneauth1.tests.unit.test_betamax_fixture.TestBetamaxFixture(*args, **kwargs)

Bases: testtools.testcase.TestCase

TEST_AUTH_URL = 'http://keystoneauth-betamax.test/v2.0/'
TEST_PASSWORD = 'test_password'
TEST_TENANT_NAME = 'test_tenant_name'
TEST_USERNAME = 'test_user_name'
V2_TOKEN = {'access': {'token': {'audit_ids': ['c1e4a3681ef74ff18109a679d2aa6f46', None], 'expires': '2020-01-09T16:12:46.428311', 'id': 'b69cd4c4c0ce4dd1aa54ff6d9c317d22', 'issued_at': '2020-01-09T15:12:46.428311', 'tenant': {'id': 'df0a8b0c64554109bb2fc2cf68a0258b', 'name': 'test_tenant_name'}}, 'user': {'id': '49852ad834f441ecb6885083732d775f', 'name': 'test_user_name'}}}
setUp()

Hook method for setting up the test fixture before exercising it.

test_keystoneauth_betamax_fixture()
test_replay_of_bad_url_fails()
class keystoneauth1.tests.unit.test_betamax_fixture.TestBetamaxFixtureSerializerBehaviour(*args, **kwargs)

Bases: testtools.testcase.TestCase

Test the fixture’s logic, not its monkey-patching.

The setUp method of our BetamaxFixture monkey-patches the function to construct a session. We don’t need to test that particular bit of logic here so we do not need to call useFixture in our setUp method.

test_can_pass_custom_serializer(register_serializer)
test_can_pass_serializer_name()
test_no_request_matchers_provided()
test_no_serializer_options_provided()
test_request_matchers()

keystoneauth1.tests.unit.test_betamax_hooks module

class keystoneauth1.tests.unit.test_betamax_hooks.TestBetamaxHooks(*args, **kwargs)

Bases: testtools.testcase.TestCase

test_pre_record_hook_empty_body(mask_fixture_values)
test_pre_record_hook_v2()
test_pre_record_hook_v3()

keystoneauth1.tests.unit.test_betamax_serializer module

class keystoneauth1.tests.unit.test_betamax_serializer.TestBetamaxSerializer(*args, **kwargs)

Bases: testtools.testcase.TestCase

TEST_FILE = '/home/zuul/src/opendev.org/openstack/keystoneauth/keystoneauth1/tests/unit/data/ksa_betamax_test_cassette.yaml'
TEST_JSON = '/home/zuul/src/opendev.org/openstack/keystoneauth/keystoneauth1/tests/unit/data/ksa_serializer_data.json'
setUp()

Hook method for setting up the test fixture before exercising it.

test_deserialize()
test_serialize()

keystoneauth1.tests.unit.test_discovery module

class keystoneauth1.tests.unit.test_discovery.CatalogHackTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

BASE_URL = 'http://keystone.server:5000/'
IDENTITY = 'identity'
OTHER_URL = 'http://other.server:5000/path'
TEST_URL = 'http://keystone.server:5000/v2.0'
V2_URL = 'http://keystone.server:5000/v2.0'
V3_URL = 'http://keystone.server:5000/v3'
setUp()

Hook method for setting up the test fixture before exercising it.

test_ignored_non_service_type()
test_version_hacks()
class keystoneauth1.tests.unit.test_discovery.DiscoverUtils(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

test_version_args()

Validate _normalize_version_args.

test_version_between()
test_version_number()
test_version_to_string()
class keystoneauth1.tests.unit.test_discovery.EndpointDataTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

test_endpoint_data_str()

Validate EndpointData.__str__.

test_project_id_int_fallback()
test_run_discovery_cache(mock_url_choices, mock_get_disc)
class keystoneauth1.tests.unit.test_discovery.VersionDataTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

setUp()

Hook method for setting up the test fixture before exercising it.

test_allow_deprecated()
test_allow_experimental()
test_allow_unknown()
test_cinder_version_data()
test_data_for_no_version()
test_data_for_url()
test_endpoint_data_noauth_adapter()
test_endpoint_data_noauth_discover()
test_endpoint_data_noauth_no_discover()
test_endpoint_data_token_endpoint_adapter()
test_endpoint_data_token_endpoint_discover()
test_endpoint_data_token_endpoint_no_discover()
test_glance_version_data()
test_keystone_version_data()
test_version_data_basics()
test_version_data_individual()
test_version_data_ironic_microversions()

Validate detection of Ironic microversion ranges.

test_version_data_legacy_ironic_microversions()

Validate detection of legacy Ironic microversion ranges.

test_version_data_legacy_ironic_no_override()

Validate detection of legacy Ironic microversion ranges.

test_version_data_microversions()

Validate [min_|max_]version conversion to {min|max}_microversion.

test_version_data_override_version_url()
test_version_data_unknown()

keystoneauth1.tests.unit.test_fair_sempahore module

class keystoneauth1.tests.unit.test_fair_sempahore.SemaphoreTests(*args, **kwargs)

Bases: testtools.testcase.TestCase

setUp()

Hook method for setting up the test fixture before exercising it.

test_semaphore_fast_multiple_concurrency()
test_semaphore_fast_no_concurrency()
test_semaphore_fast_single_concurrency()
test_semaphore_multiple_concurrency()
test_semaphore_no_concurrency()
test_semaphore_single_concurrency()

keystoneauth1.tests.unit.test_fixtures module

class keystoneauth1.tests.unit.test_fixtures.V2TokenTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

test_roles()
test_services()
test_tenant_scoped()
test_token_bind()
test_trust_scoped()
test_unscoped()
class keystoneauth1.tests.unit.test_fixtures.V3TokenTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

test_catalog()
test_domain_scoped()
test_empty_default_service_providers()
test_is_admin_project()
test_oauth_scoped()
test_project_as_domain_scoped()
test_project_scoped()
test_roles()
test_service_providers()
test_token_bind()
test_trust_scoped()
test_unscoped()

keystoneauth1.tests.unit.test_hacking_checks module

class keystoneauth1.tests.unit.test_hacking_checks.TestCheckOsloNamespaceImports(*args, **kwargs)

Bases: testtools.testcase.TestCase

assert_has_errors(code, expected_errors=None)
run_check(code)
test()

keystoneauth1.tests.unit.test_matchers module

class keystoneauth1.tests.unit.test_matchers.TestXMLEquals(*args, **kwargs)

Bases: testtools.testcase.TestCase

describe_examples = [('expected =\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <first z="0" y="1" x="2"/>\n <second a="a" b="b"/>\n</test>\n\nactual =\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <nope_it_fails/>\n</test>\n', b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <nope_it_fails/>\n</test>\n', <keystoneauth1.tests.unit.matchers.XMLEquals object>)]
equivalent_xml = b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <second a="a" b="b"/>\n <first z="0" y="1" x="2"></first>\n</test>\n'
matches_matcher = <keystoneauth1.tests.unit.matchers.XMLEquals object>
matches_matches = [b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <first z="0" y="1" x="2"/>\n <second a="a" b="b"></second>\n</test>\n', b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <second a="a" b="b"/>\n <first z="0" y="1" x="2"></first>\n</test>\n']
matches_mismatches = [b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <nope_it_fails/>\n</test>\n']
matches_xml = b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <first z="0" y="1" x="2"/>\n <second a="a" b="b"></second>\n</test>\n'
mismatches_description = 'expected =\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <first z="0" y="1" x="2"/>\n <second a="a" b="b"/>\n</test>\n\nactual =\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <nope_it_fails/>\n</test>\n'
mismatches_xml = b'<?xml version="1.0" encoding="UTF-8"?>\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\n <nope_it_fails/>\n</test>\n'
str_examples = [('XMLEquals(b\'<?xml version="1.0" encoding="UTF-8"?>\\n<test xmlns="https://docs.openstack.org/identity/api/v2.0">\\n <first z="0" y="1" x="2"/>\\n <second a="a" b="b"></second>\\n</test>\\n\')', <keystoneauth1.tests.unit.matchers.XMLEquals object>)]
test__str__()
test_describe_difference()
test_matches_match()
test_mismatch_details()

keystoneauth1.tests.unit.test_noauth module

class keystoneauth1.tests.unit.test_noauth.NoAuthTest(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

NOAUTH_TOKEN = 'notused'
TEST_URL = 'http://server/prefix'
test_basic_case()
test_get_endpoint()
test_get_endpoint_with_override()
test_noauth_options()

keystoneauth1.tests.unit.test_service_token module

class keystoneauth1.tests.unit.test_service_token.ServiceTokenTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

SERVICE_URL = 'http://service-keystone.example.com/v3'
TEST_URL = 'http://test.example.com/path/'
USER_URL = 'http://user-keystone.example.com/v3'
setUp()

Hook method for setting up the test fixture before exercising it.

test_invalidation()
test_pass_throughs()
test_setting_service_token()

keystoneauth1.tests.unit.test_session module

class keystoneauth1.tests.unit.test_session.AdapterTest(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

ALLOW = {'allow_deprecated': False, 'allow_experimental': True, 'allow_unknown': True}
INTERFACE = '0a87e9f4f51b43bb9476c1c68cc27c1f'
REGION_NAME = '1190b7e508dc45b2aa540ab15ba1ecf8'
SERVICE_NAME = '32d29265d2f44ed6ba2d4a616008eff1'
SERVICE_TYPE = 'ec6432ca3f59445289b122ccebd2ac3d'
TEST_URL = 'http://fakeendpoint/'
USER_AGENT = 'b946f08c8d3544cfb1dc6f440c009ee7'
VERSION = '3981d6598d8a4690a21560febc0b0312'
test_adapter_connect_retries()
test_adapter_get_token()
test_adapter_http_503_retries()
test_adapter_http_status_retries()
test_adapter_invalidate()
test_adapter_user_agent_adapter()
test_adapter_user_agent_session()
test_adapter_user_agent_session_adapter()
test_adapter_user_agent_session_adapter_additional()
test_adapter_user_agent_session_adapter_no_app_version()
test_adapter_user_agent_session_adapter_no_client_version()
test_adapter_user_agent_session_override()
test_adapter_user_agent_session_version_on_adapter()
test_additional_headers()
test_additional_headers_overrides()
test_default_microversion()
test_legacy_binding()
test_legacy_binding_non_json_resp()
test_logger_object_passed()
test_methods()
test_nested_adapters()
test_raise_exc_override()
test_setting_endpoint_override()
test_setting_global_id_on_request()
test_setting_variables_on_get_endpoint()
test_setting_variables_on_request()
test_unknown_connection_error()
test_user_and_project_id()
class keystoneauth1.tests.unit.test_session.AuthPlugin(token='bcd3eb31a8664c9ba76d1b911237c22e', invalidate=True)

Bases: keystoneauth1.plugin.BaseAuthPlugin

Very simple debug authentication plugin.

Takes Parameters such that it can throw exceptions at the right times.

SERVICE_URLS = {'compute': {'admin': 'http://compute-admin:2222/v1.0', 'public': 'http://compute-public:2222/v1.0'}, 'identity': {'admin': 'http://identity-admin:1111/v2.0', 'public': 'http://identity-public:1111/v2.0'}, 'image': {'admin': 'http://image-admin:3333/v2.0', 'public': 'http://image-public:3333/v2.0'}}
TEST_PROJECT_ID = 'aProject'
TEST_TOKEN = 'bcd3eb31a8664c9ba76d1b911237c22e'
TEST_USER_ID = 'aUser'
get_endpoint(session, service_type=None, interface=None, **kwargs)

Return an endpoint for the client.

There are no required keyword arguments to get_endpoint as a plugin implementation should use best effort with the information available to determine the endpoint. However there are certain standard options that will be generated by the clients and should be used by plugins:

  • service_type: what sort of service is required.
  • service_name: the name of the service in the catalog.
  • interface: what visibility the endpoint should have.
  • region_name: the region the endpoint exists in.
Parameters:session (keystoneauth1.session.Session) – The session object that the auth_plugin belongs to.
Returns:The base URL that will be used to talk to the required service or None if not available.
Return type:string
get_project_id(session)

Return the project id that we are authenticated to.

Wherever possible the project id should be inferred from the token however there are certain URLs and other places that require access to the currently authenticated project id.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A project identifier or None if one is not available.
Return type:str
get_token(session)

Obtain a token.

How the token is obtained is up to the plugin. If it is still valid it may be re-used, retrieved from cache or invoke an authentication request against a server.

There are no required kwargs. They are passed directly to the auth plugin and they are implementation specific.

Returning None will indicate that no token was able to be retrieved.

This function is misplaced as it should only be required for auth plugins that use the ‘X-Auth-Token’ header. However due to the way plugins evolved this method is required and often called to trigger an authentication request on a new plugin.

When implementing a new plugin it is advised that you implement this method, however if you don’t require the ‘X-Auth-Token’ header override the get_headers method instead.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A token to use.
Return type:string
get_user_id(session)

Return a unique user identifier of the plugin.

Wherever possible the user id should be inferred from the token however there are certain URLs and other places that require access to the currently authenticated user id.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A user identifier or None if one is not available.
Return type:str
invalidate()

Invalidate the current authentication data.

This should result in fetching a new token on next call.

A plugin may be invalidated if an Unauthorized HTTP response is returned to indicate that the token may have been revoked or is otherwise now invalid.

Returns:True if there was something that the plugin did to invalidate. This means that it makes sense to try again. If nothing happens returns False to indicate give up.
Return type:bool
class keystoneauth1.tests.unit.test_session.CalledAuthPlugin(invalidate=True)

Bases: keystoneauth1.plugin.BaseAuthPlugin

ENDPOINT = 'http://fakeendpoint/'
PROJECT_ID = '68c651af736e40ddbcaea73e3a836622'
TOKEN = 'bcd3eb31a8664c9ba76d1b911237c22e'
USER_ID = '687c940a114f4b589b27a89ba51a9a40'
get_endpoint(session, **kwargs)

Return an endpoint for the client.

There are no required keyword arguments to get_endpoint as a plugin implementation should use best effort with the information available to determine the endpoint. However there are certain standard options that will be generated by the clients and should be used by plugins:

  • service_type: what sort of service is required.
  • service_name: the name of the service in the catalog.
  • interface: what visibility the endpoint should have.
  • region_name: the region the endpoint exists in.
Parameters:session (keystoneauth1.session.Session) – The session object that the auth_plugin belongs to.
Returns:The base URL that will be used to talk to the required service or None if not available.
Return type:string
get_project_id(session, **kwargs)

Return the project id that we are authenticated to.

Wherever possible the project id should be inferred from the token however there are certain URLs and other places that require access to the currently authenticated project id.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A project identifier or None if one is not available.
Return type:str
get_token(session)

Obtain a token.

How the token is obtained is up to the plugin. If it is still valid it may be re-used, retrieved from cache or invoke an authentication request against a server.

There are no required kwargs. They are passed directly to the auth plugin and they are implementation specific.

Returning None will indicate that no token was able to be retrieved.

This function is misplaced as it should only be required for auth plugins that use the ‘X-Auth-Token’ header. However due to the way plugins evolved this method is required and often called to trigger an authentication request on a new plugin.

When implementing a new plugin it is advised that you implement this method, however if you don’t require the ‘X-Auth-Token’ header override the get_headers method instead.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A token to use.
Return type:string
get_user_id(session, **kwargs)

Return a unique user identifier of the plugin.

Wherever possible the user id should be inferred from the token however there are certain URLs and other places that require access to the currently authenticated user id.

Parameters:session (keystoneauth1.session.Session) – A session object so the plugin can make HTTP calls.
Returns:A user identifier or None if one is not available.
Return type:str
invalidate()

Invalidate the current authentication data.

This should result in fetching a new token on next call.

A plugin may be invalidated if an Unauthorized HTTP response is returned to indicate that the token may have been revoked or is otherwise now invalid.

Returns:True if there was something that the plugin did to invalidate. This means that it makes sense to try again. If nothing happens returns False to indicate give up.
Return type:bool
class keystoneauth1.tests.unit.test_session.RedirectTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

DEFAULT_REDIRECT_BODY = 'Redirect'
DEFAULT_RESP_BODY = 'Found'
REDIRECT_CHAIN = ['http://myhost:3445/', 'http://anotherhost:6555/', 'http://thirdhost/', 'http://finaldestination:55/']
assertResponse(resp)
setup_redirects(method='GET', status_code=305, redirect_kwargs={}, final_kwargs={})
test_basic_get()
test_basic_post_keeps_correct_method()
test_history_matches_requests()
test_no_redirect()
test_permanent_redirect_308()
test_redirect_forever()
test_redirect_limit()
class keystoneauth1.tests.unit.test_session.RequestsAuth(*args, **kwargs)

Bases: requests.auth.AuthBase

class keystoneauth1.tests.unit.test_session.SessionAuthTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

TEST_JSON = {'hello': 'world'}
TEST_URL = 'http://127.0.0.1:5000/'
stub_service_url(service_type, interface, path, method='GET', **kwargs)
test_auth_plugin_default_with_plugin()
test_auth_plugin_disable()
test_collect_timing()
test_endpoint_override_does_id_replacement()
test_endpoint_override_fails_to_do_unknown_replacement()
test_endpoint_override_fails_to_replace_if_none()
test_endpoint_override_ignore_full_url()
test_endpoint_override_overrides_filter()
test_logger_object_passed()
test_passed_auth_plugin()
test_passed_auth_plugin_overrides()
test_raises_exc_only_when_asked()
test_reauth_called()
test_reauth_not_called()
test_requests_auth_plugin()
test_service_type_urls()
test_service_url_raises_if_no_auth_plugin()
test_service_url_raises_if_no_url_returned()
test_split_loggers()
test_user_and_project_id()
class keystoneauth1.tests.unit.test_session.SessionTests(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

TEST_URL = 'http://127.0.0.1:5000/'
test_connect_retries()
test_delete()
test_does_not_set_tcp_keepalive_on_custom_sessions()
test_get()
test_head()
test_http_503_retries()
test_http_session_opts()
test_http_status_retries()
test_http_status_retries_another_code()
test_json_content_type()
test_logging_body_only_for_specified_content_types()

Verify response body is only logged in specific content types.

Response bodies are logged only when the response’s Content-Type header is set to application/json. This prevents us to get an unexpected MemoryError when reading arbitrary responses, such as streams.

test_logging_cacerts()
test_logs_failed_output()

Test that output is logged even for failed requests.

test_microversion()
test_not_found()
test_patch()
test_post()
test_put()
test_server_error()
test_session_debug_output()

Test request and response headers in debug logs.

in order to redact secure headers while debug is true.

test_session_debug_output_logs_openstack_request_id()

Test x-openstack-request-id is logged in debug logs.

test_set_microversion_headers()
test_ssl_error_message()
test_user_agent()
test_uses_tcp_keepalive_by_default()
class keystoneauth1.tests.unit.test_session.TCPKeepAliveAdapterTest(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

patch(target, name, *args, **kwargs)

Monkey-patch ‘obj.attribute’ to ‘value’ while the test is running.

If ‘obj’ has no attribute, then the monkey-patch will still go ahead, and the attribute will be deleted instead of restored to its original value.

Parameters:
  • obj – The object to patch. Can be anything.
  • attribute – The attribute on ‘obj’ to patch.
  • value – The value to set ‘obj.attribute’ to.
patch_socket_with_options(option_names)
setUp()

Hook method for setting up the test fixture before exercising it.

test_init_poolmanager_with_basic_options()
test_init_poolmanager_with_given_optionsl()
test_init_poolmanager_with_requests_lesser_than_2_4_1()
test_init_poolmanager_with_tcp_keepcnt()
test_init_poolmanager_with_tcp_keepcnt_on_windows()
test_init_poolmanager_with_tcp_keepidle()
test_init_poolmanager_with_tcp_keepintvl()

keystoneauth1.tests.unit.test_token_endpoint module

class keystoneauth1.tests.unit.test_token_endpoint.AdminTokenTest(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

test_token_endpoint_deprecated_options()
test_token_endpoint_options()
class keystoneauth1.tests.unit.test_token_endpoint.TokenEndpointTest(*args, **kwargs)

Bases: keystoneauth1.tests.unit.utils.TestCase

TEST_TOKEN = 'aToken'
TEST_URL = 'http://server/prefix'
test_basic_case()
test_basic_endpoint_case()
test_token_endpoint_user_id()

keystoneauth1.tests.unit.test_utils module

class keystoneauth1.tests.unit.test_utils.UtilsTests(*args, **kwargs)

Bases: testtools.testcase.TestCase

test_get_logger()

keystoneauth1.tests.unit.utils module

class keystoneauth1.tests.unit.utils.TestCase(*args, **kwargs)

Bases: testtools.testcase.TestCase

TEST_DOMAIN_ID = '326edea3f12643099f7a176c0820421b'
TEST_DOMAIN_NAME = '57a75ab2e3cf421ea000d41f03dbde7d'
TEST_GROUP_ID = '4fb0eb12f0fe48b4b14350def81f2a89'
TEST_ROLE_ID = '8827047f7acf4b7b84484c1f98855089'
TEST_ROOT_URL = 'http://127.0.0.1:5000/'
TEST_TENANT_ID = '88535cb776f24cd0b5c6bda0d6ca669c'
TEST_TENANT_NAME = 'cc8cb42ab65e4185bf5f8a074584d726'
TEST_TOKEN = 'bcd3eb31a8664c9ba76d1b911237c22e'
TEST_TRUST_ID = '201f54010c284949be044c494db010ea'
TEST_USER = '82fe839ecddf4ff99d71b91ed62ff3e9'
TEST_USER_ID = '640057932a50410f812dffe7a0271386'
assertContentTypeIs(content_type)
assertQueryStringContains(**kwargs)

Verify the query string contains the expected parameters.

This method is used to verify that the query string for the most recent request made contains all the parameters provided as kwargs, and that the value of each parameter contains the value for the kwarg. If the value for the kwarg is an empty string (‘’), then all that’s verified is that the parameter is present.

assertQueryStringIs(qs='')

Verify the QueryString matches what is expected.

The qs parameter should be of the format ‘foo=bar&abc=xyz’

assertRequestBodyIs(body=None, json=None)
assertRequestHeaderEqual(name, val)

Verify that the last request made contains a header and its value.

The request must have already been made.

assertRequestNotInHeader(name)

Verify that the last request made does not contain a header key.

The request must have already been made.

setUp()

Hook method for setting up the test fixture before exercising it.

stub_url(method, parts=None, base_url=None, json=None, **kwargs)
class keystoneauth1.tests.unit.utils.TestResponse(data)

Bases: requests.models.Response

Class used to wrap requests.Response.

This provides some convenience to initialize with a dict.

text

Content of the response, in unicode.

If Response.encoding is None, encoding will be guessed using chardet.

The encoding of the response content is determined based solely on HTTP headers, following RFC 2616 to the letter. If you can take advantage of non-HTTP knowledge to make a better guess at the encoding, you should set r.encoding appropriately before accessing this property.

Module contents

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.