diff --git a/lib/aviator/core/request_builder.rb b/lib/aviator/core/request_builder.rb index 73809e3..17d24b8 100644 --- a/lib/aviator/core/request_builder.rb +++ b/lib/aviator/core/request_builder.rb @@ -1,37 +1,89 @@ module Aviator - class << self - - def define_request(request_name, &block) - class_obj = Class.new(Request, &block) - - set_class_name( - Aviator, - class_obj, - - class_obj.provider, - class_obj.service, - class_obj.api_version, - class_obj.endpoint_type, - request_name - ) - end - - - private - - def set_class_name(base, obj, *hierarchy) - const_name = hierarchy.shift.to_s.camelize + class BaseRequestNotFoundError < StandardError + attr_reader :base_request_hierarchy - const = if base.const_defined?(const_name, false) - base.const_get(const_name, false) - else - base.const_set(const_name, (hierarchy.empty? ? obj : Module.new)) - end - - hierarchy.empty? ? const : set_class_name(const, obj, *hierarchy) + def initialize(base_hierarchy) + @base_request_hierarchy = base_hierarchy + super("#{ base_request_hierarchy } could not be found!") end - + end + + + class RequestAlreadyDefinedError < StandardError + attr_reader :namespace, + :request_name + + def initialize(namespace, request_name) + @namespace = namespace + @request_name = request_name + super("#{ namespace }::#{ request_name } is already defined") + end + end + + + class RequestBuilder + + class << self + + def define_request(root_namespace, request_name, options, &block) + base_klass = get_request_class(root_namespace, options[:inherit]) + + klass = Class.new(base_klass, &block) + + namespace_arr = [ + klass.provider, + klass.service, + klass.api_version, + klass.endpoint_type + ] + + namespace = namespace_arr.inject(root_namespace) do |namespace, sym| + const_name = sym.to_s.camelize + namespace.const_set(const_name, Module.new) unless namespace.const_defined?(const_name, false) + namespace.const_get(const_name, false) + end + + klassname = request_name.to_s.camelize + + if namespace.const_defined?(klassname, false) + raise RequestAlreadyDefinedError.new(namespace, klassname) + end + + namespace.const_set(klassname, klass) + end + + + def get_request_class(root_namespace, request_class_arr) + request_class_arr.inject(root_namespace) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + rescue NameError => e + arr = ['..', '..'] + request_class_arr + arr[-1,1] = arr.last.to_s + '.rb' + path = Pathname.new(__FILE__).join(*arr.map{|i| i.to_s }).expand_path + + if path.exist? + require path + request_class_arr.inject(root_namespace) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + else + raise BaseRequestNotFoundError.new(request_class_arr) + end + end + + end + + end + + + class << self + + def define_request(request_name, options={ inherit: [:request] }, &block) + RequestBuilder.define_request self, request_name, options, &block + end + end # class << self end \ No newline at end of file diff --git a/lib/aviator/core/service.rb b/lib/aviator/core/service.rb index c72268f..e182d4a 100644 --- a/lib/aviator/core/service.rb +++ b/lib/aviator/core/service.rb @@ -35,7 +35,7 @@ module Aviator end - class Logger < Faraday::Response::Logger + class Logger < Faraday::Response::Logger def initialize(app, logger=nil) super(app) @logger = logger || begin @@ -50,7 +50,7 @@ module Aviator attr_reader :service, :provider - + def initialize(opts={}) @provider = opts[:provider] || (raise ProviderNotDefinedError.new) @@ -88,8 +88,8 @@ module Aviator def request_classes @request_classes end - - + + private @@ -117,20 +117,20 @@ module Aviator end namespace = Aviator.const_get(provider.camelize) - .const_get(service.camelize) + .const_get(service.camelize) version = infer_version(session_data).to_s.camelize - + return nil unless version && namespace.const_defined?(version) namespace = namespace.const_get(version) endpoint_types.each do |endpoint_type| name = name.to_s.camelize - + next unless namespace.const_defined?(endpoint_type) next unless namespace.const_get(endpoint_type).const_defined?(name) - + return namespace.const_get(endpoint_type).const_get(name) end @@ -169,21 +169,21 @@ module Aviator ) request_file_paths.each{ |path| require path } - + constant_parts = request_file_paths .map{|rf| rf.to_s.match(/#{provider}\/#{service}\/([\w\/]+)\.rb$/) } .map{|rf| rf[1].split('/').map{|c| c.camelize }.join('::') } - - @request_classes = constant_parts.map do |cp| + + @request_classes = constant_parts.map do |cp| "Aviator::#{provider.camelize}::#{service.camelize}::#{cp}".constantize end end - - + + def log_file @log_file end - + end end diff --git a/lib/aviator/openstack/common/v2/admin/base.rb b/lib/aviator/openstack/common/v2/admin/base.rb new file mode 100644 index 0000000..08dc585 --- /dev/null +++ b/lib/aviator/openstack/common/v2/admin/base.rb @@ -0,0 +1,9 @@ +module Aviator + + define_request :base, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :endpoint_type, :admin + + end + +end diff --git a/lib/aviator/openstack/common/v2/public/base.rb b/lib/aviator/openstack/common/v2/public/base.rb new file mode 100644 index 0000000..8843a51 --- /dev/null +++ b/lib/aviator/openstack/common/v2/public/base.rb @@ -0,0 +1,37 @@ +module Aviator + + define_request :base do + + meta :provider, :openstack + meta :service, :common + meta :api_version, :v2 + meta :endpoint_type, :public + + def headers + {}.tap do |h| + h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous? + end + end + + + private + + def base_url_for(endpoint_type) + service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } + service_spec[:endpoints][0]["#{ endpoint_type }URL".to_sym] + end + + + def params_to_querystring(param_names) + filters = [] + + param_names.each do |param_name| + filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] + end + + filters.empty? ? "" : "?#{ filters.join('&') }" + end + + end + +end diff --git a/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb b/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb index b249276..13cd6b9 100644 --- a/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +++ b/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb @@ -1,11 +1,8 @@ module Aviator - define_request :confirm_server_resize do + define_request :confirm_server_resize, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Confirm_Resized_Server-d1e3868.html' @@ -21,13 +18,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -37,8 +28,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:adminURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :admin }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/admin/get_host_details.rb b/lib/aviator/openstack/compute/v2/admin/get_host_details.rb index 70d14af..1ac9e6a 100644 --- a/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +++ b/lib/aviator/openstack/compute/v2/admin/get_host_details.rb @@ -1,11 +1,8 @@ module Aviator - define_request :get_host_details do + define_request :get_host_details, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :compute link 'documentation', 'http://api.openstack.org/api-ref.html#ext-os-hosts' @@ -14,13 +11,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -30,9 +21,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:adminURL] }/os-hosts/#{ params[:host_name] }" + "#{ base_url_for :admin }/os-hosts/#{ params[:host_name] }" end end diff --git a/lib/aviator/openstack/compute/v2/admin/list_hosts.rb b/lib/aviator/openstack/compute/v2/admin/list_hosts.rb index a0b9229..98afd00 100644 --- a/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +++ b/lib/aviator/openstack/compute/v2/admin/list_hosts.rb @@ -1,14 +1,11 @@ module Aviator - define_request :list_hosts do + define_request :list_hosts, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :compute link 'documentation', - 'http://api.openstack.org/api-ref.html#ext-os-hosts' + 'http://api.openstack.org/api-ref.html#ext-os-hosts' link 'documentation bug', 'https://bugs.launchpad.net/nova/+bug/1224763' @@ -18,13 +15,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -34,9 +25,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } - - url = "#{ service_spec[:endpoints][0][:adminURL] }/os-hosts" + url = "#{ base_url_for :admin }/os-hosts" filters = [] diff --git a/lib/aviator/openstack/compute/v2/admin/resize_server.rb b/lib/aviator/openstack/compute/v2/admin/resize_server.rb index 39b39fb..2c6c01f 100644 --- a/lib/aviator/openstack/compute/v2/admin/resize_server.rb +++ b/lib/aviator/openstack/compute/v2/admin/resize_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :resize_server do + define_request :resize_server, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Resize_Server-d1e3707.html' @@ -26,13 +23,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -42,8 +33,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:adminURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :admin }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/public/change_admin_password.rb b/lib/aviator/openstack/compute/v2/public/change_admin_password.rb index eb84124..13d7ff8 100644 --- a/lib/aviator/openstack/compute/v2/public/change_admin_password.rb +++ b/lib/aviator/openstack/compute/v2/public/change_admin_password.rb @@ -1,22 +1,19 @@ module Aviator - define_request :change_admin_password do + define_request :change_admin_password, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Change_Password-d1e3234.html' - + link 'additional spec', 'https://answers.launchpad.net/nova/+question/228462' param :adminPass, required: true param :id, required: true - - + + def body p = { changePassword: { @@ -26,27 +23,20 @@ module Aviator p end - - + + def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end - - + + def http_method :post end - - + + def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :public }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/public/create_image.rb b/lib/aviator/openstack/compute/v2/public/create_image.rb index c7edbe4..c26d268 100644 --- a/lib/aviator/openstack/compute/v2/public/create_image.rb +++ b/lib/aviator/openstack/compute/v2/public/create_image.rb @@ -1,11 +1,8 @@ module Aviator - define_request :create_image do + define_request :create_image, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Create_Image-d1e4655.html' @@ -31,13 +28,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -47,8 +38,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :public }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/public/create_server.rb b/lib/aviator/openstack/compute/v2/public/create_server.rb index 8a10c53..24fa68a 100644 --- a/lib/aviator/openstack/compute/v2/public/create_server.rb +++ b/lib/aviator/openstack/compute/v2/public/create_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :create_server do + define_request :create_server, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/CreateServers.html' @@ -39,13 +36,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -55,8 +46,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers" + "#{ base_url_for :public }/servers" end end diff --git a/lib/aviator/openstack/compute/v2/public/delete_image.rb b/lib/aviator/openstack/compute/v2/public/delete_image.rb index 0b54798..cd1fa12 100644 --- a/lib/aviator/openstack/compute/v2/public/delete_image.rb +++ b/lib/aviator/openstack/compute/v2/public/delete_image.rb @@ -1,11 +1,8 @@ module Aviator - define_request :delete_image do + define_request :delete_image, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Delete_Image-d1e4957.html' @@ -14,13 +11,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -30,9 +21,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ params[:id]}" + "#{ base_url_for :public }/images/#{ params[:id]}" end end diff --git a/lib/aviator/openstack/compute/v2/public/delete_server.rb b/lib/aviator/openstack/compute/v2/public/delete_server.rb index 6fe6fc2..cb81586 100644 --- a/lib/aviator/openstack/compute/v2/public/delete_server.rb +++ b/lib/aviator/openstack/compute/v2/public/delete_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :delete_server do + define_request :delete_server, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Delete_Server-d1e2883.html' @@ -14,13 +11,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -30,8 +21,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }" + "#{ base_url_for :public }/servers/#{ params[:id] }" end end diff --git a/lib/aviator/openstack/compute/v2/public/get_image_details.rb b/lib/aviator/openstack/compute/v2/public/get_image_details.rb index 28b6915..814308c 100644 --- a/lib/aviator/openstack/compute/v2/public/get_image_details.rb +++ b/lib/aviator/openstack/compute/v2/public/get_image_details.rb @@ -1,11 +1,8 @@ module Aviator - define_request :get_image_details do + define_request :get_image_details, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Get_Image_Details-d1e4848.html' @@ -14,13 +11,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -30,9 +21,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ params[:id]}" + "#{ base_url_for :public }/images/#{ params[:id]}" end end diff --git a/lib/aviator/openstack/compute/v2/public/get_server.rb b/lib/aviator/openstack/compute/v2/public/get_server.rb index 7371feb..4a87905 100644 --- a/lib/aviator/openstack/compute/v2/public/get_server.rb +++ b/lib/aviator/openstack/compute/v2/public/get_server.rb @@ -1,11 +1,8 @@ module Aviator - - define_request :get_server do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + define_request :get_server, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Get_Server_Details-d1e2623.html' @@ -13,25 +10,17 @@ module Aviator param :id, required: true def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end - - + + def http_method :get end - - - def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }" + + def url + "#{ base_url_for :public }/servers/#{ params[:id] }" end end diff --git a/lib/aviator/openstack/compute/v2/public/list_addresses.rb b/lib/aviator/openstack/compute/v2/public/list_addresses.rb index 3cdaa31..a2c2797 100644 --- a/lib/aviator/openstack/compute/v2/public/list_addresses.rb +++ b/lib/aviator/openstack/compute/v2/public/list_addresses.rb @@ -1,11 +1,8 @@ module Aviator - define_request :list_addresses do + define_request :list_addresses, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/List_Addresses-d1e3014.html' @@ -19,13 +16,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -35,11 +26,8 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/ips" + url = "#{ base_url_for :public }/servers/#{ params[:id] }/ips" url += "/#{ params[:networkID] }" if params[:networkID] - url end diff --git a/lib/aviator/openstack/compute/v2/public/list_flavors.rb b/lib/aviator/openstack/compute/v2/public/list_flavors.rb index bb77930..09ec059 100644 --- a/lib/aviator/openstack/compute/v2/public/list_flavors.rb +++ b/lib/aviator/openstack/compute/v2/public/list_flavors.rb @@ -1,11 +1,8 @@ module Aviator - - define_request :list_flavors do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + define_request :list_flavors, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/List_Flavors-d1e4188.html' @@ -18,13 +15,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -34,20 +25,9 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - str = "#{ service_spec[:endpoints][0][:publicURL] }/flavors" + str = "#{ base_url_for :public }/flavors" str += "/detail" if params[:details] - - filters = [] - - (optional_params + required_params - [:details]).each do |param_name| - filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] - end - - str += "?#{ filters.join('&') }" unless filters.empty? - - str + str += params_to_querystring(optional_params + required_params - [:details]) end end diff --git a/lib/aviator/openstack/compute/v2/public/list_images.rb b/lib/aviator/openstack/compute/v2/public/list_images.rb index 1baa41a..fd0fb23 100644 --- a/lib/aviator/openstack/compute/v2/public/list_images.rb +++ b/lib/aviator/openstack/compute/v2/public/list_images.rb @@ -1,11 +1,8 @@ module Aviator - define_request :list_images do + define_request :list_images, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/List_Images-d1e4435.html' @@ -21,13 +18,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -37,20 +28,9 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' } - - str = "#{ service_spec[:endpoints][0][:publicURL] }/images" + str = "#{ base_url_for :public }/images" str += "/detail" if params[:details] - - filters = [] - - (optional_params + required_params - [:details]).each do |param_name| - filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] - end - - str += "?#{ filters.join('&') }" unless filters.empty? - - str + str += params_to_querystring(optional_params + required_params - [:details]) end end diff --git a/lib/aviator/openstack/compute/v2/public/list_servers.rb b/lib/aviator/openstack/compute/v2/public/list_servers.rb index f2e6e78..74cad0e 100644 --- a/lib/aviator/openstack/compute/v2/public/list_servers.rb +++ b/lib/aviator/openstack/compute/v2/public/list_servers.rb @@ -1,11 +1,8 @@ module Aviator - - define_request :list_servers do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + define_request :list_servers, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/List_Servers-d1e2078.html' @@ -31,36 +28,28 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end - - + + def http_method :get end - - - def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - str = "#{ service_spec[:endpoints][0][:publicURL] }/servers" + + def url + str = "#{ base_url_for :public }/servers" str += "/detail" if params[:details] - + filters = [] - + (optional_params + required_params - [:details]).each do |param_name| value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name] filters << "#{ param_name }=#{ value }" if value end - + str += "?#{ filters.join('&') }" unless filters.empty? - + str end diff --git a/lib/aviator/openstack/compute/v2/public/reboot_server.rb b/lib/aviator/openstack/compute/v2/public/reboot_server.rb index 49171e1..1831abb 100644 --- a/lib/aviator/openstack/compute/v2/public/reboot_server.rb +++ b/lib/aviator/openstack/compute/v2/public/reboot_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :reboot_server do + define_request :reboot_server, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Reboot_Server-d1e3371.html' @@ -26,13 +23,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -42,8 +33,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :public }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/public/rebuild_server.rb b/lib/aviator/openstack/compute/v2/public/rebuild_server.rb index 86fc9a9..ee788c3 100644 --- a/lib/aviator/openstack/compute/v2/public/rebuild_server.rb +++ b/lib/aviator/openstack/compute/v2/public/rebuild_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :rebuild_server do + define_request :rebuild_server, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/Rebuild_Server-d1e3538.html' @@ -38,13 +35,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -54,8 +45,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/action" + "#{ base_url_for :public }/servers/#{ params[:id] }/action" end end diff --git a/lib/aviator/openstack/compute/v2/public/root.rb b/lib/aviator/openstack/compute/v2/public/root.rb index f46be91..13b4dee 100644 --- a/lib/aviator/openstack/compute/v2/public/root.rb +++ b/lib/aviator/openstack/compute/v2/public/root.rb @@ -1,20 +1,11 @@ module Aviator - define_request :root do + define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +15,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:publicURL]) + uri = URI(base_url_for(:public)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v2/" end diff --git a/lib/aviator/openstack/compute/v2/public/update_server.rb b/lib/aviator/openstack/compute/v2/public/update_server.rb index 4ee0dec..8406bef 100644 --- a/lib/aviator/openstack/compute/v2/public/update_server.rb +++ b/lib/aviator/openstack/compute/v2/public/update_server.rb @@ -1,11 +1,8 @@ module Aviator - define_request :update_server do + define_request :update_server, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :compute - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :compute link 'documentation', 'http://docs.openstack.org/api/openstack-compute/2/content/ServerUpdate.html' @@ -30,13 +27,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -46,8 +37,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }" + "#{ base_url_for :public }/servers/#{ params[:id] }" end end diff --git a/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb b/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb index 0513b47..0036e92 100644 --- a/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +++ b/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb @@ -1,12 +1,8 @@ module Aviator - define_request :add_role_to_user_on_tenant do - - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + define_request :add_role_to_user_on_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/PUT_addRolesToUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html' @@ -18,13 +14,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -34,11 +24,8 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:adminURL] }" \ - "/tenants/#{ params[:tenant_id] }" \ - "/users/#{ params[:user_id] }" \ - "/roles/OS-KSADM/#{ params[:role_id] }" + p = params + "#{ base_url_for :admin }/tenants/#{ p[:tenant_id] }/users/#{ p[:user_id] }/roles/OS-KSADM/#{ p[:role_id] }" end end diff --git a/lib/aviator/openstack/identity/v2/admin/create_tenant.rb b/lib/aviator/openstack/identity/v2/admin/create_tenant.rb index 5786100..e81d2a9 100644 --- a/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +++ b/lib/aviator/openstack/identity/v2/admin/create_tenant.rb @@ -1,11 +1,8 @@ module Aviator - define_request :create_tenant do + define_request :create_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/' @@ -28,13 +25,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -44,8 +35,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' } - "#{ service_spec[:endpoints][0][:adminURL] }/tenants" + "#{ base_url_for :admin }/tenants" end end diff --git a/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb b/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb index 409d53c..da4dfab 100644 --- a/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +++ b/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb @@ -1,15 +1,12 @@ module Aviator - define_request :delete_role_from_user_on_tenant do + define_request :delete_role_from_user_on_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :identity link 'documentation', - 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteRoleFromUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html' + 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteRoleFromUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html' param :tenant_id, required: true @@ -18,13 +15,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -34,11 +25,8 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } - s = "#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:tenant_id] }" - s += "/users/#{ params[:user_id] }" - s += "/roles/OS-KSADM/#{ params[:role_id] }" - s + p = params + "#{ base_url_for :admin }/tenants/#{ p[:tenant_id] }/users/#{ p[:user_id] }/roles/OS-KSADM/#{ p[:role_id] }" end end diff --git a/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb b/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb index d039fc6..c56ae4b 100644 --- a/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +++ b/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb @@ -1,11 +1,8 @@ module Aviator - define_request :delete_tenant do + define_request :delete_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteTenant_v2.0_tenants__tenantId__.html' @@ -14,13 +11,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -30,9 +21,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - - "#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:id]}" + "#{ base_url_for :admin }/tenants/#{ params[:id]}" end end diff --git a/lib/aviator/openstack/identity/v2/admin/list_tenants.rb b/lib/aviator/openstack/identity/v2/admin/list_tenants.rb index a51df68..828d1f0 100644 --- a/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +++ b/lib/aviator/openstack/identity/v2/admin/list_tenants.rb @@ -1,11 +1,8 @@ module Aviator - define_request :list_tenants do + define_request :list_tenants, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listTenants_v2.0_tenants_Tenant_Operations.html' @@ -19,13 +16,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -35,18 +26,8 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' } - str = "#{ service_spec[:endpoints][0][:adminURL] }/tenants" - - filters = [] - - (optional_params + required_params).each do |param_name| - filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] - end - - str += "?#{ filters.join('&') }" unless filters.empty? - - str + str = "#{ base_url_for :admin }/tenants" + str += params_to_querystring(optional_params + required_params) end end diff --git a/lib/aviator/openstack/identity/v2/admin/update_tenant.rb b/lib/aviator/openstack/identity/v2/admin/update_tenant.rb index 5b78f89..dd84d72 100644 --- a/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +++ b/lib/aviator/openstack/identity/v2/admin/update_tenant.rb @@ -1,11 +1,8 @@ module Aviator - define_request :update_tenant do + define_request :update_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :admin + meta :service, :identity link 'documentation', @@ -32,13 +29,7 @@ module Aviator def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -48,8 +39,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s } - "#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:id] }" + "#{ base_url_for :admin }/tenants/#{ params[:id] }" end end diff --git a/lib/aviator/openstack/identity/v2/public/create_token.rb b/lib/aviator/openstack/identity/v2/public/create_token.rb index cb424a8..60eb39a 100644 --- a/lib/aviator/openstack/identity/v2/public/create_token.rb +++ b/lib/aviator/openstack/identity/v2/public/create_token.rb @@ -1,12 +1,9 @@ module Aviator - define_request :create_token do + define_request :create_token, inherit: [:openstack, :common, :v2, :public, :base] do - meta :anonymous, true - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :public + meta :anonymous, true + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_authenticate_v2.0_tokens_.html' @@ -58,8 +55,6 @@ module Aviator url = session_data[:auth_service][:host_uri] url += '/v2.0' if (URI(url).path =~ /^\/?\w+/).nil? url += "/tokens" - - url end end diff --git a/lib/aviator/openstack/identity/v2/public/list_tenants.rb b/lib/aviator/openstack/identity/v2/public/list_tenants.rb index 27eec33..12d8bec 100644 --- a/lib/aviator/openstack/identity/v2/public/list_tenants.rb +++ b/lib/aviator/openstack/identity/v2/public/list_tenants.rb @@ -1,11 +1,8 @@ module Aviator - define_request :list_tenants do + define_request :list_tenants, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :public + meta :service, :identity link 'documentation', 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listTenants_v2.0_tokens_tenants_.html' @@ -19,29 +16,13 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' } - str = "#{ service_spec[:endpoints][0][:publicURL] }/tenants" - - filters = [] - - (optional_params + required_params).each do |param_name| - filters << "#{ param_name }=#{ params[param_name] }" if params[param_name] - end - - str += "?#{ filters.join('&') }" unless filters.empty? - - str + str = "#{ base_url_for :public }/tenants" + str += params_to_querystring(optional_params + required_params) end def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end diff --git a/lib/aviator/openstack/identity/v2/public/root.rb b/lib/aviator/openstack/identity/v2/public/root.rb index b75a790..164086a 100644 --- a/lib/aviator/openstack/identity/v2/public/root.rb +++ b/lib/aviator/openstack/identity/v2/public/root.rb @@ -1,20 +1,12 @@ module Aviator - define_request :root do + define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :identity - meta :provider, :openstack - meta :service, :identity - meta :api_version, :v2 - meta :endpoint_type, :public def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +16,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:publicURL]) + uri = URI(base_url_for(:public)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v2.0/" end diff --git a/lib/aviator/openstack/image/v1/public/root.rb b/lib/aviator/openstack/image/v1/public/root.rb index ff7fe3c..b6d0766 100644 --- a/lib/aviator/openstack/image/v1/public/root.rb +++ b/lib/aviator/openstack/image/v1/public/root.rb @@ -1,20 +1,12 @@ module Aviator - define_request :root do + define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do - meta :provider, :openstack - meta :service, :image - meta :api_version, :v1 - meta :endpoint_type, :public + meta :service, :image + meta :api_version, :v1 def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +16,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:publicURL]) + uri = URI(base_url_for(:public)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/" end diff --git a/lib/aviator/openstack/metering/v1/admin/list_projects.rb b/lib/aviator/openstack/metering/v1/admin/list_projects.rb index 7dc8a57..b280644 100644 --- a/lib/aviator/openstack/metering/v1/admin/list_projects.rb +++ b/lib/aviator/openstack/metering/v1/admin/list_projects.rb @@ -1,20 +1,14 @@ module Aviator - define_request :list_projects do + define_request :list_projects, inherit: [:openstack, :common, :v2, :admin, :base] do - meta :provider, :openstack meta :service, :metering meta :api_version, :v1 meta :endpoint_type, :admin + def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +18,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:adminURL]) + uri = URI(base_url_for(:admin)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/projects" end diff --git a/lib/aviator/openstack/volume/v1/public/create_volume.rb b/lib/aviator/openstack/volume/v1/public/create_volume.rb new file mode 100644 index 0000000..d7ab33c --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/create_volume.rb @@ -0,0 +1,47 @@ +module Aviator + + define_request :create_volume, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume_v1__tenant_id__volumes_v1__tenant_id__volumes.html' + + param :display_name, required: true + param :display_description, required: true + param :size, required: true + param :volume_type, required: false + param :availability_zone, required: false + param :snapshot_id, required: false + param :metadata, required: false + + def body + p = { + volume: { + display_name: params[:display_name], + display_description: params[:display_description], + size: params[:size] + } + } + + [:availability_zone, :metadata].each do |key| + p[:volume][key] = params[key] if params[key] + end + + p + end + + def headers + super + end + + def http_method + :post + end + + def url + "#{ base_url_for :public }/volumes" + end + end + +end diff --git a/lib/aviator/openstack/volume/v1/public/delete_volume.rb b/lib/aviator/openstack/volume/v1/public/delete_volume.rb new file mode 100644 index 0000000..96d5cb4 --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/delete_volume.rb @@ -0,0 +1,25 @@ +module Aviator + + define_request :delete_volume, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html' + + param :id, required: true + + def headers + super + end + + def http_method + :delete + end + + def url + "#{ base_url_for :public }/volumes/#{ params[:id] }" + end + end + +end diff --git a/lib/aviator/openstack/volume/v1/public/get_volume.rb b/lib/aviator/openstack/volume/v1/public/get_volume.rb new file mode 100644 index 0000000..93151f0 --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/get_volume.rb @@ -0,0 +1,28 @@ +module Aviator + + define_request :get_volume, inherit: [:openstack, :common, :v2, :public, :base] do + meta :provider, :openstack + meta :service, :volume + meta :api_version, :v1 + meta :endpoint_type, :public + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html' + + param :id, required: true + + def headers + super + end + + def http_method + :get + end + + def url + "#{ base_url_for :public }/volumes/#{ params[:id] }" + end + + + end + +end diff --git a/lib/aviator/openstack/volume/v1/public/list_volume_types.rb b/lib/aviator/openstack/volume/v1/public/list_volume_types.rb new file mode 100644 index 0000000..85414b5 --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/list_volume_types.rb @@ -0,0 +1,29 @@ +module Aviator + + define_request :list_volume_types, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :provider, :openstack + meta :service, :volume + meta :api_version, :v1 + meta :endpoint_type, :public + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeTypes_v1__tenant_id__types_v1__tenant_id__types.html' + + param :extra_specs, required: false + param :name, required: false + + def headers + super + end + + def http_method + :get + end + + def url + "#{ base_url_for :public }/types" + end + + end + +end diff --git a/lib/aviator/openstack/volume/v1/public/list_volumes.rb b/lib/aviator/openstack/volume/v1/public/list_volumes.rb new file mode 100644 index 0000000..482ff95 --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/list_volumes.rb @@ -0,0 +1,37 @@ +module Aviator + + define_request :list_volumes, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html' + + param :details, required: false + param :status, required: false + param :availability_zone, required: false + param :bootable, required: false + param :display_name, required: false + param :display_description, required: false + param :volume_type, required: false + param :snapshot_id, required: false + param :size, required: false + + + def headers + super + end + + def http_method + :get + end + + def url + str = "#{ base_url_for :public }/volumes" + str += "/detail" if params[:details] + str += params_to_querystring(optional_params + required_params - [:details]) + end + + end + +end diff --git a/lib/aviator/openstack/volume/v1/public/root.rb b/lib/aviator/openstack/volume/v1/public/root.rb index ccfef13..802ab31 100644 --- a/lib/aviator/openstack/volume/v1/public/root.rb +++ b/lib/aviator/openstack/volume/v1/public/root.rb @@ -1,20 +1,13 @@ module Aviator - define_request :root do + define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 - meta :provider, :openstack - meta :service, :volume - meta :api_version, :v1 - meta :endpoint_type, :public def headers - h = {} - - unless self.anonymous? - h['X-Auth-Token'] = session_data[:access][:token][:id] - end - - h + super end @@ -24,8 +17,7 @@ module Aviator def url - service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } - uri = URI(service_spec[:endpoints][0][:publicURL]) + uri = URI(base_url_for(:public)) "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/" end diff --git a/lib/aviator/openstack/volume/v1/public/update_volume.rb b/lib/aviator/openstack/volume/v1/public/update_volume.rb new file mode 100644 index 0000000..524003c --- /dev/null +++ b/lib/aviator/openstack/volume/v1/public/update_volume.rb @@ -0,0 +1,43 @@ +module Aviator + + define_request :update_volume, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :volume + meta :api_version, :v1 + + link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/PUT_renameVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html' + + param :id, required: true + param :display_name, required: false + param :display_description, required: false + + + def body + p = { volume: {} } + + [:display_name, :display_description].each do |key| + p[:volume][key] = params[key] if params[key] + end + + p + end + + + def headers + super + end + + + def http_method + :put + end + + + def url + "#{ base_url_for :public }/volumes/#{ params[:id] }" + end + + end + + +end diff --git a/test/aviator/core/request_builder_test.rb b/test/aviator/core/request_builder_test.rb index 415aded..aff9d7c 100644 --- a/test/aviator/core/request_builder_test.rb +++ b/test/aviator/core/request_builder_test.rb @@ -3,9 +3,14 @@ require 'test_helper' class Aviator::Test describe 'aviator/core/request_builder' do - + + def builder + Aviator + end + + describe '::define_request' do - + it 'places the request class in the right namespace' do provider = :dopenstack service = :supermega @@ -13,14 +18,14 @@ class Aviator::Test ep_type = :uber _name_ = :sample - Aviator.define_request _name_ do + builder.define_request _name_ do meta :provider, provider meta :service, service meta :api_version, api_ver meta :endpoint_type, ep_type end - [provider, service, api_ver, ep_type, _name_].inject(Aviator) do |namespace, sym| + [provider, service, api_ver, ep_type, _name_].inject(builder) do |namespace, sym| const_name = sym.to_s.camelize namespace.const_defined?(const_name, false).must_equal true @@ -36,22 +41,138 @@ class Aviator::Test api_ver = :fixnum # This is on purpose and is critical to this test. ep_type = :awesome _name_ = :this_request - - Aviator.define_request _name_ do + + builder.define_request _name_ do meta :provider, provider meta :service, service meta :api_version, api_ver meta :endpoint_type, ep_type end - - [provider, service, api_ver, ep_type, _name_].inject(Aviator) do |namespace, sym| + + [provider, service, api_ver, ep_type, _name_].inject(builder) do |namespace, sym| const_name = sym.to_s.camelize - - namespace.const_defined?(const_name, false).must_equal true, + + namespace.const_defined?(const_name, false).must_equal true, "Expected #{ const_name } to be defined in #{ namespace }" - + namespace.const_get(const_name, false) - end + end + end + + + it 'understands request inheritance' do + base = { + provider: :another_provider, + service: :base_service, + api_ver: :base_api_ver, + ep_type: :base_ep_type, + name: :base_name + } + + builder.define_request base[:name] do + meta :provider, base[:provider] + meta :service, base[:service] + meta :api_version, base[:api_ver] + meta :endpoint_type, base[:ep_type] + end + + base_request = [ + base[:provider], + base[:service], + base[:api_ver], + base[:ep_type], + base[:name] + ] + + builder.define_request :child_request, inherit: base_request do; end + + child_req_hierarchy = [ + base[:provider], + base[:service], + base[:api_ver], + base[:ep_type], + :child_request + ] + + child_request = child_req_hierarchy.inject(builder) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + + child_request.wont_be_nil + child_request.provider.must_equal base[:provider] + child_request.service.must_equal base[:service] + child_request.api_version.must_equal base[:api_ver] + child_request.endpoint_type.must_equal base[:ep_type] + end + + + it 'raises a BaseRequestNotFoundError if base request does not exist' do + non_existent_base = [:none, :existent, :base] + + the_method = lambda do + builder.define_request :child, inherit: non_existent_base do; end + end + + the_method.must_raise Aviator::BaseRequestNotFoundError + + error = the_method.call rescue $! + + error.message.wont_be_nil + error.base_request_hierarchy.wont_be_nil + error.base_request_hierarchy.must_equal non_existent_base + end + + + it 'raises a RequestAlreadyDefinedError if the request is already defined' do + request = { + provider: :existing_provider, + service: :base_service, + api_ver: :base_api_ver, + ep_type: :base_ep_type, + name: :base_name + } + + builder.define_request request[:name] do + meta :provider, request[:provider] + meta :service, request[:service] + meta :api_version, request[:api_ver] + meta :endpoint_type, request[:ep_type] + end + + the_method = lambda do + builder.define_request request[:name] do + meta :provider, request[:provider] + meta :service, request[:service] + meta :api_version, request[:api_ver] + meta :endpoint_type, request[:ep_type] + end + end + + the_method.must_raise Aviator::RequestAlreadyDefinedError + + error = the_method.call rescue $! + + error.message.wont_be_nil + error.request_name.must_equal request[:name].to_s.camelize + end + + + it 'automatically attempts to load the base class if it\'s not yet loaded' do + base_arr = [:openstack, :identity, :v2, :public, :root] + child_arr = base_arr.first(base_arr.length - 1) + [:child] + + builder.define_request child_arr.last, inherit: base_arr do; end + + base_klass = base_arr.inject(builder) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + + child_klass = child_arr.inject(builder) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + + base_klass.wont_be_nil + child_klass.wont_be_nil end end diff --git a/test/aviator/openstack/compute/v2/public/get_server_test.rb b/test/aviator/openstack/compute/v2/public/get_server_test.rb index 7ff4cd2..efde833 100644 --- a/test/aviator/openstack/compute/v2/public/get_server_test.rb +++ b/test/aviator/openstack/compute/v2/public/get_server_test.rb @@ -17,11 +17,11 @@ class Aviator::Test ) @session.authenticate end - + @session end - - + + def get_session_data session.send :auth_info end @@ -40,98 +40,98 @@ class Aviator::Test validate_attr :anonymous? do klass.anonymous?.must_equal false end - - + + validate_attr :api_version do klass.api_version.must_equal :v2 end - - + + validate_attr :body do - klass.body?.must_equal false - + klass.body?.must_equal false + request = create_request do |params| params[:id] = 'doesntmatter' end - + request.body?.must_equal false end - - + + validate_attr :endpoint_type do klass.endpoint_type.must_equal :public end - - + + validate_attr :headers do headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } - + request = create_request do |params| params[:id] = 'doesntmatter' end - + request.headers.must_equal headers end - - + + validate_attr :http_method do request = create_request do |params| params[:id] = 'doesntmatter' end - + request.http_method.must_equal :get end - - + + validate_attr :optional_params do klass.optional_params.must_equal [] end - - + + validate_attr :required_params do klass.required_params.must_equal [:id] end - - + + validate_attr :url do service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' } server_id = '52415800-8b69-11e0-9b19-734f000004d2' url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }" - + request = create_request do |p| p[:id] = server_id end - + request.url.must_equal url end - - + + validate_response 'a valid server id is provided' do server_id = session.compute_service.request(:list_servers).body[:servers].first[:id] - + response = session.compute_service.request :get_server do |params| params[:id] = server_id end - + response.status.must_equal 200 response.body.wont_be_nil response.body[:server].wont_be_nil response.body[:server][:id].must_equal server_id response.headers.wont_be_nil - end + end validate_response 'an invalid server id is provided' do server_id = 'bogusserveridthatdoesntexist' - + response = session.compute_service.request :get_server do |params| params[:id] = server_id end - + response.status.must_equal 404 response.body.wont_be_nil response.headers.wont_be_nil - end + end end diff --git a/test/aviator/openstack/compute/v2/public/list_servers_test.rb b/test/aviator/openstack/compute/v2/public/list_servers_test.rb index 5ea309b..96b80a0 100644 --- a/test/aviator/openstack/compute/v2/public/list_servers_test.rb +++ b/test/aviator/openstack/compute/v2/public/list_servers_test.rb @@ -188,7 +188,6 @@ class Aviator::Test response.headers.wont_be_nil end - validate_response 'the all_tenants parameter is provided' do current_tenant = admin_session.send(:auth_info)[:access][:token][:tenant] diff --git a/test/aviator/openstack/compute/v2/public/update_server_test.rb b/test/aviator/openstack/compute/v2/public/update_server_test.rb index 6a25fc7..88957b0 100644 --- a/test/aviator/openstack/compute/v2/public/update_server_test.rb +++ b/test/aviator/openstack/compute/v2/public/update_server_test.rb @@ -48,36 +48,36 @@ class Aviator::Test validate_attr :api_version do klass.api_version.must_equal :v2 end - - + + validate_attr :body do request = create_request{|p| p[:id] = 0 } - + klass.body?.must_equal true request.body?.must_equal true request.body.wont_be_nil end - - + + validate_attr :endpoint_type do klass.endpoint_type.must_equal :public end - - + + validate_attr :headers do headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } - + request = create_request{|p| p[:id] = 0 } - + request.headers.must_equal headers end - - + + validate_attr :http_method do create_request{|p| p[:id] = 0 }.http_method.must_equal :put end - - + + validate_attr :optional_params do klass.optional_params.must_equal [ :accessIPv4, @@ -85,38 +85,38 @@ class Aviator::Test :name ] end - - + + validate_attr :required_params do klass.required_params.must_equal [ :id ] end - - + + validate_attr :url do service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' } server_id = '105b09f0b6500d36168480ad84' url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }" - + request = create_request do |params| params[:id] = server_id end - + request.url.must_equal url end - - + + validate_response 'valid server id is provided' do server = session.compute_service.request(:list_servers).body[:servers].first server_id = server[:id] new_name = 'Updated Server' - + response = session.compute_service.request :update_server do |params| params[:id] = server_id params[:name] = new_name end - + response.status.must_equal 200 response.body.wont_be_nil response.body[:server].wont_be_nil @@ -127,18 +127,18 @@ class Aviator::Test validate_response 'invalid server id is provided' do server_id = 'abogusserveridthatdoesnotexist' - + response = session.compute_service.request :update_server do |params| params[:id] = server_id params[:name] = 'it does not matter' end - + response.status.must_equal 404 response.body.wont_be_nil response.headers.wont_be_nil end - - + + end end \ No newline at end of file diff --git a/test/aviator/openstack/identity/v2/public/create_token_test.rb b/test/aviator/openstack/identity/v2/public/create_token_test.rb index df711df..7818718 100644 --- a/test/aviator/openstack/identity/v2/public/create_token_test.rb +++ b/test/aviator/openstack/identity/v2/public/create_token_test.rb @@ -52,7 +52,7 @@ class Aviator::Test validate_attr :headers do - create_request.headers?.must_equal false + create_request.headers?.must_equal true end diff --git a/test/aviator/openstack/volume/v1/public/create_volume_test.rb b/test/aviator/openstack/volume/v1/public/create_volume_test.rb new file mode 100644 index 0000000..3a20f01 --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/create_volume_test.rb @@ -0,0 +1,126 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/volume/v1/public/create_volume' do + + def create_request(session_data = get_session_data, &block) + block ||= lambda do |params| + params[:display_name] = 'Aviator Volume Test Name' + params[:display_description] = 'Aviator Volume Test Description' + params[:size] = '1' + end + + klass.new(session_data, &block) + end + + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'create_volume.rb') + end + + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + + validate_attr :body do + request = create_request + + klass.body?.must_equal true + request.body?.must_equal true + request.body.wont_be_nil + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :post + end + + + validate_attr :optional_params do + klass.optional_params.must_equal [ + :volume_type, + :availability_zone, + :snapshot_id, + :metadata + ] + end + + + validate_attr :required_params do + klass.required_params.must_equal [ + :display_name, + :display_description, + :size + ] + end + + validate_attr :url do + service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' } + url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes" + + request = create_request + + request.url.must_equal url + end + + validate_response 'parameters are provided' do + response = session.volume_service.request :create_volume do |params| + params[:display_name] = 'Aviator Volume Test Name' + params[:display_description] = 'Aviator Volume Test Description' + params[:size] = '1' + end + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volume].wont_be_nil + response.headers.wont_be_nil + end + + end + +end diff --git a/test/aviator/openstack/volume/v1/public/delete_volume_test.rb b/test/aviator/openstack/volume/v1/public/delete_volume_test.rb new file mode 100644 index 0000000..731862e --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/delete_volume_test.rb @@ -0,0 +1,131 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/volume/v1/public/delete_volume' do + + def create_request(session_data = get_session_data, &block) + block ||= lambda do |params| + params[:id] = 0 + end + + klass.new(session_data, &block) + end + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'delete_volume.rb') + end + + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + + validate_attr :body do + request = create_request + klass.body?.must_equal false + request.body?.must_equal false + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :delete + end + + + validate_attr :optional_params do + klass.optional_params.must_equal [] + end + + + validate_attr :required_params do + klass.required_params.must_equal [ + :id + ] + end + + + validate_attr :url do + service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' } + volume_id = '105b09f0b6500d36168480ad84' + url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ volume_id }" + + request = create_request do |params| + params[:id] = volume_id + end + + request.url.must_equal url + end + + + validate_response 'valid volume id is provided' do + volume = session.volume_service.request(:list_volumes).body['volumes'].first + volume_id = volume[:id] + + response = session.volume_service.request :delete_volume do |params| + params[:id] = volume_id + end + + response.status.must_equal 202 + response.headers.wont_be_nil + end + + + validate_response 'invalid volume id is provided' do + volume_id = 'abogusvolumeidthatdoesnotexist' + + response = session.volume_service.request :delete_volume do |params| + params[:id] = volume_id + end + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + end + +end diff --git a/test/aviator/openstack/volume/v1/public/get_volume_test.rb b/test/aviator/openstack/volume/v1/public/get_volume_test.rb new file mode 100644 index 0000000..6970a58 --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/get_volume_test.rb @@ -0,0 +1,141 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/volume/v1/public/get_volume' do + + def create_request(session_data = get_session_data, &block) + block ||= lambda do |params| + params[:id] = 0 + end + + klass.new(session_data, &block) + end + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'get_volume.rb') + end + + def create_volume + session.volume_service.request :create_volume do |params| + params[:display_name] = 'Aviator Volume Test Name' + params[:display_description] = 'Aviator Volume Test Description' + params[:size] = '1' + end + end + + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + + validate_attr :body do + klass.body?.must_equal false + + request = create_request + request.body?.must_equal false + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + request.headers.must_equal headers + end + + + validate_attr :http_method do + request = create_request + request.http_method.must_equal :get + end + + + validate_attr :optional_params do + klass.optional_params.must_equal [] + end + + + validate_attr :required_params do + klass.required_params.must_equal [:id] + end + + + validate_attr :url do + service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' } + volume_id = '52415800-8b69-11e0-9b19-734f000004d2' + url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ volume_id }" + + request = create_request do |p| + p[:id] = volume_id + end + + request.url.must_equal url + end + + + validate_response 'a valid volume id is provided' do + + create_volume + + volume_id = session.volume_service.request(:list_volumes).body['volumes'].first['id'] + + response = session.volume_service.request :get_volume do |params| + params[:id] = volume_id + end + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volume].wont_be_nil + response.body[:volume][:id].must_equal volume_id + response.headers.wont_be_nil + end + + validate_response 'an invalid volume id is provided' do + volume_id = 'bogusserveridthatdoesntexist' + + response = session.volume_service.request :get_volume do |params| + params[:id] = volume_id + end + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + end +end diff --git a/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb b/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb new file mode 100644 index 0000000..efbbd67 --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb @@ -0,0 +1,91 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/volume/v1/public/list_volume_types' do + + def create_request(session_data = get_session_data) + klass.new(session_data) + end + + + def get_session_data + session.send :auth_info + end + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'list_volume_types.rb') + end + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + validate_attr :body do + klass.body?.must_equal false + create_request.body?.must_equal false + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + validate_attr :optional_params do + klass.optional_params.must_equal [ + :extra_specs, + :name + ] + end + + + validate_attr :required_params do + klass.required_params.must_equal [] + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :get + end + + validate_response 'no parameters are provided' do + response = session.volume_service.request :list_volume_types + + response.status.must_equal 200 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + end + +end diff --git a/test/aviator/openstack/volume/v1/public/list_volumes_test.rb b/test/aviator/openstack/volume/v1/public/list_volumes_test.rb new file mode 100644 index 0000000..913c859 --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/list_volumes_test.rb @@ -0,0 +1,154 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/volume/v1/public/list_volumes' do + + def create_request(session_data = get_session_data, &block) + klass.new(session_data, &block) + end + + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'list_volumes.rb') + end + + def create_volume + session.volume_service.request :create_volume do |params| + params[:display_name] = 'Aviator Volume Test Name' + params[:display_description] = 'Aviator Volume Test Description' + params[:size] = '1' + end + end + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + + validate_attr :body do + klass.body?.must_equal false + create_request.body?.must_equal false + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + + request.headers.must_equal headers + end + + validate_attr :optional_params do + klass.optional_params.must_equal [ + :details, + :status, + :availability_zone, + :bootable, + :display_name, + :display_description, + :volume_type, + :snapshot_id, + :size + ] + end + + + validate_attr :required_params do + klass.required_params.must_equal [] + end + + + validate_attr :http_method do + create_request.http_method.must_equal :get + end + + validate_response 'no parameters are provided' do + create_volume + + response = session.volume_service.request :list_volumes + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volumes].length.wont_equal 0 + response.headers.wont_be_nil + end + + validate_response 'parameters are valid' do + create_volume + + response = session.volume_service.request :list_volumes do |params| + params[:details] = true + params[:display_name] = 'Aviator Volume Test Name' + end + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volumes].length.must_be :>=, 6 + #assert response.body[:volumes].length >= 1 + response.headers.wont_be_nil + end + + validate_response 'parameters are invalid' do + response = session.volume_service.request :list_volumes do |params| + params[:display_name] = "derpderp" + end + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volumes].length.must_equal 0 + response.headers.wont_be_nil + end + end +end diff --git a/test/aviator/openstack/volume/v1/public/update_volume_test.rb b/test/aviator/openstack/volume/v1/public/update_volume_test.rb new file mode 100644 index 0000000..8e273e7 --- /dev/null +++ b/test/aviator/openstack/volume/v1/public/update_volume_test.rb @@ -0,0 +1,130 @@ +require 'test_helper' + +class Aviator::Test + describe 'aviator/openstack/volume/v1/public/update_volume' do + def create_request(session_data = get_session_data, &block) + block ||= lambda do |params| + params[:id] = 0 + end + + klass.new(session_data, &block) + end + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'update_volume.rb') + end + + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v1 + end + + + validate_attr :body do + request = create_request + klass.body?.must_equal true + request.body?.must_equal true + request.body.wont_be_nil + end + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :put + end + + + validate_attr :optional_params do + klass.optional_params.must_equal [ + :display_name, + :display_description + ] + end + + validate_attr :required_params do + klass.required_params.must_equal [ + :id + ] + end + + validate_attr :url do + service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' } + volume_id = 'doesitmatter' + url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ volume_id }" + + request = create_request do |params| + params[:id] = volume_id + end + + request.url.must_equal url + end + + validate_response 'valid volume id is provided' do + volume = session.volume_service.request(:list_volumes).body[:volumes].first + volume_id = volume[:id] + new_name = 'Aviator Test Update Volume' + + response = session.volume_service.request :update_volume do |params| + params[:id] = volume_id + params[:display_name] = new_name + end + + response.status.must_equal 200 + response.body.wont_be_nil + response.body[:volume].wont_be_nil + response.body[:volume][:display_name].must_equal new_name + response.headers.wont_be_nil + end + + validate_response 'invalid volume id is provided' do + volume_id = 'ithinkiexist' + + response = session.volume_service.request :update_volume do |params| + params[:id] = volume_id + params[:display_name] = 'it does not matter' + end + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + end +end diff --git a/test/cassettes/openstack/volume/v1/public/create_volume/leads_to_a_valid_response_when_parameters_are_provided.yml b/test/cassettes/openstack/volume/v1/public/create_volume/leads_to_a_valid_response_when_parameters_are_provided.yml new file mode 100644 index 0000000..784ac44 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/create_volume/leads_to_a_valid_response_when_parameters_are_provided.yml @@ -0,0 +1,101 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:25 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:25.380291", + "expires": "2013-09-20T13:59:25Z", "id": "1b70353c001b459ab5f7079bf5ab8d10", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:25 GMT +- request: + method: post + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"Aviator Volume Test Name","display_description":"Aviator + Volume Test Description","size":"1"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 1b70353c001b459ab5f7079bf5ab8d10 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-6f7d0cdd-1eb4-46bf-b359-b3709b4feebe + content-type: + - application/json + content-length: + - '388' + date: + - Fri, 20 Sep 2013 07:59:26 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume": {"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T07:59:26.833673", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "4ff48b74-6123-454d-b5b8-60d0c4ffcb2d", "size": + 1}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:27 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..da03ffa --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:17 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:17.335947", + "expires": "2013-09-20T13:59:17Z", "id": "edeb3e5b0a7948c0a4b930f7b688d30e", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:17 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..36f02e5 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:23 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:23.975794", + "expires": "2013-09-20T13:59:23Z", "id": "48a1c24e18814cff8df485b038082b74", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:23 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..dd3ee75 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:22 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:22.330243", + "expires": "2013-09-20T13:59:22Z", "id": "b3b2741830394537ae4cd85f89e74a0e", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:22 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..b26c076 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_url_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:19 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:19.654176", + "expires": "2013-09-20T13:59:19Z", "id": "b98a5c9fda384bcfbefacc53f3fcfed5", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:20 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml new file mode 100644 index 0000000..ffab8f2 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml @@ -0,0 +1,96 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:29 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:28.845185", + "expires": "2013-09-20T13:59:28Z", "id": "67b4fff6853f4a3bae04c616e3e92651", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:29 GMT +- request: + method: delete + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/abogusvolumeidthatdoesnotexist + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 67b4fff6853f4a3bae04c616e3e92651 + response: + status: + code: 404 + message: + headers: + content-length: + - '78' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-207cc2f8-7a28-47c9-b784-c95182586e9b + date: + - Fri, 20 Sep 2013 07:59:30 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "The resource could not be found.", + "code": 404}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:30 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml new file mode 100644 index 0000000..af8e86d --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml @@ -0,0 +1,167 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:34 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:34.666573", + "expires": "2013-09-20T13:59:34Z", "id": "6535fe05cfbb4fb7823e33c2a55a54a5", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:34 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 6535fe05cfbb4fb7823e33c2a55a54a5 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-5463cc64-b652-44da-b0f6-36ced59ac7a6 + content-type: + - application/json + content-length: + - '3428' + date: + - Fri, 20 Sep 2013 07:59:36 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": [{"status": "available", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T07:59:26.000000", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "4ff48b74-6123-454d-b5b8-60d0c4ffcb2d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:50:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ab40c9d1-1503-4993-a5c3-a251cd6453a3", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:50:01.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "400eb4b9-2c09-4214-801b-820219f48683", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:49:22.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ed842538-81f1-4c27-9710-fb3f7e41db10", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:44:51.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "64b1046e-4ae4-4457-aefb-30e6d451f432", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:42:05.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c8c3cdb5-e591-44ed-807a-fd9c27493d34", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:40:08.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "cc7b0920-d0a2-4f40-bbad-53a8bbfe3e1d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:38:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c972a0f2-0d58-4ea0-97b8-9fd28899ad9b", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:26:00.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "2d8c7d04-73d4-4266-9c2d-2fa071b39b41", "size": + 1}]}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:36 GMT +- request: + method: delete + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/4ff48b74-6123-454d-b5b8-60d0c4ffcb2d + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 6535fe05cfbb4fb7823e33c2a55a54a5 + response: + status: + code: 202 + message: + headers: + content-type: + - text/html; charset=UTF-8 + content-length: + - '0' + date: + - Fri, 20 Sep 2013 07:59:37 GMT + connection: + - close + body: + encoding: US-ASCII + string: '' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:44 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..9dbc2dd --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:48 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:48.636661", + "expires": "2013-09-20T13:59:48Z", "id": "ebe9463c38094d81ab48f810d375d956", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:48 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..f935939 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:50 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:50.460152", + "expires": "2013-09-20T13:59:50Z", "id": "fc86ba08d93c4e2681b971e51dca94fe", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:50 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..9c5635d --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:46 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:46.596877", + "expires": "2013-09-20T13:59:46Z", "id": "b9d3361e2fbc4f7aa085dd9992eb3e62", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:46 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..79d8bd8 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_url_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:32 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:32.508008", + "expires": "2013-09-20T13:59:32Z", "id": "fa4f381ad1df48ddab28add197981711", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:32 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_a_valid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_a_valid_volume_id_is_provided.yml new file mode 100644 index 0000000..a7eb7d5 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_a_valid_volume_id_is_provided.yml @@ -0,0 +1,213 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:54 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:53.988555", + "expires": "2013-09-20T13:59:53Z", "id": "ceae0b6f82ab4ad1aa10e0402686e7fa", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:54 GMT +- request: + method: post + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"Aviator Volume Test Name","display_description":"Aviator + Volume Test Description","size":"1"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - ceae0b6f82ab4ad1aa10e0402686e7fa + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-dfc4702e-df52-4458-80e2-96770fe3dcce + content-type: + - application/json + content-length: + - '388' + date: + - Fri, 20 Sep 2013 07:59:55 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume": {"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T07:59:55.290763", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", "size": + 1}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:55 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - ceae0b6f82ab4ad1aa10e0402686e7fa + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-691abe89-a5d4-442e-89c6-d29a29a7996b + content-type: + - application/json + content-length: + - '3427' + date: + - Fri, 20 Sep 2013 07:59:56 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": [{"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T07:59:55.000000", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:50:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ab40c9d1-1503-4993-a5c3-a251cd6453a3", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:50:01.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "400eb4b9-2c09-4214-801b-820219f48683", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:49:22.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ed842538-81f1-4c27-9710-fb3f7e41db10", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:44:51.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "64b1046e-4ae4-4457-aefb-30e6d451f432", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:42:05.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c8c3cdb5-e591-44ed-807a-fd9c27493d34", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:40:08.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "cc7b0920-d0a2-4f40-bbad-53a8bbfe3e1d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:38:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c972a0f2-0d58-4ea0-97b8-9fd28899ad9b", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:26:00.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "2d8c7d04-73d4-4266-9c2d-2fa071b39b41", "size": + 1}]}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:56 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/968ead41-cc9c-4555-9ec1-d8ff08178292 + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - ceae0b6f82ab4ad1aa10e0402686e7fa + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-768355c0-748c-47c9-ae6a-ee455d22505b + content-type: + - application/json + content-length: + - '388' + date: + - Fri, 20 Sep 2013 07:59:58 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume": {"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T07:59:55.000000", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", "size": + 1}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:58 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_an_invalid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_an_invalid_volume_id_is_provided.yml new file mode 100644 index 0000000..343bdca --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_an_invalid_volume_id_is_provided.yml @@ -0,0 +1,96 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:01 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:01.885774", + "expires": "2013-09-20T14:00:01Z", "id": "6d952d467d874b07857cf29baeb1aab4", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:01 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/bogusserveridthatdoesntexist + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 6d952d467d874b07857cf29baeb1aab4 + response: + status: + code: 404 + message: + headers: + content-length: + - '78' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-d595e093-02d1-4d98-821d-45d5c55ba562 + date: + - Fri, 20 Sep 2013 08:00:02 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "The resource could not be found.", + "code": 404}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:02 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..7277106 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:05 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:05.371920", + "expires": "2013-09-20T14:00:05Z", "id": "45e94cdbc1e44e89906c6fd0da6bc8e3", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:05 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..c9ce5d8 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:07 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:07.398983", + "expires": "2013-09-20T14:00:07Z", "id": "4101a3be37f04bf68c1ce444f9ca413e", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:07 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..668fd0a --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:00 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:00.486920", + "expires": "2013-09-20T14:00:00Z", "id": "5b436b62fdcc4c57bd277f8f326f2c30", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:00 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..fa09766 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_url_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 07:59:52 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T07:59:52.163727", + "expires": "2013-09-20T13:59:52Z", "id": "0e288f5b0a104aaa99f8e1cfa0323554", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 07:59:52 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volume_types/leads_to_a_valid_response_when_no_parameters_are_provided.yml b/test/cassettes/openstack/volume/v1/public/list_volume_types/leads_to_a_valid_response_when_no_parameters_are_provided.yml new file mode 100644 index 0000000..84ab930 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volume_types/leads_to_a_valid_response_when_no_parameters_are_provided.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:39:45 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:39:45.238032", + "expires": "2013-09-20T16:39:45Z", "id": "76d3cb692fa44f7d92d2943ed93e4c9a", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:39:45 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/types + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 76d3cb692fa44f7d92d2943ed93e4c9a + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-dccd654a-9a13-431d-8262-ebdd16fbccaa + content-type: + - application/json + content-length: + - '20' + date: + - Fri, 20 Sep 2013 10:39:47 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume_types": []}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:39:48 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..2f7a90b --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:37:53 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:37:53.893249", + "expires": "2013-09-20T16:37:53Z", "id": "22b8d7ae299743a0bfee9ec780839db8", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:37:54 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..f9f16d9 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:40:22 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:40:22.315208", + "expires": "2013-09-20T16:40:22Z", "id": "71d65d1b765845f3851ff298cab82a78", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:40:22 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..15d6fcd --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:37:52 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:37:52.152969", + "expires": "2013-09-20T16:37:52Z", "id": "3bfc557a6fa94c46ad38cbbacfb10727", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:37:52 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_no_parameters_are_provided.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_no_parameters_are_provided.yml new file mode 100644 index 0000000..f50e368 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_no_parameters_are_provided.yml @@ -0,0 +1,178 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:45 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:45.065578", + "expires": "2013-09-20T14:00:44Z", "id": "2924013634d14689ab330138bc81840f", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:45 GMT +- request: + method: post + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"Aviator Volume Test Name","display_description":"Aviator + Volume Test Description","size":"1"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 2924013634d14689ab330138bc81840f + response: + status: + code: 413 + message: + headers: + retry-after: + - '0' + content-length: + - '128' + content-type: + - application/json + x-compute-request-id: + - req-b3638a6a-6127-4802-b9e3-509c7471a492 + date: + - Fri, 20 Sep 2013 08:00:47 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"overLimit": {"message": "VolumeLimitExceeded: Maximum number of + volumes allowed (10) exceeded", "code": 413, "retryAfter": 0}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:47 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 2924013634d14689ab330138bc81840f + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-76406eee-32dd-474b-ba07-93efbacfe722 + content-type: + - application/json + content-length: + - '3807' + date: + - Fri, 20 Sep 2013 08:00:47 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": [{"status": "available", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T08:00:35.000000", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "5d37d30d-f303-4e74-836f-42cc43486d1c", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:59:55.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:50:11.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "ab40c9d1-1503-4993-a5c3-a251cd6453a3", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:50:01.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "400eb4b9-2c09-4214-801b-820219f48683", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:49:22.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "ed842538-81f1-4c27-9710-fb3f7e41db10", "size": + 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:44:51.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "64b1046e-4ae4-4457-aefb-30e6d451f432", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:42:05.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c8c3cdb5-e591-44ed-807a-fd9c27493d34", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:40:08.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "cc7b0920-d0a2-4f40-bbad-53a8bbfe3e1d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:38:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c972a0f2-0d58-4ea0-97b8-9fd28899ad9b", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:26:00.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "2d8c7d04-73d4-4266-9c2d-2fa071b39b41", "size": + 1}]}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:47 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_invalid.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_invalid.yml new file mode 100644 index 0000000..7186a23 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_invalid.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:50 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:50.133947", + "expires": "2013-09-20T14:00:50Z", "id": "b305ef8fdb63417cb9b046f7c6ce7182", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:50 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes?display_name=derpderp + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - b305ef8fdb63417cb9b046f7c6ce7182 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-ede285a3-1871-413d-ab76-e04efae91c13 + content-type: + - application/json + content-length: + - '15' + date: + - Fri, 20 Sep 2013 08:00:51 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": []}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:51 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_valid.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_valid.yml new file mode 100644 index 0000000..96a8670 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_valid.yml @@ -0,0 +1,170 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:33 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:32.968419", + "expires": "2013-09-20T14:00:32Z", "id": "f8a591b519064963b617b805040a38a9", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:33 GMT +- request: + method: post + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"Aviator Volume Test Name","display_description":"Aviator + Volume Test Description","size":"1"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - f8a591b519064963b617b805040a38a9 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-42e055ff-d4bf-4943-bd6a-068d6902188c + content-type: + - application/json + content-length: + - '388' + date: + - Fri, 20 Sep 2013 08:00:35 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume": {"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T08:00:35.025400", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "5d37d30d-f303-4e74-836f-42cc43486d1c", "size": + 1}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:35 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/detail?display_name=Aviator+Volume+Test+Name + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - f8a591b519064963b617b805040a38a9 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-221a910c-8585-418d-9e88-abd57c7c7df3 + content-type: + - application/json + content-length: + - '3044' + date: + - Fri, 20 Sep 2013 08:00:36 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": [{"status": "creating", "display_name": "Aviator Volume + Test Name", "attachments": [], "availability_zone": "nova", "bootable": "false", + "created_at": "2013-09-20T08:00:35.000000", "display_description": "Aviator + Volume Test Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "5d37d30d-f303-4e74-836f-42cc43486d1c", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:59:55.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:50:11.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "ab40c9d1-1503-4993-a5c3-a251cd6453a3", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:50:01.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "400eb4b9-2c09-4214-801b-820219f48683", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:49:22.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "ed842538-81f1-4c27-9710-fb3f7e41db10", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:42:05.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c8c3cdb5-e591-44ed-807a-fd9c27493d34", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:40:08.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "cc7b0920-d0a2-4f40-bbad-53a8bbfe3e1d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:38:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c972a0f2-0d58-4ea0-97b8-9fd28899ad9b", + "size": 1}]}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:37 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..6cc818f --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:42 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:42.601194", + "expires": "2013-09-20T14:00:42Z", "id": "4142143e8d9b48bebe000cde86b50bcf", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:42 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..cb88ff6 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:40 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:40.101935", + "expires": "2013-09-20T14:00:40Z", "id": "2e94563f27c444c6901c71b1afafa4d8", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:40 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..589ceb0 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 08:00:31 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:31.007821", + "expires": "2013-09-20T14:00:30Z", "id": "3f604134e2fc4212b41765fffd035979", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 08:00:30 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml b/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml index 04a194e..4d797c2 100644 --- a/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +++ b/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml @@ -21,50 +21,47 @@ http_interactions: content-type: - application/json content-length: - - '2644' + - '2654' date: - - Wed, 11 Sep 2013 09:39:02 GMT + - Fri, 20 Sep 2013 08:00:53 GMT connection: - close body: encoding: US-ASCII - string: ! '{"access": {"token": {"issued_at": "2013-09-11T09:39:02.928124", - "expires": "2013-09-12T09:39:02Z", "id": "536b86a78c414e2399ec7ed45a61b399", - "tenant": {"description": "", "enabled": true, "id": "c03f067db0db447e9dcaa83d89ac123a", - "name": ""}}, "serviceCatalog": [{"endpoints": - [{"adminURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "id": "5c217f7dabfc4405b2f19fb9ce36633d", "publicURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a"}], + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:53.070241", + "expires": "2013-09-20T14:00:52Z", "id": "aa17062ea27c49738c53779cc3b07c99", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", - "id": "2cc9517596534387a120fc6090be0529", "publicURL": "http://127.0.0.1:3333"}], - "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", - "id": "73a8f755f9504369bae5487e95baa8d1", "publicURL": "http://127.0.0.1:9292"}], + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", - "id": "1bdf9a67f08d4ad1bb51037e6b8522ba", "publicURL": "http://127.0.0.1:8777"}], + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "id": "24601679ac7d41c697130686e9d3fce2", "publicURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a"}], + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", - "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3843111b94ec47cc9d306291e3bc1051", - "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": - [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", - "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": - "5f9312cbe04c4034b3aca6cf83f96160", "publicURL": "http://127.0.0.1:5000/v2.0"}], - "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": - "", "roles_links": [], "id": "e79d07a8b999437fb44bd3e6afe72b08", - "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, - "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", - "45bb4b03d99a43c1bc4e48d5e1ab9d72"]}}}' + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:03 GMT + recorded_at: Fri, 20 Sep 2013 08:00:53 GMT - request: method: get - uri: http://127.0.0.1:8776/v1/ + uri: :8776/v1/ body: encoding: US-ASCII string: '' @@ -74,20 +71,20 @@ http_interactions: User-Agent: - Faraday v0.8.8 X-Auth-Token: - - 536b86a78c414e2399ec7ed45a61b399 + - aa17062ea27c49738c53779cc3b07c99 response: status: code: 200 message: headers: x-compute-request-id: - - req-4bc25ea7-1cef-45ed-a068-357757dc7bd5 + - req-99d11d8a-3048-4daa-a236-f0c59393a001 content-type: - application/json content-length: - - '619' + - '633' date: - - Wed, 11 Sep 2013 09:39:03 GMT + - Fri, 20 Sep 2013 08:00:54 GMT connection: - close body: @@ -95,10 +92,10 @@ http_interactions: string: ! '{"version": {"status": "CURRENT", "updated": "2012-01-04T11:33:21Z", "media-types": [{"base": "application/xml", "type": "application/vnd.openstack.volume+xml;version=1"}, {"base": "application/json", "type": "application/vnd.openstack.volume+json;version=1"}], - "id": "v1.0", "links": [{"href": "http://127.0.0.1:8776/v1/", "rel": "self"}, - {"href": "http://jorgew.github.com/block-storage-api/content/os-block-storage-1.0.pdf", + "id": "v1.0", "links": [{"href": ":8776/v1/", "rel": + "self"}, {"href": "http://jorgew.github.com/block-storage-api/content/os-block-storage-1.0.pdf", "type": "application/pdf", "rel": "describedby"}, {"href": "http://docs.rackspacecloud.com/servers/api/v1.1/application.wadl", "type": "application/vnd.sun.wadl+xml", "rel": "describedby"}]}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:03 GMT + recorded_at: Fri, 20 Sep 2013 08:00:54 GMT recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml index 6097c09..43ab0ac 100644 --- a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml +++ b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml @@ -21,45 +21,42 @@ http_interactions: content-type: - application/json content-length: - - '2644' + - '2654' date: - - Wed, 11 Sep 2013 09:39:02 GMT + - Fri, 20 Sep 2013 08:00:58 GMT connection: - close body: encoding: US-ASCII - string: ! '{"access": {"token": {"issued_at": "2013-09-11T09:39:02.412874", - "expires": "2013-09-12T09:39:02Z", "id": "81960bbb0a7748a7a2178b642f34e64c", - "tenant": {"description": "", "enabled": true, "id": "c03f067db0db447e9dcaa83d89ac123a", - "name": ""}}, "serviceCatalog": [{"endpoints": - [{"adminURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "id": "5c217f7dabfc4405b2f19fb9ce36633d", "publicURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a"}], + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:58.738716", + "expires": "2013-09-20T14:00:58Z", "id": "33eb4215ff9240bd9ddacaa26b6f210b", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", - "id": "2cc9517596534387a120fc6090be0529", "publicURL": "http://127.0.0.1:3333"}], - "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", - "id": "73a8f755f9504369bae5487e95baa8d1", "publicURL": "http://127.0.0.1:9292"}], + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", - "id": "1bdf9a67f08d4ad1bb51037e6b8522ba", "publicURL": "http://127.0.0.1:8777"}], + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "id": "24601679ac7d41c697130686e9d3fce2", "publicURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a"}], + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", - "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3843111b94ec47cc9d306291e3bc1051", - "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": - [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", - "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": - "5f9312cbe04c4034b3aca6cf83f96160", "publicURL": "http://127.0.0.1:5000/v2.0"}], - "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": - "", "roles_links": [], "id": "e79d07a8b999437fb44bd3e6afe72b08", - "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, - "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", - "45bb4b03d99a43c1bc4e48d5e1ab9d72"]}}}' + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:02 GMT + recorded_at: Fri, 20 Sep 2013 08:00:59 GMT recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml index 54073e3..4189ad3 100644 --- a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml +++ b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml @@ -21,45 +21,42 @@ http_interactions: content-type: - application/json content-length: - - '2644' + - '2654' date: - - Wed, 11 Sep 2013 09:39:02 GMT + - Fri, 20 Sep 2013 08:01:00 GMT connection: - close body: encoding: US-ASCII - string: ! '{"access": {"token": {"issued_at": "2013-09-11T09:39:02.255485", - "expires": "2013-09-12T09:39:02Z", "id": "d4cf34bb104e41a3a20ba1610109a57f", - "tenant": {"description": "", "enabled": true, "id": "c03f067db0db447e9dcaa83d89ac123a", - "name": ""}}, "serviceCatalog": [{"endpoints": - [{"adminURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "id": "5c217f7dabfc4405b2f19fb9ce36633d", "publicURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a"}], + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:01:00.561651", + "expires": "2013-09-20T14:01:00Z", "id": "edffcbd7040e4ca28aa239ebab689772", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", - "id": "2cc9517596534387a120fc6090be0529", "publicURL": "http://127.0.0.1:3333"}], - "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", - "id": "73a8f755f9504369bae5487e95baa8d1", "publicURL": "http://127.0.0.1:9292"}], + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", - "id": "1bdf9a67f08d4ad1bb51037e6b8522ba", "publicURL": "http://127.0.0.1:8777"}], + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "id": "24601679ac7d41c697130686e9d3fce2", "publicURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a"}], + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", - "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3843111b94ec47cc9d306291e3bc1051", - "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": - [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", - "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": - "5f9312cbe04c4034b3aca6cf83f96160", "publicURL": "http://127.0.0.1:5000/v2.0"}], - "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": - "", "roles_links": [], "id": "e79d07a8b999437fb44bd3e6afe72b08", - "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, - "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", - "45bb4b03d99a43c1bc4e48d5e1ab9d72"]}}}' + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:02 GMT + recorded_at: Fri, 20 Sep 2013 08:01:00 GMT recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml index ddbd11f..d6acd62 100644 --- a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml +++ b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml @@ -21,45 +21,42 @@ http_interactions: content-type: - application/json content-length: - - '2644' + - '2654' date: - - Wed, 11 Sep 2013 09:39:02 GMT + - Fri, 20 Sep 2013 08:01:03 GMT connection: - close body: encoding: US-ASCII - string: ! '{"access": {"token": {"issued_at": "2013-09-11T09:39:02.635540", - "expires": "2013-09-12T09:39:02Z", "id": "b5a804504a574a259b3f8c02f214b98a", - "tenant": {"description": "", "enabled": true, "id": "c03f067db0db447e9dcaa83d89ac123a", - "name": ""}}, "serviceCatalog": [{"endpoints": - [{"adminURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "id": "5c217f7dabfc4405b2f19fb9ce36633d", "publicURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a"}], + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:01:02.679191", + "expires": "2013-09-20T14:01:02Z", "id": "2f4ff9eb7a9f4c12886bd0de97ac8ab4", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", - "id": "2cc9517596534387a120fc6090be0529", "publicURL": "http://127.0.0.1:3333"}], - "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", - "id": "73a8f755f9504369bae5487e95baa8d1", "publicURL": "http://127.0.0.1:9292"}], + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", - "id": "1bdf9a67f08d4ad1bb51037e6b8522ba", "publicURL": "http://127.0.0.1:8777"}], + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "id": "24601679ac7d41c697130686e9d3fce2", "publicURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a"}], + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", - "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3843111b94ec47cc9d306291e3bc1051", - "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": - [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", - "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": - "5f9312cbe04c4034b3aca6cf83f96160", "publicURL": "http://127.0.0.1:5000/v2.0"}], - "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": - "", "roles_links": [], "id": "e79d07a8b999437fb44bd3e6afe72b08", - "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, - "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", - "45bb4b03d99a43c1bc4e48d5e1ab9d72"]}}}' + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:02 GMT + recorded_at: Fri, 20 Sep 2013 08:01:04 GMT recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml index 689e6ec..638528f 100644 --- a/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml +++ b/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml @@ -21,45 +21,42 @@ http_interactions: content-type: - application/json content-length: - - '2644' + - '2654' date: - - Wed, 11 Sep 2013 09:39:02 GMT + - Fri, 20 Sep 2013 08:00:56 GMT connection: - close body: encoding: US-ASCII - string: ! '{"access": {"token": {"issued_at": "2013-09-11T09:39:02.777385", - "expires": "2013-09-12T09:39:02Z", "id": "4f39590831b64f48b12ff1f3f5634227", - "tenant": {"description": "", "enabled": true, "id": "c03f067db0db447e9dcaa83d89ac123a", - "name": ""}}, "serviceCatalog": [{"endpoints": - [{"adminURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a", - "id": "5c217f7dabfc4405b2f19fb9ce36633d", "publicURL": "http://127.0.0.1:8774/v2/c03f067db0db447e9dcaa83d89ac123a"}], + string: ! '{"access": {"token": {"issued_at": "2013-09-20T08:00:56.240415", + "expires": "2013-09-20T14:00:56Z", "id": "6b31e8e1115a45b985904a3c74c57281", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", - "id": "2cc9517596534387a120fc6090be0529", "publicURL": "http://127.0.0.1:3333"}], - "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", - "id": "73a8f755f9504369bae5487e95baa8d1", "publicURL": "http://127.0.0.1:9292"}], + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": - "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", - "id": "1bdf9a67f08d4ad1bb51037e6b8522ba", "publicURL": "http://127.0.0.1:8777"}], + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a", - "id": "24601679ac7d41c697130686e9d3fce2", "publicURL": "http://127.0.0.1:8776/v1/c03f067db0db447e9dcaa83d89ac123a"}], + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": - [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", - "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3843111b94ec47cc9d306291e3bc1051", - "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": - [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", - "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": - "5f9312cbe04c4034b3aca6cf83f96160", "publicURL": "http://127.0.0.1:5000/v2.0"}], - "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": - "", "roles_links": [], "id": "e79d07a8b999437fb44bd3e6afe72b08", - "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, - "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", - "45bb4b03d99a43c1bc4e48d5e1ab9d72"]}}}' + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' http_version: - recorded_at: Wed, 11 Sep 2013 09:39:02 GMT + recorded_at: Fri, 20 Sep 2013 08:00:56 GMT recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml new file mode 100644 index 0000000..6adc88d --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml @@ -0,0 +1,96 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:56 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:56.382936", + "expires": "2013-09-20T16:18:56Z", "id": "62990d41920944238c9b8fc889e74681", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:56 GMT +- request: + method: put + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/ithinkiexist + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"it does not matter"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 62990d41920944238c9b8fc889e74681 + response: + status: + code: 404 + message: + headers: + content-length: + - '78' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-8481a045-d5d2-4f80-adaa-5922283588cb + date: + - Fri, 20 Sep 2013 10:18:57 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "The resource could not be found.", + "code": 404}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:57 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml b/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml new file mode 100644 index 0000000..306f6df --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml @@ -0,0 +1,179 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:47 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:47.290680", + "expires": "2013-09-20T16:18:47Z", "id": "b4e554d236aa41fa8b9068d8c9b55360", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:47 GMT +- request: + method: get + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - b4e554d236aa41fa8b9068d8c9b55360 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-4f8507e3-17f1-4c0d-bd22-8a4586432898 + content-type: + - application/json + content-length: + - '3809' + date: + - Fri, 20 Sep 2013 10:18:49 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volumes": [{"status": "available", "display_name": "Aviator Test + Update Volume", "attachments": [], "availability_zone": "nova", "bootable": + "false", "created_at": "2013-09-20T08:00:35.000000", "display_description": + "Aviator Volume Test Description", "volume_type": "None", "snapshot_id": null, + "source_volid": null, "metadata": {}, "id": "5d37d30d-f303-4e74-836f-42cc43486d1c", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:59:55.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "968ead41-cc9c-4555-9ec1-d8ff08178292", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:50:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ab40c9d1-1503-4993-a5c3-a251cd6453a3", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:50:01.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "400eb4b9-2c09-4214-801b-820219f48683", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:49:22.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "ed842538-81f1-4c27-9710-fb3f7e41db10", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:44:51.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "64b1046e-4ae4-4457-aefb-30e6d451f432", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:42:05.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c8c3cdb5-e591-44ed-807a-fd9c27493d34", + "size": 1}, {"status": "available", "display_name": "Aviator Volume Test Name", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:40:08.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "cc7b0920-d0a2-4f40-bbad-53a8bbfe3e1d", "size": + 1}, {"status": "available", "display_name": "Aviator Volume Test Name", "attachments": + [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-09-20T07:38:11.000000", + "display_description": "Aviator Volume Test Description", "volume_type": "None", + "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "c972a0f2-0d58-4ea0-97b8-9fd28899ad9b", + "size": 1}, {"status": "available", "display_name": "Aviator Test Update Volume", + "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at": + "2013-09-20T07:26:00.000000", "display_description": "Aviator Volume Test + Description", "volume_type": "None", "snapshot_id": null, "source_volid": + null, "metadata": {}, "id": "2d8c7d04-73d4-4266-9c2d-2fa071b39b41", "size": + 1}]}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:49 GMT +- request: + method: put + uri: :8776/v1/d770443fc60a410c843dc12b98ac8135/volumes/5d37d30d-f303-4e74-836f-42cc43486d1c + body: + encoding: UTF-8 + string: ! '{"volume":{"display_name":"Aviator Test Update Volume"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - b4e554d236aa41fa8b9068d8c9b55360 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-1969fe2a-630a-4ccf-9392-e92f4f830ed0 + content-type: + - application/json + content-length: + - '391' + date: + - Fri, 20 Sep 2013 10:18:53 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"volume": {"status": "available", "display_name": "Aviator Test + Update Volume", "attachments": [], "availability_zone": "nova", "bootable": + "false", "created_at": "2013-09-20T08:00:35.000000", "display_description": + "Aviator Volume Test Description", "volume_type": "None", "snapshot_id": null, + "source_volid": null, "metadata": {}, "id": "5d37d30d-f303-4e74-836f-42cc43486d1c", + "size": 1}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:53 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..b352ffb --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_body_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:43 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:43.700464", + "expires": "2013-09-20T16:18:43Z", "id": "fd8f1429eb62486fb13b9d68873f3523", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:43 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..55b497d --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:45 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:45.348059", + "expires": "2013-09-20T16:18:45Z", "id": "479d8acecb5e49ac9d0651d3c8f12087", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:45 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..d6fd957 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:59 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:59.278820", + "expires": "2013-09-20T16:18:59Z", "id": "5faa442f0eb2484cb59d6ee81e0c8341", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:59 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..1961bb5 --- /dev/null +++ b/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_url_.yml @@ -0,0 +1,62 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2654' + date: + - Fri, 20 Sep 2013 10:18:54 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-20T10:18:54.696708", + "expires": "2013-09-20T16:18:54Z", "id": "df02b8a2a4754d3ba0e53ee88441c9ca", + "tenant": {"description": "Used for Aviator testing/development ", "enabled": + true, "id": "d770443fc60a410c843dc12b98ac8135", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135", + "id": "6bb597a3738045f4b2c51a7702037cab", "publicURL": ":8774/v2/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "2985945e07b74103bb2dfef7e426cd43", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "370119dd80e84894bfe83d766fd467dd", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "region": "RegionOne", "internalURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135", + "id": "2492a6f5fa80466d9312e51a8f79b638", "publicURL": ":8776/v1/d770443fc60a410c843dc12b98ac8135"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "1f68f3ce931946c788e487443e772fb2", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "12c722e9b9fb471fbea83c6157c0123a", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "447527294dae4a1788d36beb0db99c00", "roles": [{"name": + "Member"}], "name": ""}, "metadata": {"is_admin": + 0, "roles": ["f970c227c0ee4512899606886348f67f"]}}}' + http_version: + recorded_at: Fri, 20 Sep 2013 10:18:54 GMT +recorded_with: VCR 2.5.0 diff --git a/test/support/vcr_setup.rb b/test/support/vcr_setup.rb index 009e896..ec9416a 100644 --- a/test/support/vcr_setup.rb +++ b/test/support/vcr_setup.rb @@ -14,7 +14,7 @@ VCR.configure do |c| end @vcr_port_matcher_registered = true end - + #=========== BEGIN FILTERS FOR SENSITIVE DATA =========== configs = [:openstack_admin, :openstack_member] @@ -32,7 +32,7 @@ VCR.configure do |c| auth_url = URI(env.send(config)[:auth_service][:host_uri]) auth_url.scheme + '://' + auth_url.host end - + # In a multi-host environment, this will come in handy since HOST_URI wont match the # URI of services or resources available in a different host but same domain. c.filter_sensitive_data("<#{ config.to_s.upcase }_ENV_DOMAIN>") do @@ -42,7 +42,7 @@ VCR.configure do |c| /\.[^\.]+\.\w{2,3}.\w+$/, /^\w+$/ ]) - + auth_url = URI(env.send(config)[:auth_service][:host_uri]) auth_url.host.match(domain_patterns) end