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

configurable mock delays

This commit is contained in:
geemus (Wesley Beary) 2010-04-08 15:39:25 -07:00
parent f31dbaa3ca
commit 693b5c3fdf
4 changed files with 13 additions and 9 deletions

View file

@ -28,6 +28,10 @@ require 'fog/terremark'
module Fog
module Mock
DELAY = 1
end
class MockNotImplemented < StandardError; end
def self.mock!

View file

@ -74,20 +74,20 @@ module Fog
instance_set.each do |instance|
case instance['instanceState']['name']
when 'pending'
if Time.now - instance['launchTime'] > 1
if Time.now - instance['launchTime'] > Fog::Mock::DELAY
instance['instanceState'] = { 'code' => 16, 'name' => 'running' }
end
when 'rebooting'
instance['instanceState'] = { 'code' => 16, 'name' => 'running' }
when 'shutting-down'
if Time.now - @data[:deleted_at][instance['instanceId']] > 2
if Time.now - @data[:deleted_at][instance['instanceId']] > Fog::Mock::DELAY * 2
@data[:deleted_at].delete(instance['instanceId'])
@data[:instances].delete(instance['instanceId'])
elsif Time.now - @data[:deleted_at][instance['instanceId']] > 1
elsif Time.now - @data[:deleted_at][instance['instanceId']] > Fog::Mock::DELAY
instance['instanceState'] = { 'code' => 16, 'name' => 'terminating' }
end
when 'terminating'
if Time.now - @data[:deleted_at][instance['instanceId']] > 1
if Time.now - @data[:deleted_at][instance['instanceId']] > Fog::Mock::DELAY
@data[:deleted_at].delete(instance['instanceId'])
@data[:instances].delete(instance['instanceId'])
end

View file

@ -44,10 +44,10 @@ module Fog
snapshot_set.each do |snapshot|
case snapshot['status']
when 'in progress', 'pending'
if Time.now - snapshot['startTime'] > 2
if Time.now - snapshot['startTime'] > Fog::Mock::DELAY * 2
snapshot['progress'] = '100%'
snapshot['status'] = 'completed'
elsif Time.now - snapshot['startTime'] > 1
elsif Time.now - snapshot['startTime'] > Fog::Mock::DELAY
snapshot['progress'] = '50%'
snapshot['status'] = 'in progress'
end

View file

@ -50,16 +50,16 @@ module Fog
volume_set.each do |volume|
case volume['status']
when 'attaching'
if Time.now - volume['attachmentSet'].first['attachTime'] > 1
if Time.now - volume['attachmentSet'].first['attachTime'] > Fog::Mock::DELAY
volume['attachmentSet'].first['status'] = 'attached'
volume['status'] = 'attached'
end
when 'creating'
if Time.now - volume['createTime'] > 1
if Time.now - volume['createTime'] > Fog::Mock::DELAY
volume['status'] = 'available'
end
when 'deleting'
if Time.now - @data[:deleted_at][volume['volumeId']] > 1
if Time.now - @data[:deleted_at][volume['volumeId']] > Fog::Mock::DELAY
@data[:deleted_at].delete(volume['volumeId'])
@data[:volumes].delete(volume['volumeId'])
end