From 86c33fc33296e774e777559fcee9648787cc2f4e Mon Sep 17 00:00:00 2001 From: kamranbutt Date: Mon, 19 Dec 2022 13:39:10 +0100 Subject: [PATCH 1/2] Add application credentail authentication type --- .phpunit.result.cache | 1 + src/Identity/v3/Api.php | 13 +++++++++++++ src/Identity/v3/Models/Token.php | 12 ++++++++++-- src/Identity/v3/Params.php | 18 ++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 .phpunit.result.cache diff --git a/.phpunit.result.cache b/.phpunit.result.cache new file mode 100644 index 000000000..2ddee82b9 --- /dev/null +++ b/.phpunit.result.cache @@ -0,0 +1 @@ +{"version":1,"defects":{"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_retrieves":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_updates":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_deletes":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_updates":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_deletes":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_gets_metadata":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_retrieves":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_merges_metadata":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_resets_metadata":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_updates":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_deletes":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_retrieves":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_merges_metadata":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_resets_metadata":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_sets_volume_bootable":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_sets_image_meta_data":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_resets_status":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTypeTest::test_it_updates":4,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTypeTest::test_it_deletes":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_volumes":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_volumes":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_volume":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_volume_types":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_volume_types":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_volume_type":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_snapshots":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_snapshots":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_snapshot":4,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_quota_set":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_returns_operations":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_sends_a_request_when_operations_are_executed":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_sends_a_request_when_async_operations_are_executed":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_wraps_sequential_ops_in_promise_when_async_is_appended_to_method_name":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_throws_exception_when_async_is_called_on_a_non_existent_method":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_undefined_methods_result_in_error":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_returns_a_model_instance":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_populates_models_from_response":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_populates_models_from_arrays":4,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_guzzle_options_are_forwarded":4,"OpenStack\\Test\\Common\\Auth\\AuthHandlerTest::test_it_should_generate_a_new_token_if_the_current_token_is_either_expired_or_not_set":4,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_injects_client":4,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_builds_http_errors":3,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_builds_user_input_errors":3,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_dead_links_are_ignored":3,"OpenStack\\Test\\Common\\JsonSchema\\JsonPatchTest::testAll":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_errors":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_error_string":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_property_paths":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_ignores_readOnly_attrs":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_stocks_aliases":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_validates":4,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_checks_validity":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_from_response":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_datetimes_from_arrays":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_model_objects_from_arrays":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_arrays_from_arrays":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_gets_attrs":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_returns_a_model_instance":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_models_from_response":4,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_models_from_arrays":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_retrieves_base_http_url":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_executes_with_state":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_executes_operations_until_a_204_is_received":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_invokes_function_if_provided":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_halts_when_user_provided_limit_is_reached":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_predicts_resources_key_without_explicit_property":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_extracts_multiple_instances":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_finds_parent_service":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_returns_a_model_instance":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_populates_models_from_response":4,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_populates_models_from_arrays":4,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_creates_service":4,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_does_not_authenticate_for_identity_services":4,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_create_service_with_micro_version":4,"OpenStack\\Test\\Common\\Transport\\HandlerStackTest::test_it_is_created":4,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_embeds_params_according_to_path":4,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_arrays":4,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_objects":4,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_non_stdClass_objects":4,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_exception_is_thrown_when_non_stdClass_or_serializable_object_provided":4,"unit\\Common\\Transport\\MiddlewareTest::test_exception_is_thrown_for_4xx_statuses":4,"unit\\Common\\Transport\\MiddlewareTest::test_responses_are_left_alone_when_status_under_400":4,"unit\\Common\\Transport\\MiddlewareTest::test_auth_handler_is_returned":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_ignores_undefined_params":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_queries":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_headers":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_metadata_headers":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_json":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_unescaped_json":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_raw_vals":4,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_does_serialize_unknown_locations":4,"OpenStack\\Test\\Common\\Transport\\UtilsTest::test_decoding_malformed_json_throws_error":4,"OpenStack\\Test\\Common\\Transport\\UtilsTest::test_it_adds_paths":4,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_retrieves_details":4,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_creates":4,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_deletes":4,"OpenStack\\Test\\Compute\\v2\\Models\\HostTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\HypervisorTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_deletes":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_sets_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_updates_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves_a_metadata_item":4,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_deletes_a_metadata_item":4,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_creates":4,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_retrieves_by_user_id":4,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_deletes":4,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_deletes":4,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_updates":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_with_boot_from_volume":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_requires_image_id_or_volume_id_to_create_servers":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_updates":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_deletes":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_changes_password":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_reboots":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_an_exception_is_thrown_when_rebooting_with_an_invalid_type":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_rebuilds":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_rescues":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_unrescues":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_starts":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_stops":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_resizes":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_confirms_resizes":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_reverts_resizes":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_console_output":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_all_console_output":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_vnc_console":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_rdp_console":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_spice_console":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_serial_console":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_images":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_ip_addresses":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_ip_addresses_by_network_label":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_sets_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_updates_metadata":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves_a_metadata_item":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_deletes_a_metadata_item":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_security_groups":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_volume_attachments":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_remove_security_group":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_add_security_group":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_attaches_volume":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_detaches_volume":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_interface_attachments":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::it_gets_interface_attachments":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_interface_attachments":4,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_detaches_interfaces":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_creates_servers":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_servers":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_a_server":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_flavors":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_a_flavor":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_images":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_an_image":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_keypairs":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_hypervisor_statistics":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_hypervisors":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_hypervisor":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_hosts":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_host":4,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_availability_zones":4,"OpenStack\\Test\\Identity\\v2\\Models\\CatalogTest::test_it_throws_exception_when_no_endpoint_url_is_found":4,"OpenStack\\Test\\Identity\\v2\\Models\\EndpointTest::test_it_supports_internal_urls":4,"OpenStack\\Test\\Identity\\v2\\Models\\EndpointTest::test_it_supports_admin_urls":4,"OpenStack\\Test\\Identity\\v2\\Models\\EntryTest::test_null_is_returned_when_no_endpoints_are_found":4,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_getting_id":4,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_expiration_is_false_for_active_tokens":4,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_expiration_is_true_for_old_tokens":4,"OpenStack\\Test\\Identity\\v2\\ServiceTest::test_it_authenticates":4,"OpenStack\\Test\\Identity\\v2\\ServiceTest::test_it_generates_tokens":4,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_throws_if_no_services_set":4,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_returns_service_url":4,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_throws_if_no_url_found":4,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_lists_user_roles":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_grants_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_nonexistent_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_revokes_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_lists_group_roles":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_grants_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_nonexistent_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_revokes_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_creates_endpoint":4,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_updates_endpoint":4,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_deletes_endpoint":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_creates_group":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_updates_group":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_deletes_group":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_lists_users":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_adds_users":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_removes_users":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_checks_user_memberships":4,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_checks_nonexistent_memberships":4,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_creates":4,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_lists_user_roles":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_grants_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_nonexistent_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_revokes_user_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_lists_group_roles":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_grants_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_nonexistent_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_revokes_group_role":4,"OpenStack\\Test\\Identity\\v3\\Models\\RoleTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_returns_false_if_name_and_type_does_not_match":4,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_retrieves_url_if_name_type_and_region_match":4,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_getting_id":4,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_returns_false_if_expired":4,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_throws_error_when_username_is_not_qualified_by_domain_id":4,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_throws_error_when_neither_user_creds_or_token_id_is_provided":4,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_retrieves":4,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_updates":4,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_deletes":4,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_lists_groups":4,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_lists_projects":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates_using_cache_token":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates_and_throws_exception_when_authenticate_with_expired_cached_token":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_throws_exception_if_no_endpoint_found":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_token":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_false_is_returned_when_token_validation_returns_204":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_true_is_returned_when_token_validation_returns_error":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_revokes_token":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_service":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_services":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_service":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_endpoint":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_domain":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_domains":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_domain":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_project":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_projects":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_project":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_user":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_users":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_user":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_group":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_groups":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_group":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_credential":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_credentials":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_credential":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_role":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_roles":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_role_assignments":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_policy":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_policies":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_policy":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_tokens_with_user_creds":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_token_with_token_id":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_token_from_cache":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_endpoints":4,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_endpoint":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_retrieves":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_updates":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_throws_exception_if_user_input_does_not_match_schema":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_deletes":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_reactivates":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_deactivates":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_uploads_data_stream":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_downloads_data":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_creates_member":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_lists_members":4,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_gets_members":4,"unit\\Images\\v2\\Models\\MemberTest::test_it_retrieves":4,"unit\\Images\\v2\\Models\\MemberTest::test_it_updates":4,"unit\\Images\\v2\\Models\\MemberTest::test_it_deletes":4,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_creates_image":4,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_lists_images":4,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_gets_image":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\MetricTest::test_it_retrieves":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_retrieves":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_gets_metric":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_gets_metric_measures":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_lists_resource_metrics":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_resource_types":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_resources":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_get_resource":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_search_resources":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_search_resources_with_custom_type":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_metrics":4,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_get_metric":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_associates_port":4,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_deletes":4,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_updates":4,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_retrieves":4,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_adds_interface":4,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_remove_interface":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_lists_floating_ips":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_gets_floating_ip":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_creates_floatingIp":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_lists_routers":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_gets_router":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_creates_router":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupRuleTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupRuleTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_creates":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_lists_secgroups":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_creates_secgroup":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_gets_secgroup":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_lists_secgrouprules":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_creates_secgrouprule":4,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_gets_secgrouprule":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_add_member":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_get_member":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_delete_member":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_add_health_monitor":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerStatTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerStatusTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_add_listener":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_get_stats":4,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_get_statuses":4,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_bulk_creates":4,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_updates":4,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_retrieves":4,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_deletes":4,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_updates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_retrieves":4,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_deletes":4,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_creates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_retrieves":4,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_deletes":4,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_updates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_creates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_bulk_creates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_updates":4,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_retrieves":4,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_deletes":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_an_network":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_networks":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_network":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_networks":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_a_subnet":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_subnets":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_subnet":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_subnets":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_a_port":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_ports":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_port":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_ports":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_list_quotas":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_quotas":4,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_default_quotas":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Response_Populates_Model":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Retrieve":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Get_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Merge_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Reset_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Populate_From_Response":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Retrieve":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Get_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Merge_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Reset_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Creates":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Deletes":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Gets_Object":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Create_Objects":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_it_lists_objects":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_true_is_returned_for_existing_object":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_false_is_returned_for_non_existing_object":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_other_exceptions_are_thrown":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_it_chunks_according_to_provided_segment_size":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Creates":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Retrieve":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Get_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Merge_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Reset_Metadata":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Deletes":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Downloads":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Copies":4,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Gets_Public_Uri":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_Account":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_lists_containers":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_It_Create_Containers":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_returns_true_for_existing_containers":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_returns_false_if_container_does_not_exist":4,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_throws_exception_when_error":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_compute_v2":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_identity_v2":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_identity_v3":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2_ext_layer3":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2_ext_security_group":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_object_store_v1":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_block_storage_v2":4,"OpenStack\\Test\\OpenStackTest::test_it_supports_images_v2":4,"OpenStack\\Test\\OpenStackTest::test_it_support_metrics_gnocchi_v1":4},"times":{"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_retrieves":0.018,"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_updates":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\QuotaSetTest::test_it_deletes":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_updates":0.001,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_deletes":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_gets_metadata":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_retrieves":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_merges_metadata":0.001,"OpenStack\\Test\\BlockStorage\\v2\\Models\\SnapshotTest::test_it_resets_metadata":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_updates":0.001,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_deletes":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_retrieves":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_merges_metadata":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_resets_metadata":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_sets_volume_bootable":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_sets_image_meta_data":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTest::test_it_resets_status":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTypeTest::test_it_updates":0,"OpenStack\\Test\\BlockStorage\\v2\\Models\\VolumeTypeTest::test_it_deletes":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_volumes":0.001,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_volumes":0.001,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_volume":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_volume_types":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_volume_types":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_volume_type":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_creates_snapshots":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_lists_snapshots":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_a_snapshot":0,"unit\\BlockStorage\\v2\\ServiceTest::test_it_gets_quota_set":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_it_reveals_whether_params_are_set_or_not":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_it_gets_params":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_it_validates_params":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_exceptions_are_propagated":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_an_exception_is_thrown_when_user_does_not_provide_required_options":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_it_throws_exception_when_user_provides_undefined_options":0,"OpenStack\\Test\\Common\\Api\\OperationTest::test_it_gets_json_key":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_returns_operations":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_sends_a_request_when_operations_are_executed":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_sends_a_request_when_async_operations_are_executed":0.001,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_wraps_sequential_ops_in_promise_when_async_is_appended_to_method_name":0.001,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_throws_exception_when_async_is_called_on_a_non_existent_method":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_undefined_methods_result_in_error":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_returns_a_model_instance":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_populates_models_from_response":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_it_populates_models_from_arrays":0,"OpenStack\\Test\\Common\\Api\\OperatorTraitTest::test_guzzle_options_are_forwarded":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_exception_is_thrown_for_invalid_locations":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_should_provide_access_to_a_name":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_should_use_sentAs_alias_for_name_if_one_is_set":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_indicates_whether_it_is_required_or_not":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_indicates_its_item_schema":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_allows_property_retrieval":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_indicates_its_path":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_verifies_a_given_location_with_a_boolean":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_should_return_true_when_required_attributes_are_provided_and_match_their_definitions":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_throws_exception_when_values_do_not_match_their_definition_types":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_throws_exception_when_deeply_nested_values_have_wrong_types":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_metadata_properties_are_handled_differently":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_passes_validation_when_array_values_pass":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_an_exception_is_thrown_when_an_undefined_property_is_provided":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_passes_validation_when_all_subproperties_pass":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_sets_name":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_gets_property":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_it_gets_prefixed_name":0,"OpenStack\\Test\\Common\\Api\\ParameterTest::test_exception_is_thrown_when_value_is_not_in_enum_list":0,"OpenStack\\Test\\Common\\ArrayAccessTraitTest::test_offset_is_set":0,"OpenStack\\Test\\Common\\ArrayAccessTraitTest::test_it_appends_if_no_key_is_set":0,"OpenStack\\Test\\Common\\ArrayAccessTraitTest::test_if_checks_if_offset_exists":0,"OpenStack\\Test\\Common\\ArrayAccessTraitTest::test_if_gets_offset":0,"OpenStack\\Test\\Common\\ArrayAccessTraitTest::test_it_unsets_offset":0,"OpenStack\\Test\\Common\\Auth\\AuthHandlerTest::test_it_should_bypass_auth_http_requests":0.001,"OpenStack\\Test\\Common\\Auth\\AuthHandlerTest::test_it_should_generate_a_new_token_if_the_current_token_is_either_expired_or_not_set":0.001,"OpenStack\\Test\\Common\\Error\\BadResponseErrorTest::test_it_gets_request":0,"OpenStack\\Test\\Common\\Error\\BadResponseErrorTest::test_it_gets_response":0,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_injects_client":0,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_builds_http_errors":0,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_it_builds_user_input_errors":0,"OpenStack\\Test\\Common\\Error\\BuilderTest::test_dead_links_are_ignored":0.001,"OpenStack\\Test\\Common\\HydratorStrategyTraitTest::test_it_hydrates":0,"OpenStack\\Test\\Common\\HydratorStrategyTraitTest::test_it_hydrates_aliases":0,"OpenStack\\Test\\Common\\HydratorStrategyTraitTest::test_it_sets":0,"OpenStack\\Test\\Common\\JsonPathTest::test_it_sets_values_according_to_paths":0,"OpenStack\\Test\\Common\\JsonPathTest::test_it_sets_arrays_according_to_paths":0,"OpenStack\\Test\\Common\\JsonPathTest::test_it_gets_values_according_to_paths":0,"OpenStack\\Test\\Common\\JsonSchema\\JsonPatchTest::testAll":0.001,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_errors":0.004,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_error_string":0,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_gets_property_paths":0,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_ignores_readOnly_attrs":0,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_stocks_aliases":0,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_validates":0,"OpenStack\\Test\\Common\\JsonSchema\\SchemaTest::test_it_checks_validity":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_from_response":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_datetimes_from_arrays":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_model_objects_from_arrays":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_arrays_from_arrays":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_gets_attrs":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_returns_a_model_instance":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_models_from_response":0,"OpenStack\\Test\\Common\\Resource\\AbstractResourceTest::test_it_populates_models_from_arrays":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_retrieves_base_http_url":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_executes_with_state":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_executes_operations_until_a_204_is_received":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_invokes_function_if_provided":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_halts_when_user_provided_limit_is_reached":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_predicts_resources_key_without_explicit_property":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_extracts_multiple_instances":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_finds_parent_service":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_returns_a_model_instance":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_populates_models_from_response":0,"OpenStack\\Test\\Common\\Resource\\OperatorResourceTest::test_it_populates_models_from_arrays":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_username_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_password_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_both_tenantId_and_tenantName_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_authUrl_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_region_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_catalogName_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_throws_exception_if_catalogType_is_missing":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_creates_service":0.005,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_does_not_authenticate_for_identity_services":0,"OpenStack\\Test\\Common\\Service\\BuilderTest::test_it_create_service_with_micro_version":0,"OpenStack\\Test\\Common\\Transport\\HandlerStackTest::test_it_is_created":0,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_embeds_params_according_to_path":0.001,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_arrays":0,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_objects":0,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_it_serializes_non_stdClass_objects":0.001,"OpenStack\\Test\\Common\\Transport\\JsonSerializerTest::test_exception_is_thrown_when_non_stdClass_or_serializable_object_provided":0,"unit\\Common\\Transport\\MiddlewareTest::test_exception_is_thrown_for_4xx_statuses":0.001,"unit\\Common\\Transport\\MiddlewareTest::test_responses_are_left_alone_when_status_under_400":0,"unit\\Common\\Transport\\MiddlewareTest::test_auth_handler_is_returned":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_ignores_undefined_params":0.001,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_queries":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_headers":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_metadata_headers":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_json":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_unescaped_json":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_serializes_raw_vals":0,"OpenStack\\Test\\Common\\Transport\\RequestSerializerTest::test_it_does_serialize_unknown_locations":0,"OpenStack\\Test\\Common\\Transport\\UtilsTest::test_decoding_malformed_json_throws_error":0,"OpenStack\\Test\\Common\\Transport\\UtilsTest::test_it_adds_paths":0,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_retrieves_details":0.002,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_creates":0,"OpenStack\\Test\\Compute\\v2\\Models\\FlavorTest::test_it_deletes":0,"OpenStack\\Test\\Compute\\v2\\Models\\HostTest::test_it_retrieves":0,"OpenStack\\Test\\Compute\\v2\\Models\\HypervisorTest::test_it_retrieves":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_deletes":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_sets_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_updates_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_retrieves_a_metadata_item":0,"OpenStack\\Test\\Compute\\v2\\Models\\ImageTest::test_it_deletes_a_metadata_item":0,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_creates":0,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_retrieves":0,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_retrieves_by_user_id":0,"OpenStack\\Test\\Compute\\v2\\Models\\KeypairTest::test_it_deletes":0,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_retrieves":0,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_deletes":0,"OpenStack\\Test\\Compute\\v2\\Models\\QuotaSetTest::test_it_updates":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_with_boot_from_volume":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_requires_image_id_or_volume_id_to_create_servers":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_updates":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_deletes":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_changes_password":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_reboots":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_an_exception_is_thrown_when_rebooting_with_an_invalid_type":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_rebuilds":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_rescues":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_unrescues":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_starts":0.002,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_stops":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_resizes":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_confirms_resizes":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_reverts_resizes":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_console_output":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_all_console_output":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_vnc_console":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_rdp_console":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_spice_console":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_serial_console":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_images":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_ip_addresses":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_gets_ip_addresses_by_network_label":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_sets_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_updates_metadata":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_retrieves_a_metadata_item":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_deletes_a_metadata_item":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_security_groups":0.001,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_volume_attachments":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_remove_security_group":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_add_security_group":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_attaches_volume":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_detaches_volume":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_lists_interface_attachments":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::it_gets_interface_attachments":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_creates_interface_attachments":0,"OpenStack\\Test\\Compute\\v2\\Models\\ServerTest::test_it_detaches_interfaces":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_creates_servers":0.001,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_servers":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_a_server":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_flavors":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_a_flavor":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_images":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_an_image":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_keypairs":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_hypervisor_statistics":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_hypervisors":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_hypervisor":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_hosts":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_gets_host":0,"OpenStack\\Test\\Compute\\v2\\ServiceTest::test_it_lists_availability_zones":0,"OpenStack\\Test\\Identity\\v2\\Models\\CatalogTest::test_it_throws_exception_when_no_endpoint_url_is_found":0.001,"OpenStack\\Test\\Identity\\v2\\Models\\EndpointTest::test_it_supports_internal_urls":0,"OpenStack\\Test\\Identity\\v2\\Models\\EndpointTest::test_it_supports_admin_urls":0,"OpenStack\\Test\\Identity\\v2\\Models\\EntryTest::test_null_is_returned_when_no_endpoints_are_found":0,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_getting_id":0,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_expiration_is_false_for_active_tokens":0,"OpenStack\\Test\\Identity\\v2\\Models\\TokenTest::test_expiration_is_true_for_old_tokens":0,"OpenStack\\Test\\Identity\\v2\\ServiceTest::test_it_authenticates":0.001,"OpenStack\\Test\\Identity\\v2\\ServiceTest::test_it_generates_tokens":0,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_throws_if_no_services_set":0.001,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_returns_service_url":0.004,"OpenStack\\Test\\Identity\\v3\\Models\\CatalogTest::test_it_throws_if_no_url_found":0,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\CredentialTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_lists_user_roles":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_grants_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_nonexistent_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_revokes_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_lists_group_roles":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_grants_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_checks_nonexistent_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\DomainTest::test_it_revokes_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_creates_endpoint":0.001,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_updates_endpoint":0,"OpenStack\\Test\\Identity\\v3\\Models\\EndpointTest::test_it_deletes_endpoint":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_creates_group":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_updates_group":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_deletes_group":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_lists_users":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_adds_users":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_removes_users":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_checks_user_memberships":0,"OpenStack\\Test\\Identity\\v3\\Models\\GroupTest::test_it_checks_nonexistent_memberships":0,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_creates":0,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\PolicyTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_lists_user_roles":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_grants_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_nonexistent_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_revokes_user_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_lists_group_roles":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_grants_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_checks_nonexistent_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\ProjectTest::test_it_revokes_group_role":0,"OpenStack\\Test\\Identity\\v3\\Models\\RoleTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_returns_false_if_name_and_type_does_not_match":0,"OpenStack\\Test\\Identity\\v3\\Models\\ServiceTest::test_it_retrieves_url_if_name_type_and_region_match":0,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_getting_id":0,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_returns_false_if_expired":0,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_throws_error_when_username_is_not_qualified_by_domain_id":0,"OpenStack\\Test\\Identity\\v3\\Models\\TokenTest::test_it_throws_error_when_neither_user_creds_or_token_id_is_provided":0,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_retrieves":0,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_updates":0,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_deletes":0,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_lists_groups":0,"OpenStack\\Test\\Identity\\v3\\Models\\UserTest::test_it_lists_projects":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates":0.001,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates_using_cache_token":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_authenticates_and_throws_exception_when_authenticate_with_expired_cached_token":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_throws_exception_if_no_endpoint_found":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_token":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_false_is_returned_when_token_validation_returns_204":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_true_is_returned_when_token_validation_returns_error":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_revokes_token":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_service":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_services":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_service":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_endpoint":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_domain":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_domains":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_domain":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_project":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_projects":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_project":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_user":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_users":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_user":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_group":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_groups":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_group":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_credential":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_credentials":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_credential":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_role":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_roles":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_role_assignments":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_creates_policy":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_policies":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_policy":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_tokens_with_user_creds":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_token_with_token_id":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_generates_token_from_cache":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_lists_endpoints":0,"OpenStack\\Test\\Identity\\v3\\ServiceTest::test_it_gets_endpoint":0,"OpenStack\\Test\\Images\\v2\\JsonPatchTest::test_it_adds_object_properties_if_none_previously_exists":0,"OpenStack\\Test\\Images\\v2\\JsonPatchTest::test_it_removes_elements_from_arrays":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_retrieves":0.001,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_updates":0.006,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_throws_exception_if_user_input_does_not_match_schema":0.001,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_deletes":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_reactivates":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_deactivates":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_uploads_data_stream":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_downloads_data":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_creates_member":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_lists_members":0,"OpensTack\\Test\\Images\\v2\\Models\\ImageTest::test_it_gets_members":0,"unit\\Images\\v2\\Models\\MemberTest::test_it_retrieves":0,"unit\\Images\\v2\\Models\\MemberTest::test_it_updates":0,"unit\\Images\\v2\\Models\\MemberTest::test_it_deletes":0,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_creates_image":0,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_lists_images":0,"OpenStack\\Test\\Images\\v2\\ServiceTest::test_it_gets_image":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\MetricTest::test_it_retrieves":0.001,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_retrieves":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_gets_metric":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_gets_metric_measures":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\Models\\ResourceTest::test_it_lists_resource_metrics":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_resource_types":0.001,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_resources":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_get_resource":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_search_resources":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_search_resources_with_custom_type":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_lists_metrics":0,"OpenStack\\Test\\Metric\\v1\\Gnocchi\\ServiceTest::test_it_get_metric":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_updates":0.001,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\Models\\FloatingIpTest::test_it_associates_port":0,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_deletes":0,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_updates":0,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_retrieves":0,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_adds_interface":0,"unit\\Networking\\v2\\Extensions\\Layer3\\Models\\RouterTest::test_it_remove_interface":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_lists_floating_ips":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_gets_floating_ip":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_creates_floatingIp":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_lists_routers":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_gets_router":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\Layer3\\ServiceTest::test_it_creates_router":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupRuleTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupRuleTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Extensions\\SecurityGroups\\Models\\SecurityGroupTest::test_it_creates":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_lists_secgroups":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_creates_secgroup":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_gets_secgroup":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_lists_secgrouprules":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_creates_secgrouprule":0,"unit\\Networking\\v2\\Extensions\\SecurityGroups\\ServiceTest::test_it_gets_secgrouprule":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_creates":0.001,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerHealthMonitorTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerListenerTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerMemberTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_add_member":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_get_member":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_delete_member":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerPoolTest::test_add_health_monitor":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerStatTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerStatusTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_add_listener":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_get_stats":0,"OpenStack\\Test\\Networking\\v2\\Models\\LoadBalancerTest::test_get_statuses":0,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_bulk_creates":0,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_updates":0,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_retrieves":0,"OpenStack\\Test\\Networking\\v2\\Models\\NetworkTest::test_it_deletes":0,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_updates":0.001,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_retrieves":0,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_deletes":0,"OpenStack\\Test\\Subneting\\v2\\Models\\PortTest::test_it_creates":0,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_retrieves":0,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_deletes":0,"OpenStack\\Test\\Subneting\\v2\\Models\\QuotaTest::test_it_updates":0,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_creates":0,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_bulk_creates":0,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_updates":0,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_retrieves":0,"OpenStack\\Test\\Subneting\\v2\\Models\\SubnetTest::test_it_deletes":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_an_network":0.001,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_networks":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_network":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_networks":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_a_subnet":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_subnets":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_subnet":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_subnets":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_creates_a_port":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_bulk_creates_ports":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_an_port":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_lists_ports":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_list_quotas":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_quotas":0,"OpenStack\\Test\\Networking\\v2\\ServiceTest::test_it_gets_default_quotas":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Response_Populates_Model":0.001,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Retrieve":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Get_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Merge_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\AccountTest::test_Reset_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Populate_From_Response":0.001,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Retrieve":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Get_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Merge_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_Reset_Metadata":0.001,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Creates":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Deletes":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Gets_Object":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_It_Create_Objects":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_it_lists_objects":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_true_is_returned_for_existing_object":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_false_is_returned_for_non_existing_object":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_other_exceptions_are_thrown":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ContainerTest::test_it_chunks_according_to_provided_segment_size":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Creates":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Retrieve":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Get_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Merge_Metadata":0.001,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_Reset_Metadata":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Deletes":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Downloads":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Copies":0,"OpenStack\\Test\\ObjectStore\\v1\\Models\\ObjectTest::test_It_Gets_Public_Uri":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_Account":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_lists_containers":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_It_Create_Containers":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_returns_true_for_existing_containers":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_returns_false_if_container_does_not_exist":0,"OpenStack\\Test\\ObjectStore\\v1\\ServiceTest::test_it_throws_exception_when_error":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_compute_v2":0.001,"OpenStack\\Test\\OpenStackTest::test_it_supports_identity_v2":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_identity_v3":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2_ext_layer3":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_networking_v2_ext_security_group":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_object_store_v1":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_block_storage_v2":0,"OpenStack\\Test\\OpenStackTest::test_it_supports_images_v2":0,"OpenStack\\Test\\OpenStackTest::test_it_support_metrics_gnocchi_v1":0}} \ No newline at end of file diff --git a/src/Identity/v3/Api.php b/src/Identity/v3/Api.php index 325e3ac17..dfd1d5895 100644 --- a/src/Identity/v3/Api.php +++ b/src/Identity/v3/Api.php @@ -837,4 +837,17 @@ public function deletePolicy(): array 'params' => ['id' => $this->params->idUrl('policy')], ]; } + + public function postApplicationCredentialsTokens(): array + { + return [ + 'method' => 'POST', + 'path' => 'auth/tokens', + 'params' => [ + 'methods' => $this->params->methods(), + 'application_credential' => $this->params->applicationCredential(), + 'tokenId' => $this->params->tokenBody(), + ], + ]; + } } diff --git a/src/Identity/v3/Models/Token.php b/src/Identity/v3/Models/Token.php index b3808a54d..1696cc207 100644 --- a/src/Identity/v3/Models/Token.php +++ b/src/Identity/v3/Models/Token.php @@ -103,18 +103,26 @@ public function retrieve() */ public function create(array $data): Creatable { + $definition = []; if (isset($data['user'])) { $data['methods'] = ['password']; if (!isset($data['user']['id']) && empty($data['user']['domain'])) { throw new \InvalidArgumentException('When authenticating with a username, you must also provide either the domain name or domain ID to '.'which the user belongs to. Alternatively, if you provide a user ID instead, you do not need to '.'provide domain information.'); } - } elseif (isset($data['tokenId'])) { + $definition = $this->api->postTokens(); + } elseif (isset($data['application_credential'])) { + $data['methods'] = ['application_credential']; + if (!isset($data['application_credential']['id']) && empty($data['application_credential']['secret'])) { + throw new \InvalidArgumentException('To authenticate with an application credential, specify “application_credential” as the auth method. The ID of the application credential used for authentication. The secret for authenticating the application credential.'); + } + $definition = $this->api->postApplicationCredentialsTokens(); + } elseif (isset($data['tokenId'])) { $data['methods'] = ['token']; } else { throw new \InvalidArgumentException('Either a user or token must be provided.'); } - $response = $this->execute($this->api->postTokens(), $data); + $response = $this->execute($definition, $data); $token = $this->populateFromResponse($response); // Cache response as an array to export if needed. diff --git a/src/Identity/v3/Params.php b/src/Identity/v3/Params.php index f001d3c48..289d9d697 100644 --- a/src/Identity/v3/Params.php +++ b/src/Identity/v3/Params.php @@ -315,4 +315,22 @@ public function blob(): array 'description' => "This does something, but it's not explained in the docs (as of writing this)", ]; } + + public function applicationCredential(): array + { + return [ + 'type' => self::OBJECT_TYPE, + 'path' => 'auth.identity', + 'properties' => [ + 'id' => [ + 'type' => self::STRING_TYPE, + 'description' => 'The ID of the application credential used for authentication. If not provided, the application credential must be identified by its name and its owning user.', + ], + 'secret' => [ + 'type' => self::STRING_TYPE, + 'description' => 'The secret for authenticating the application credential.', + ], + ], + ]; + } } From 54560d672e16f8c111b668c7cdefc5a42c7a5ce6 Mon Sep 17 00:00:00 2001 From: kamranbutt Date: Mon, 19 Dec 2022 13:55:54 +0100 Subject: [PATCH 2/2] Add application credentail update the condition --- src/Identity/v3/Models/Token.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Identity/v3/Models/Token.php b/src/Identity/v3/Models/Token.php index 1696cc207..543c53fbd 100644 --- a/src/Identity/v3/Models/Token.php +++ b/src/Identity/v3/Models/Token.php @@ -103,28 +103,25 @@ public function retrieve() */ public function create(array $data): Creatable { - $definition = []; if (isset($data['user'])) { $data['methods'] = ['password']; if (!isset($data['user']['id']) && empty($data['user']['domain'])) { throw new \InvalidArgumentException('When authenticating with a username, you must also provide either the domain name or domain ID to '.'which the user belongs to. Alternatively, if you provide a user ID instead, you do not need to '.'provide domain information.'); } - $definition = $this->api->postTokens(); } elseif (isset($data['application_credential'])) { $data['methods'] = ['application_credential']; if (!isset($data['application_credential']['id']) && empty($data['application_credential']['secret'])) { throw new \InvalidArgumentException('To authenticate with an application credential, specify “application_credential” as the auth method. The ID of the application credential used for authentication. The secret for authenticating the application credential.'); } - $definition = $this->api->postApplicationCredentialsTokens(); } elseif (isset($data['tokenId'])) { $data['methods'] = ['token']; } else { throw new \InvalidArgumentException('Either a user or token must be provided.'); } + $definition = (isset($data['user']) || isset($data['tokenId'])) ? $this->api->postTokens() : $this->api->postApplicationCredentialsTokens(); $response = $this->execute($definition, $data); $token = $this->populateFromResponse($response); - // Cache response as an array to export if needed. // Added key `id` which is auth token from HTTP header X-Subject-Token $this->cachedToken = Utils::flattenJson(Utils::jsonDecode($response), $this->resourceKey);