1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/ecloud/requests/compute/get_operating_system.rb

26 lines
773 B
Ruby
Raw Normal View History

module Fog
module Compute
class Ecloud
class Real
2012-06-07 12:50:11 -04:00
basic_request :get_operating_system
end
2012-11-27 19:57:16 -05:00
class Mock
def get_operating_system(uri)
os_name, compute_pool_id = uri.match(/operatingsystems\/(.*)\/computepools\/(\d+)$/).captures
compute_pool_id = compute_pool_id.to_i
operating_systems = self.data[:operating_systems].values.select{|os| os[:compute_pool_id] == compute_pool_id}
operating_system = operating_systems.find{|os| os[:short_name] == os_name}
if operating_system
response(:body => Fog::Ecloud.slice(operating_system, :id, :compute_pool_id, :short_name))
else response(:status => 404) # ?
end
end
end
end
end
end