1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
module Fog
module OpenStack
class Compute
class Real
def update_metadata(collection_name, parent_id, metadata = {})
request(
:body => Fog::JSON.encode('metadata' => metadata),
:expects => 200,
:method => 'POST',
:path => "#{collection_name}/#{parent_id}/metadata"
)
end
end
class Mock
def update_metadata(collection_name, parent_id, metadata = {})
if collection_name == "images"
unless list_images_detail.body['images'].find { |image| image['id'] == parent_id }
raise Fog::OpenStack::Compute::NotFound
end
end
if collection_name == "servers"
unless list_servers_detail.body['servers'].find { |server| server['id'] == parent_id }
raise Fog::OpenStack::Compute::NotFound
end
end
# FIXME: join w/ existing metadata here
response = Excon::Response.new
response.body = {"metadata" => metadata}
response.status = 200
response
end
end
end
end
end
|