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

add list_hosted_zones request mock

This commit is contained in:
Bulat Shakirzyanov 2012-06-07 11:52:35 -07:00
parent 52501a30d1
commit b1f83c9474

View file

@ -49,6 +49,49 @@ module Fog
end
end
class Mock
def list_hosted_zones(options = {})
if options[:max_items].nil?
maxitems = 100
else
maxitems = options[:max_items]
end
if options[:marker].nil?
start = 0
else
start = self.data[:zones].find_index {|z| z[:zone_id] == options[:marker]}
end
zones = self.data[:zones].values[start, maxitems]
next_zone = self.data[:zones].values[start + maxitems]
truncated = !next_zone.nil?
response = Excon::Response.new
response.body = {
'HostedZones' => zones.map do |z|
{
'Id' => z[:zone_id],
'Name' => z[:name],
'CallerReference' => z[:reference],
'Comment' => z[:comment],
}
end,
'Marker' => options[:marker].to_s,
'MaxItems' => options[:max_items].to_s,
'IsTruncated' => truncated.to_s
}
if truncated
response.body['NextMarker'] = next_zone[:zone_id]
end
response
end
end
end
end
end