aviator 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/.gitignore +2 -1
- data/.travis.yml +4 -0
- data/Gemfile +6 -2
- data/aviator.gemspec +19 -6
- data/lib/aviator/compatibility.rb +34 -0
- data/lib/aviator/core/cli/describer.rb +16 -16
- data/lib/aviator/core/logger.rb +55 -0
- data/lib/aviator/core/request.rb +5 -4
- data/lib/aviator/core/request_builder.rb +1 -1
- data/lib/aviator/core/response.rb +17 -11
- data/lib/aviator/core/service.rb +9 -27
- data/lib/aviator/core/session.rb +71 -61
- data/lib/aviator/core.rb +3 -1
- data/lib/aviator/hashish.rb +111 -0
- data/lib/aviator/openstack/common/v2/admin/base.rb +1 -1
- data/lib/aviator/openstack/common/v2/public/base.rb +7 -3
- data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/create_network.rb +15 -15
- data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/lock_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/migrate_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/reset_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +7 -7
- data/lib/aviator/openstack/compute/v2/admin/revert_server_resize.rb +2 -2
- data/lib/aviator/openstack/compute/v2/admin/unlock_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/change_admin_password.rb +5 -5
- data/lib/aviator/openstack/compute/v2/public/create_image.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/create_server.rb +14 -14
- data/lib/aviator/openstack/compute/v2/public/delete_image.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/delete_server.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/delete_server_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/get_flavor_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_image_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/get_network_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_server.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_server_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/list_addresses.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/list_flavors.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/list_image_metadata.rb +30 -0
- data/lib/aviator/openstack/compute/v2/public/list_images.rb +9 -9
- data/lib/aviator/openstack/compute/v2/public/list_networks.rb +1 -1
- data/lib/aviator/openstack/compute/v2/public/list_server_metadata.rb +30 -0
- data/lib/aviator/openstack/compute/v2/public/list_servers.rb +11 -11
- data/lib/aviator/openstack/compute/v2/public/pause_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/reboot_server.rb +5 -5
- data/lib/aviator/openstack/compute/v2/public/rebuild_server.rb +13 -13
- data/lib/aviator/openstack/compute/v2/public/resume_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/root.rb +1 -1
- data/lib/aviator/openstack/compute/v2/public/set_image_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/set_server_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/suspend_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/unpause_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/update_image_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/update_server.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/update_server_metadata.rb +38 -0
- data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +4 -4
- data/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +8 -8
- data/lib/aviator/openstack/identity/v2/admin/create_user.rb +6 -6
- data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +4 -4
- data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +2 -2
- data/lib/aviator/openstack/identity/v2/admin/delete_user.rb +1 -1
- data/lib/aviator/openstack/identity/v2/admin/get_tenant_by_id.rb +30 -0
- data/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +3 -3
- data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +6 -6
- data/lib/aviator/openstack/identity/v2/admin/update_user.rb +7 -7
- data/lib/aviator/openstack/identity/v2/public/create_token.rb +13 -13
- data/lib/aviator/openstack/identity/v2/public/list_tenants.rb +3 -3
- data/lib/aviator/openstack/identity/v2/public/root.rb +1 -1
- data/lib/aviator/openstack/image/v1/public/list_public_images.rb +45 -0
- data/lib/aviator/openstack/image/v1/public/root.rb +1 -1
- data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +1 -1
- data/lib/aviator/openstack/volume/v1/public/create_volume.rb +13 -13
- data/lib/aviator/openstack/volume/v1/public/delete_volume.rb +2 -2
- data/lib/aviator/openstack/volume/v1/public/get_volume.rb +2 -2
- data/lib/aviator/openstack/volume/v1/public/list_volume_types.rb +3 -3
- data/lib/aviator/openstack/volume/v1/public/list_volumes.rb +22 -11
- data/lib/aviator/openstack/volume/v1/public/root.rb +1 -1
- data/lib/aviator/openstack/volume/v1/public/update_volume.rb +5 -5
- data/lib/aviator/version.rb +1 -1
- data/lib/aviator.rb +5 -0
- data/test/aviator/core/cli/describer_test.rb +29 -29
- data/test/aviator/core/request_builder_test.rb +13 -13
- data/test/aviator/core/request_test.rb +11 -11
- data/test/aviator/core/service_test.rb +31 -31
- data/test/aviator/core/session_test.rb +122 -70
- data/test/aviator/openstack/common/v2/public/base_test.rb +8 -8
- data/test/aviator/openstack/compute/v2/admin/confirm_server_resize_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/create_network_test.rb +15 -15
- data/test/aviator/openstack/compute/v2/admin/get_host_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/list_hosts_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/lock_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/migrate_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/reset_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/admin/revert_server_resize_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/unlock_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/change_admin_password_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/public/create_image_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/create_server_test.rb +7 -7
- data/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb +159 -0
- data/test/aviator/openstack/compute/v2/public/delete_image_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/delete_server_metadata_item_test.rb +156 -0
- data/test/aviator/openstack/compute/v2/public/delete_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_flavor_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_image_metadata_item_test.rb +160 -0
- data/test/aviator/openstack/compute/v2/public/get_network_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_server_metadata_item_test.rb +160 -0
- data/test/aviator/openstack/compute/v2/public/get_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/list_addresses_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/public/list_flavors_test.rb +4 -4
- data/test/aviator/openstack/compute/v2/public/list_image_metadata_test.rb +127 -0
- data/test/aviator/openstack/compute/v2/public/list_images_test.rb +13 -13
- data/test/aviator/openstack/compute/v2/public/list_networks_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/list_server_metadata_test.rb +127 -0
- data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +15 -15
- data/test/aviator/openstack/compute/v2/public/pause_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/reboot_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb +6 -6
- data/test/aviator/openstack/compute/v2/public/resume_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/root_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/set_image_metadata_test.rb +151 -0
- data/test/aviator/openstack/compute/v2/public/set_server_metadata_test.rb +149 -0
- data/test/aviator/openstack/compute/v2/public/suspend_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/unpause_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/update_image_metadata_test.rb +154 -0
- data/test/aviator/openstack/compute/v2/public/update_server_metadata_test.rb +150 -0
- data/test/aviator/openstack/compute/v2/public/update_server_test.rb +4 -4
- data/test/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/create_tenant_test.rb +13 -13
- data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +12 -10
- data/test/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/delete_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/delete_user_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/get_tenant_by_id_test.rb +122 -0
- data/test/aviator/openstack/identity/v2/admin/list_users_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/update_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +3 -3
- data/test/aviator/openstack/identity/v2/public/create_token_test.rb +19 -18
- data/test/aviator/openstack/identity/v2/public/list_tenants_test.rb +5 -5
- data/test/aviator/openstack/identity/v2/public/root_test.rb +2 -2
- data/test/aviator/openstack/image/v1/public/list_public_images_test.rb +145 -0
- data/test/aviator/openstack/image/v1/public/root_test.rb +2 -2
- data/test/aviator/openstack/metering/v1/admin/list_projects_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/create_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/delete_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/get_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/list_volumes_test.rb +49 -24
- data/test/aviator/openstack/volume/v1/public/root_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/update_volume_test.rb +2 -2
- data/test/cassettes/core/session/i_validate/returns_false_if_session_is_no_longer_valid.yml +20 -19
- data/test/cassettes/core/session/i_validate/returns_true_even_when_a_default_token_is_used.yml +72 -0
- data/test/cassettes/core/session/i_validate/returns_true_if_session_is_still_valid.yml +24 -24
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +147 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +148 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_and_metadata_key_are_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +147 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/leads_to_a_valid_response_when_a_valid_tenant_id_is_provided.yml +133 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_matches.yml +99 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_no_matches.yml +97 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +99 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_all_tenants_param_is_true.yml +139 -0
- data/test/environment.yml.example +2 -2
- data/test/environment.yml.travis-ci +2 -2
- data/test/support/request_helper.rb +13 -13
- data/test/support/test_base_class.rb +13 -13
- data/test/support/test_environment.rb +33 -15
- data/test/support/test_reporter.rb +38 -30
- data/test/support/vcr_setup.rb +29 -11
- data/test/test_helper.rb +16 -6
- metadata +205 -42
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
|
@@ -12,8 +12,8 @@ class Aviator::Test
|
|
|
12
12
|
def session
|
|
13
13
|
unless @session
|
|
14
14
|
@session = Aviator::Session.new(
|
|
15
|
-
config_file
|
|
16
|
-
environment
|
|
15
|
+
:config_file => Environment.path,
|
|
16
|
+
:environment => 'openstack_member'
|
|
17
17
|
)
|
|
18
18
|
@session.authenticate
|
|
19
19
|
end
|
|
@@ -110,7 +110,7 @@ class Aviator::Test
|
|
|
110
110
|
|
|
111
111
|
validate_attr :param_aliases do
|
|
112
112
|
aliases = {
|
|
113
|
-
network_id
|
|
113
|
+
:network_id => :networkID
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
klass.param_aliases.must_equal aliases
|
|
@@ -12,8 +12,8 @@ class Aviator::Test
|
|
|
12
12
|
def session
|
|
13
13
|
unless @session
|
|
14
14
|
@session = Aviator::Session.new(
|
|
15
|
-
config_file
|
|
16
|
-
environment
|
|
15
|
+
:config_file => Environment.path,
|
|
16
|
+
:environment => 'openstack_member'
|
|
17
17
|
)
|
|
18
18
|
@session.authenticate
|
|
19
19
|
end
|
|
@@ -118,8 +118,8 @@ class Aviator::Test
|
|
|
118
118
|
|
|
119
119
|
validate_attr :param_aliases do
|
|
120
120
|
aliases = {
|
|
121
|
-
min_disk
|
|
122
|
-
min_ram
|
|
121
|
+
:min_disk => :minDisk,
|
|
122
|
+
:min_ram => :minRam
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
klass.param_aliases.must_equal aliases
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class Aviator::Test
|
|
4
|
+
|
|
5
|
+
describe 'aviator/openstack/compute/v2/public/list_image_metadata' do
|
|
6
|
+
|
|
7
|
+
def create_request(session_data = get_session_data, &block)
|
|
8
|
+
block ||= lambda { |p| p[:id] = 'doesnt matter' }
|
|
9
|
+
|
|
10
|
+
klass.new(session_data, &block)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def get_session_data
|
|
15
|
+
session.send :auth_info
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def helper
|
|
20
|
+
Aviator::Test::RequestHelper
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def klass
|
|
25
|
+
@klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'list_image_metadata.rb')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def session
|
|
30
|
+
unless @session
|
|
31
|
+
@session = Aviator::Session.new(
|
|
32
|
+
:config_file => Environment.path,
|
|
33
|
+
:environment => 'openstack_member'
|
|
34
|
+
)
|
|
35
|
+
@session.authenticate
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
@session
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
validate_attr :anonymous? do
|
|
43
|
+
klass.anonymous?.must_equal false
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
validate_attr :api_version do
|
|
48
|
+
klass.api_version.must_equal :v2
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
validate_attr :body do
|
|
53
|
+
klass.body?.must_equal false
|
|
54
|
+
create_request.body?.must_equal false
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
validate_attr :endpoint_type do
|
|
59
|
+
klass.endpoint_type.must_equal :public
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
validate_attr :headers do
|
|
64
|
+
session_data = get_session_data
|
|
65
|
+
|
|
66
|
+
headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
|
|
67
|
+
|
|
68
|
+
request = create_request(session_data)
|
|
69
|
+
|
|
70
|
+
request.headers.must_equal headers
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
validate_attr :http_method do
|
|
75
|
+
create_request.http_method.must_equal :get
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
validate_attr :required_params do
|
|
80
|
+
klass.required_params.must_equal [:id]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
validate_attr :url do
|
|
85
|
+
image_id = 'doesnt matter'
|
|
86
|
+
service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
|
|
87
|
+
url = "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ image_id }/metadata"
|
|
88
|
+
|
|
89
|
+
request = create_request { |p| p[:id] = image_id }
|
|
90
|
+
|
|
91
|
+
request.url.must_equal url
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
validate_response 'valid image id is provided' do
|
|
96
|
+
service = session.compute_service
|
|
97
|
+
|
|
98
|
+
images = service.request :list_images
|
|
99
|
+
image_id = images.body[:images].first[:id]
|
|
100
|
+
|
|
101
|
+
response = service.request :list_image_metadata do |params|
|
|
102
|
+
params[:id] = image_id
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
response.status.must_equal 200
|
|
106
|
+
response.body.wont_be_nil
|
|
107
|
+
response.body[:metadata].length.wont_equal 0
|
|
108
|
+
response.headers.wont_be_nil
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
validate_response 'invalid image id is provided' do
|
|
113
|
+
service = session.compute_service
|
|
114
|
+
image_id = 'invalidimageid'
|
|
115
|
+
|
|
116
|
+
response = service.request :list_image_metadata do |params|
|
|
117
|
+
params[:id] = image_id
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
response.status.must_equal 404
|
|
121
|
+
response.body.wont_be_nil
|
|
122
|
+
response.headers.wont_be_nil
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
end
|
|
@@ -11,13 +11,13 @@ class Aviator::Test
|
|
|
11
11
|
|
|
12
12
|
def new_session_data
|
|
13
13
|
service = Aviator::Service.new(
|
|
14
|
-
provider
|
|
15
|
-
service
|
|
14
|
+
:provider => 'openstack',
|
|
15
|
+
:service => 'identity'
|
|
16
16
|
)
|
|
17
17
|
|
|
18
18
|
bootstrap = RequestHelper.admin_bootstrap_session_data
|
|
19
19
|
|
|
20
|
-
response = service.request :create_token, session_data
|
|
20
|
+
response = service.request :create_token, :session_data => bootstrap do |params|
|
|
21
21
|
auth_credentials = Environment.openstack_admin[:auth_credentials]
|
|
22
22
|
auth_credentials.each { |key, value| params[key] = auth_credentials[key] }
|
|
23
23
|
end
|
|
@@ -123,7 +123,7 @@ class Aviator::Test
|
|
|
123
123
|
|
|
124
124
|
validate_attr :param_aliases do
|
|
125
125
|
aliases = {
|
|
126
|
-
changes_since
|
|
126
|
+
:changes_since => 'changes-since'
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
klass.param_aliases.must_equal aliases
|
|
@@ -132,9 +132,9 @@ class Aviator::Test
|
|
|
132
132
|
|
|
133
133
|
validate_response 'no parameters are provided' do
|
|
134
134
|
service = Aviator::Service.new(
|
|
135
|
-
provider
|
|
136
|
-
service
|
|
137
|
-
default_session_data
|
|
135
|
+
:provider => 'openstack',
|
|
136
|
+
:service => 'compute',
|
|
137
|
+
:default_session_data => new_session_data
|
|
138
138
|
)
|
|
139
139
|
|
|
140
140
|
response = service.request :list_images
|
|
@@ -147,9 +147,9 @@ class Aviator::Test
|
|
|
147
147
|
|
|
148
148
|
validate_response 'parameters are invalid' do
|
|
149
149
|
service = Aviator::Service.new(
|
|
150
|
-
provider
|
|
151
|
-
service
|
|
152
|
-
default_session_data
|
|
150
|
+
:provider => 'openstack',
|
|
151
|
+
:service => 'compute',
|
|
152
|
+
:default_session_data => new_session_data
|
|
153
153
|
)
|
|
154
154
|
|
|
155
155
|
response = service.request :list_images do |params|
|
|
@@ -165,9 +165,9 @@ class Aviator::Test
|
|
|
165
165
|
|
|
166
166
|
validate_response 'parameters are valid' do
|
|
167
167
|
service = Aviator::Service.new(
|
|
168
|
-
provider
|
|
169
|
-
service
|
|
170
|
-
default_session_data
|
|
168
|
+
:provider => 'openstack',
|
|
169
|
+
:service => 'compute',
|
|
170
|
+
:default_session_data => new_session_data
|
|
171
171
|
)
|
|
172
172
|
|
|
173
173
|
response = service.request :list_images do |params|
|
|
@@ -27,8 +27,8 @@ class Aviator::Test
|
|
|
27
27
|
def session
|
|
28
28
|
unless @session
|
|
29
29
|
@session = Aviator::Session.new(
|
|
30
|
-
config_file
|
|
31
|
-
environment
|
|
30
|
+
:config_file => Environment.path,
|
|
31
|
+
:environment => 'openstack_member'
|
|
32
32
|
)
|
|
33
33
|
@session.authenticate
|
|
34
34
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class Aviator::Test
|
|
4
|
+
|
|
5
|
+
describe 'aviator/openstack/compute/v2/public/list_server_metadata' do
|
|
6
|
+
|
|
7
|
+
def create_request(session_data = get_session_data, &block)
|
|
8
|
+
block ||= lambda { |p| p[:id] = 'doesnt matter' }
|
|
9
|
+
|
|
10
|
+
klass.new(session_data, &block)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def get_session_data
|
|
15
|
+
session.send :auth_info
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def helper
|
|
20
|
+
Aviator::Test::RequestHelper
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def klass
|
|
25
|
+
@klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'list_server_metadata.rb')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def session
|
|
30
|
+
unless @session
|
|
31
|
+
@session = Aviator::Session.new(
|
|
32
|
+
:config_file => Environment.path,
|
|
33
|
+
:environment => 'openstack_member'
|
|
34
|
+
)
|
|
35
|
+
@session.authenticate
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
@session
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
validate_attr :anonymous? do
|
|
43
|
+
klass.anonymous?.must_equal false
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
validate_attr :api_version do
|
|
48
|
+
klass.api_version.must_equal :v2
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
validate_attr :body do
|
|
53
|
+
klass.body?.must_equal false
|
|
54
|
+
create_request.body?.must_equal false
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
validate_attr :endpoint_type do
|
|
59
|
+
klass.endpoint_type.must_equal :public
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
validate_attr :headers do
|
|
64
|
+
session_data = get_session_data
|
|
65
|
+
|
|
66
|
+
headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
|
|
67
|
+
|
|
68
|
+
request = create_request(session_data)
|
|
69
|
+
|
|
70
|
+
request.headers.must_equal headers
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
validate_attr :http_method do
|
|
75
|
+
create_request.http_method.must_equal :get
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
validate_attr :required_params do
|
|
80
|
+
klass.required_params.must_equal [:id]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
validate_attr :url do
|
|
85
|
+
server_id = 'doesnt matter'
|
|
86
|
+
service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
|
|
87
|
+
url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }/metadata"
|
|
88
|
+
|
|
89
|
+
request = create_request { |p| p[:id] = server_id }
|
|
90
|
+
|
|
91
|
+
request.url.must_equal url
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
validate_response 'valid server id is provided' do
|
|
96
|
+
service = session.compute_service
|
|
97
|
+
|
|
98
|
+
servers = service.request :list_servers
|
|
99
|
+
server_id = servers.body[:servers].first[:id]
|
|
100
|
+
|
|
101
|
+
response = service.request :list_server_metadata do |params|
|
|
102
|
+
params[:id] = server_id
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
response.status.must_equal 200
|
|
106
|
+
response.body.wont_be_nil
|
|
107
|
+
response.body[:metadata].length.wont_equal 0
|
|
108
|
+
response.headers.wont_be_nil
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
validate_response 'invalid server id is provided' do
|
|
113
|
+
service = session.compute_service
|
|
114
|
+
server_id = 'invalidserverid'
|
|
115
|
+
|
|
116
|
+
response = service.request :list_server_metadata do |params|
|
|
117
|
+
params[:id] = server_id
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
response.status.must_equal 404
|
|
121
|
+
response.body.wont_be_nil
|
|
122
|
+
response.headers.wont_be_nil
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
end
|
|
@@ -8,8 +8,8 @@ class Aviator::Test
|
|
|
8
8
|
def admin_session
|
|
9
9
|
unless @admin_session
|
|
10
10
|
@admin_session = Aviator::Session.new(
|
|
11
|
-
config_file
|
|
12
|
-
environment
|
|
11
|
+
:config_file => Environment.path,
|
|
12
|
+
:environment => 'openstack_admin'
|
|
13
13
|
)
|
|
14
14
|
@admin_session.authenticate
|
|
15
15
|
end
|
|
@@ -25,13 +25,13 @@ class Aviator::Test
|
|
|
25
25
|
|
|
26
26
|
def new_session_data
|
|
27
27
|
service = Aviator::Service.new(
|
|
28
|
-
provider
|
|
29
|
-
service
|
|
28
|
+
:provider => Environment.openstack_admin[:provider],
|
|
29
|
+
:service => Environment.openstack_admin[:auth_service][:name]
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
bootstrap = RequestHelper.admin_bootstrap_session_data
|
|
33
33
|
|
|
34
|
-
response = service.request :create_token, session_data
|
|
34
|
+
response = service.request :create_token, :session_data => bootstrap do |params|
|
|
35
35
|
auth_credentials = Environment.openstack_admin[:auth_credentials]
|
|
36
36
|
auth_credentials.each { |key, value| params[key] = auth_credentials[key] }
|
|
37
37
|
end
|
|
@@ -138,7 +138,7 @@ class Aviator::Test
|
|
|
138
138
|
|
|
139
139
|
validate_attr :param_aliases do
|
|
140
140
|
aliases = {
|
|
141
|
-
changes_since
|
|
141
|
+
:changes_since => 'changes-since'
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
klass.param_aliases.must_equal aliases
|
|
@@ -147,9 +147,9 @@ class Aviator::Test
|
|
|
147
147
|
|
|
148
148
|
validate_response 'no parameters are provided' do
|
|
149
149
|
service = Aviator::Service.new(
|
|
150
|
-
provider
|
|
151
|
-
service
|
|
152
|
-
default_session_data
|
|
150
|
+
:provider => 'openstack',
|
|
151
|
+
:service => 'compute',
|
|
152
|
+
:default_session_data => new_session_data
|
|
153
153
|
)
|
|
154
154
|
|
|
155
155
|
response = service.request :list_servers
|
|
@@ -163,9 +163,9 @@ class Aviator::Test
|
|
|
163
163
|
|
|
164
164
|
validate_response 'parameters are invalid' do
|
|
165
165
|
service = Aviator::Service.new(
|
|
166
|
-
provider
|
|
167
|
-
service
|
|
168
|
-
default_session_data
|
|
166
|
+
:provider => 'openstack',
|
|
167
|
+
:service => 'compute',
|
|
168
|
+
:default_session_data => new_session_data
|
|
169
169
|
)
|
|
170
170
|
|
|
171
171
|
response = service.request :list_servers do |params|
|
|
@@ -181,9 +181,9 @@ class Aviator::Test
|
|
|
181
181
|
|
|
182
182
|
validate_response 'parameters are valid' do
|
|
183
183
|
service = Aviator::Service.new(
|
|
184
|
-
provider
|
|
185
|
-
service
|
|
186
|
-
default_session_data
|
|
184
|
+
:provider => 'openstack',
|
|
185
|
+
:service => 'compute',
|
|
186
|
+
:default_session_data => new_session_data
|
|
187
187
|
)
|
|
188
188
|
|
|
189
189
|
response = service.request :list_servers do |params|
|
|
@@ -28,8 +28,8 @@ class Aviator::Test
|
|
|
28
28
|
def session
|
|
29
29
|
unless @session
|
|
30
30
|
@session = Aviator::Session.new(
|
|
31
|
-
config_file
|
|
32
|
-
environment
|
|
31
|
+
:config_file => Environment.path,
|
|
32
|
+
:environment => 'openstack_member'
|
|
33
33
|
)
|
|
34
34
|
@session.authenticate
|
|
35
35
|
end
|
|
@@ -31,8 +31,8 @@ class Aviator::Test
|
|
|
31
31
|
def session
|
|
32
32
|
unless @session
|
|
33
33
|
@session = Aviator::Session.new(
|
|
34
|
-
config_file
|
|
35
|
-
environment
|
|
34
|
+
:config_file => Environment.path,
|
|
35
|
+
:environment => 'openstack_member'
|
|
36
36
|
)
|
|
37
37
|
@session.authenticate
|
|
38
38
|
end
|
|
@@ -34,8 +34,8 @@ class Aviator::Test
|
|
|
34
34
|
def session
|
|
35
35
|
unless @session
|
|
36
36
|
@session = Aviator::Session.new(
|
|
37
|
-
config_file
|
|
38
|
-
environment
|
|
37
|
+
:config_file => Environment.path,
|
|
38
|
+
:environment => 'openstack_member'
|
|
39
39
|
)
|
|
40
40
|
@session.authenticate
|
|
41
41
|
end
|
|
@@ -120,10 +120,10 @@ class Aviator::Test
|
|
|
120
120
|
|
|
121
121
|
validate_attr :param_aliases do
|
|
122
122
|
aliases = {
|
|
123
|
-
access_ipv4
|
|
124
|
-
access_ipv6
|
|
125
|
-
admin_pass
|
|
126
|
-
image_ref
|
|
123
|
+
:access_ipv4 => :accessIPv4,
|
|
124
|
+
:access_ipv6 => :accessIPv6,
|
|
125
|
+
:admin_pass => :adminPass,
|
|
126
|
+
:image_ref => :imageRef
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
klass.param_aliases.must_equal aliases
|
|
@@ -28,8 +28,8 @@ class Aviator::Test
|
|
|
28
28
|
def session
|
|
29
29
|
unless @session
|
|
30
30
|
@session = Aviator::Session.new(
|
|
31
|
-
config_file
|
|
32
|
-
environment
|
|
31
|
+
:config_file => Environment.path,
|
|
32
|
+
:environment => 'openstack_member'
|
|
33
33
|
)
|
|
34
34
|
@session.authenticate
|
|
35
35
|
end
|
|
@@ -27,8 +27,8 @@ class Aviator::Test
|
|
|
27
27
|
def session
|
|
28
28
|
unless @session
|
|
29
29
|
@session = Aviator::Session.new(
|
|
30
|
-
config_file
|
|
31
|
-
environment
|
|
30
|
+
:config_file => Environment.path,
|
|
31
|
+
:environment => 'openstack_member'
|
|
32
32
|
)
|
|
33
33
|
@session.authenticate
|
|
34
34
|
end
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class Aviator::Test
|
|
4
|
+
|
|
5
|
+
describe 'aviator/openstack/compute/v2/public/set_image_metadata' do
|
|
6
|
+
|
|
7
|
+
def create_request(session_data = get_session_data, &block)
|
|
8
|
+
block ||= lambda do |p|
|
|
9
|
+
p[:id] = 'doesnt matter'
|
|
10
|
+
p[:metadata] = {}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
klass.new(session_data, &block)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_session_data
|
|
18
|
+
session.send :auth_info
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def helper
|
|
23
|
+
Aviator::Test::RequestHelper
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def klass
|
|
28
|
+
@klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'set_image_metadata.rb')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def session
|
|
33
|
+
unless @session
|
|
34
|
+
@session = Aviator::Session.new(
|
|
35
|
+
:config_file => Environment.path,
|
|
36
|
+
:environment => 'openstack_member'
|
|
37
|
+
)
|
|
38
|
+
@session.authenticate
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
@session
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
validate_attr :anonymous? do
|
|
46
|
+
klass.anonymous?.must_equal false
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
validate_attr :api_version do
|
|
51
|
+
klass.api_version.must_equal :v2
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
validate_attr :body do
|
|
56
|
+
metadata = {
|
|
57
|
+
:foo => 'lorem',
|
|
58
|
+
:bar => 'ipsum'
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
body = {
|
|
62
|
+
:metadata => metadata
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
request = klass.new(get_session_data) do |p|
|
|
66
|
+
p[:id] = 'doesnt matter'
|
|
67
|
+
p[:metadata] = metadata
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
request.body.must_equal body
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
validate_attr :endpoint_type do
|
|
75
|
+
klass.endpoint_type.must_equal :public
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
validate_attr :headers do
|
|
80
|
+
headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
|
|
81
|
+
request = create_request
|
|
82
|
+
|
|
83
|
+
request.headers.must_equal headers
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
validate_attr :http_method do
|
|
88
|
+
create_request.http_method.must_equal :put
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
validate_attr :required_params do
|
|
93
|
+
klass.required_params.must_equal [:id, :metadata]
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
validate_attr :url do
|
|
98
|
+
service_spec = get_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' }
|
|
99
|
+
image_id = 'doesnt matter'
|
|
100
|
+
url = "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ image_id }/metadata"
|
|
101
|
+
|
|
102
|
+
request = create_request do |params|
|
|
103
|
+
params[:id] = image_id
|
|
104
|
+
params[:metadata] = {}
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
request.url.must_equal url
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
validate_response 'valid image id is provided' do
|
|
112
|
+
# must be hardcoded so as not to inadvertently alter random resources
|
|
113
|
+
# in case the corresponding cassette is deleted and
|
|
114
|
+
# this requires image that the user has modify access
|
|
115
|
+
image_id = '2755c6d2-2978-4053-a728-f77388e24bec'
|
|
116
|
+
|
|
117
|
+
new_metadata = Hashish.new({
|
|
118
|
+
'foo' => 'lorem',
|
|
119
|
+
'bar' => 'ipsum'
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
response = session.compute_service.request :set_image_metadata do |params|
|
|
123
|
+
params[:id] = image_id
|
|
124
|
+
params[:metadata] = new_metadata
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
response.status.must_equal 200
|
|
128
|
+
response.body.wont_be_nil
|
|
129
|
+
response.body[:metadata].wont_be_nil
|
|
130
|
+
response.body[:metadata].must_equal new_metadata
|
|
131
|
+
response.headers.wont_be_nil
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
validate_response 'invalid image id is provided' do
|
|
136
|
+
image_id = 'abogusmetadataidthatdoesnotexist'
|
|
137
|
+
|
|
138
|
+
response = session.compute_service.request :set_image_metadata do |params|
|
|
139
|
+
params[:id] = image_id
|
|
140
|
+
params[:metadata] = { :any => 'value' }
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
response.status.must_equal 404
|
|
144
|
+
response.body.wont_be_nil
|
|
145
|
+
response.headers.wont_be_nil
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
end
|