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

74 lines
1.5 KiB
Ruby
Raw Normal View History

2009-05-18 00:13:06 -07:00
require 'spec'
2009-07-15 11:53:32 -07:00
current_directory = File.dirname(__FILE__)
2009-08-10 08:30:28 -07:00
require "#{current_directory}/../lib/fog"
# Fog.mocking = true
2009-05-18 23:06:49 -07:00
def credentials
@credentials ||= begin
credentials_path = "#{File.dirname(__FILE__)}/credentials.yml"
credentials_data = File.open(credentials_path).read
YAML.load(credentials_data)
end
end
2009-05-18 23:06:49 -07:00
module Fog
module AWS
class EC2
def self.gen
new(
:aws_access_key_id => credentials['aws_access_key_id'],
:aws_secret_access_key => credentials['aws_secret_access_key']
)
end
end
class S3
def self.gen(location = nil)
if location == :eu
host = 's3-external-3.amazonaws.com'
end
new(
:aws_access_key_id => credentials['aws_access_key_id'],
:aws_secret_access_key => credentials['aws_secret_access_key'],
:host => host
)
end
end
class SimpleDB
def self.gen
new(
:aws_access_key_id => credentials['aws_access_key_id'],
:aws_secret_access_key => credentials['aws_secret_access_key']
)
end
end
end
2009-07-22 19:28:53 -07:00
end
2009-05-18 23:06:49 -07:00
2009-07-25 18:05:49 -07:00
def eventually(max_delay = 16, &block)
delays = [0]
delay_step = 1
total = 0
while true
delay = 1
delay_step.times do
delay *= 2
end
delays << delay
delay_step += 1
break if delay >= max_delay
end
delays.each do |delay|
2009-07-15 23:37:22 -07:00
begin
sleep(delay)
yield
break
2009-07-19 16:06:33 -07:00
rescue => error
2009-07-25 18:05:49 -07:00
raise error if delay >= max_delay
2009-07-15 23:37:22 -07:00
end
2009-05-18 23:06:49 -07:00
end
2009-07-15 23:37:22 -07:00
end