1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Add Mock for get_vms_in_lease_from_query

The only option implemented here is a filter by href as that is all we need for our tests. It can easily be extended as required.
This commit is contained in:
Anna Shipman 2014-06-29 20:31:59 +01:00
parent 6fabfd0423
commit 9edaed0985
2 changed files with 56 additions and 1 deletions

View file

@ -90,6 +90,61 @@ module Fog
response response
end end
end end
class Mock
def get_vms_in_lease_from_query(options={})
if options.key?(:filter) && options[:filter] =~ /^href==([^;,]+)$/
href = $1
id = href.split('/').last
else
Fog::Mock.not_implemented("Filter by href is currently the only option implemented in get_vms_in_lease_from_query Mock")
end
vm = data[:vms][id]
parent_vapp_id = vm[:parent_vapp]
vdc_id = data[:vapps][parent_vapp_id][:vdc_id]
body = {
:xmlns=>xmlns,
:xmlns_xsi=>xmlns_xsi,
:href=>make_href('query'),
:name=>"vm",
:type=>"application/vnd.vmware.vcloud.query.records+xml",
:xsi_schemaLocation=>xsi_schema_location,
:total=>"1",
:pageSize=>"25",
:page=>"1",
:Link=>
[{:rel=>"alternate",
:type=>"application/vnd.vmware.vcloud.query.references+xml",
:href=>make_href('query')},
{:rel=>"alternate",
:type=>"application/vnd.vmware.vcloud.query.idrecords+xml",
:href=>make_href('query')}],
:VMRecord=>
[{:vdc=>make_href(vdc_id),
:numberOfCpus=>vm[:cpu_count],
:name=>vm[:name],
:containerName=>data[:vapps][parent_vapp_id][:name],
:memoryMB=>vm[:memory_in_mb],
:isVAppTemplate=>"false",
:href=>make_href(id),
:taskStatus=>"success",
:task=>make_href("task/#{uuid}"),
:taskDetails=>" ",
:taskStatusName=>"vappUpdateVm"}]
}
Excon::Response.new(
:status => 200,
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
:body => body
)
end
end
end end
end end
end end

View file

@ -130,6 +130,7 @@ module Fog
end end
class Mock class Mock
def post_instantiate_vapp_template(vdc_id, vapp_template_id, name, options={}) def post_instantiate_vapp_template(vdc_id, vapp_template_id, name, options={})
unless data[:vdcs][vdc_id] unless data[:vdcs][vdc_id]
raise Fog::Compute::VcloudDirector::Forbidden.new( raise Fog::Compute::VcloudDirector::Forbidden.new(
@ -190,7 +191,6 @@ module Fog
end end
end end
end end
end end
end end