diff --git a/lib/fog.rb b/lib/fog.rb index 9729da701..871a0982d 100644 --- a/lib/fog.rb +++ b/lib/fog.rb @@ -28,6 +28,10 @@ require 'fog/terremark' module Fog + module Mock + DELAY = 1 + end + class MockNotImplemented < StandardError; end def self.mock! diff --git a/lib/fog/aws/requests/ec2/describe_instances.rb b/lib/fog/aws/requests/ec2/describe_instances.rb index e927e3677..204baed61 100644 --- a/lib/fog/aws/requests/ec2/describe_instances.rb +++ b/lib/fog/aws/requests/ec2/describe_instances.rb @@ -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 diff --git a/lib/fog/aws/requests/ec2/describe_snapshots.rb b/lib/fog/aws/requests/ec2/describe_snapshots.rb index 80acf6fec..fd20dec9a 100644 --- a/lib/fog/aws/requests/ec2/describe_snapshots.rb +++ b/lib/fog/aws/requests/ec2/describe_snapshots.rb @@ -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 diff --git a/lib/fog/aws/requests/ec2/describe_volumes.rb b/lib/fog/aws/requests/ec2/describe_volumes.rb index 2176380a2..116b387e0 100644 --- a/lib/fog/aws/requests/ec2/describe_volumes.rb +++ b/lib/fog/aws/requests/ec2/describe_volumes.rb @@ -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