keystoneauth1.tests.unit.client_fixtures.
domain_scoped_token
()¶keystoneauth1.tests.unit.client_fixtures.
project_scoped_token
()¶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.
XMLEquals
(expected)¶Bases: object
Parses two XML documents from strings and compares the results.
match
(other)¶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.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
()¶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_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.
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
()¶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
()¶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)¶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_ignoring_invalid_links
()¶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.
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.
V2TokenTests
(*args, **kwargs)¶Bases: keystoneauth1.tests.unit.utils.TestCase
test_roles
()¶test_services
()¶test_tenant_scoped
()¶test_token_bind
()¶test_trust_scoped
()¶test_unscoped
()¶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_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_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.
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
()¶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 |
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 |
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
()¶keystoneauth1.tests.unit.test_session.
RequestsAuth
(*args, **kwargs)¶Bases: requests.auth.AuthBase
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
()¶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
()¶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: |
|
---|
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.
AdminTokenTest
(*args, **kwargs)¶Bases: keystoneauth1.tests.unit.utils.TestCase
test_token_endpoint_deprecated_options
()¶test_token_endpoint_options
()¶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)¶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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.