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

86 lines
1.8 KiB
Ruby
Raw Normal View History

2009-05-18 03:13:06 -04:00
require 'spec'
require 'open-uri'
2009-05-18 03:13:06 -04:00
2009-07-15 14:53:32 -04:00
current_directory = File.dirname(__FILE__)
2009-08-10 11:30:28 -04:00
require "#{current_directory}/../lib/fog"
# Fog.mock!
2009-05-19 02:06:49 -04:00
def credentials
@credentials ||= begin
2009-10-02 02:25:29 -04:00
credentials_path = File.expand_path('~/.fog')
credentials_data = File.open(credentials_path).read
YAML.load(credentials_data)
end
end
2009-05-19 02:06:49 -04:00
def ec2
Fog::AWS::EC2.new(
2009-10-10 20:25:59 -04:00
:aws_access_key_id => credentials[:aws_access_key_id],
:aws_secret_access_key => credentials[:aws_secret_access_key]
)
end
def eu_s3
Fog::AWS::S3.new(
2009-10-10 20:25:59 -04:00
:aws_access_key_id => credentials[:aws_access_key_id],
:aws_secret_access_key => credentials[:aws_secret_access_key],
:host => 's3-external-3.amazonaws.com'
)
end
2009-10-11 16:37:25 -04:00
def files
Fog::Rackspace::Files.new(
:rackspace_api_key => credentials[:rackspace_api_key],
:rackspace_username => credentials[:rackspace_username]
)
end
def sdb
Fog::AWS::SimpleDB.new(
2009-10-10 20:25:59 -04:00
:aws_access_key_id => credentials[:aws_access_key_id],
:aws_secret_access_key => credentials[:aws_secret_access_key]
)
end
2009-10-10 22:05:17 -04:00
def servers
Fog::Rackspace::Servers.new(
:rackspace_api_key => credentials[:rackspace_api_key],
:rackspace_username => credentials[:rackspace_username]
)
end
def s3
Fog::AWS::S3.new(
2009-10-10 20:25:59 -04:00
:aws_access_key_id => credentials[:aws_access_key_id],
:aws_secret_access_key => credentials[:aws_secret_access_key]
)
2009-07-22 22:28:53 -04:00
end
2009-05-19 02:06:49 -04:00
2009-07-25 21:05:49 -04: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-16 02:37:22 -04:00
begin
sleep(delay)
yield
break
2009-07-19 19:06:33 -04:00
rescue => error
2009-07-25 21:05:49 -04:00
raise error if delay >= max_delay
2009-07-16 02:37:22 -04:00
end
2009-05-19 02:06:49 -04:00
end
end
unless defined?(GENTOO_AMI)
GENTOO_AMI = 'ami-5ee70037'
end