mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
refining mocks, getting tests to cooperate
This commit is contained in:
parent
9af158aa9c
commit
3e6c9703b9
12 changed files with 260 additions and 235 deletions
10
lib/fog.rb
10
lib/fog.rb
|
@ -1,13 +1,9 @@
|
|||
require "#{File.dirname(__FILE__)}/fog/aws"
|
||||
|
||||
module Fog
|
||||
|
||||
def self.mocking=(new_mocking)
|
||||
@mocking = new_mocking
|
||||
end
|
||||
|
||||
def self.mocking?
|
||||
!!@mocking
|
||||
false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/fog/aws"
|
||||
|
|
|
@ -1,3 +1,73 @@
|
|||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/ec2"
|
||||
require "#{parsers_directory}/allocate_address"
|
||||
require "#{parsers_directory}/attach_volume"
|
||||
require "#{parsers_directory}/basic"
|
||||
require "#{parsers_directory}/create_key_pair"
|
||||
require "#{parsers_directory}/create_snapshot"
|
||||
require "#{parsers_directory}/create_volume"
|
||||
require "#{parsers_directory}/describe_addresses"
|
||||
require "#{parsers_directory}/describe_availability_zones"
|
||||
require "#{parsers_directory}/describe_images"
|
||||
require "#{parsers_directory}/describe_instances"
|
||||
require "#{parsers_directory}/describe_key_pairs"
|
||||
require "#{parsers_directory}/describe_regions"
|
||||
require "#{parsers_directory}/describe_security_groups"
|
||||
require "#{parsers_directory}/describe_snapshots"
|
||||
require "#{parsers_directory}/describe_volumes"
|
||||
require "#{parsers_directory}/detach_volume"
|
||||
require "#{parsers_directory}/get_console_output"
|
||||
require "#{parsers_directory}/run_instances"
|
||||
require "#{parsers_directory}/terminate_instances"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/ec2"
|
||||
require "#{requests_directory}/allocate_address"
|
||||
require "#{requests_directory}/associate_address"
|
||||
require "#{requests_directory}/attach_volume"
|
||||
require "#{requests_directory}/authorize_security_group_ingress"
|
||||
# TODO: require "#{requests_directory}/bundle_instance"
|
||||
# TODO: require "#{requests_directory}/cancel_bundle_task"
|
||||
# TODO: require "#{requests_directory}/confirm_product_instance"
|
||||
require "#{requests_directory}/create_key_pair"
|
||||
require "#{requests_directory}/create_security_group"
|
||||
require "#{requests_directory}/create_snapshot"
|
||||
require "#{requests_directory}/create_volume"
|
||||
require "#{requests_directory}/delete_key_pair"
|
||||
require "#{requests_directory}/delete_security_group"
|
||||
require "#{requests_directory}/delete_snapshot"
|
||||
require "#{requests_directory}/delete_volume"
|
||||
# TODO: require "#{requests_directory}/deregister_image"
|
||||
require "#{requests_directory}/describe_addresses"
|
||||
require "#{requests_directory}/describe_availability_zones"
|
||||
# TODO: require "#{requests_directory}/describe_bundle_tasks"
|
||||
# TODO: require "#{requests_directory}/describe_image_attribute"
|
||||
require "#{requests_directory}/describe_images"
|
||||
require "#{requests_directory}/describe_instances"
|
||||
require "#{requests_directory}/describe_key_pairs"
|
||||
require "#{requests_directory}/describe_regions"
|
||||
# TODO: require "#{requests_directory}/describe_reserved_instances"
|
||||
# TODO: require "#{requests_directory}/describe_reserved_instances_offerings"
|
||||
require "#{requests_directory}/describe_security_groups"
|
||||
require "#{requests_directory}/describe_snapshots"
|
||||
require "#{requests_directory}/describe_volumes"
|
||||
require "#{requests_directory}/detach_volume"
|
||||
require "#{requests_directory}/disassociate_address"
|
||||
require "#{requests_directory}/get_console_output"
|
||||
# TODO: require "#{requests_directory}/modify_image_attribute"
|
||||
# TODO: require "#{requests_directory}/monitor_instances"
|
||||
# TODO: require "#{requests_directory}/purchase_reserved_instances_offering"
|
||||
require "#{requests_directory}/reboot_instances"
|
||||
# TODO: require "#{requests_directory}/register_image"
|
||||
require "#{requests_directory}/release_address"
|
||||
require "#{requests_directory}/revoke_security_group_ingress"
|
||||
require "#{requests_directory}/run_instances"
|
||||
require "#{requests_directory}/terminate_instances"
|
||||
# TODO: require "#{requests_directory}/unmonitor_instances"
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class EC2
|
||||
|
@ -20,78 +90,6 @@ module Fog
|
|||
# ==== Returns
|
||||
# * EC2 object with connection to aws.
|
||||
def initialize(options={})
|
||||
Fog.mocking = options[:mocking] || false
|
||||
|
||||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/ec2"
|
||||
require "#{parsers_directory}/allocate_address"
|
||||
require "#{parsers_directory}/attach_volume"
|
||||
require "#{parsers_directory}/basic"
|
||||
require "#{parsers_directory}/create_key_pair"
|
||||
require "#{parsers_directory}/create_snapshot"
|
||||
require "#{parsers_directory}/create_volume"
|
||||
require "#{parsers_directory}/describe_addresses"
|
||||
require "#{parsers_directory}/describe_availability_zones"
|
||||
require "#{parsers_directory}/describe_images"
|
||||
require "#{parsers_directory}/describe_instances"
|
||||
require "#{parsers_directory}/describe_key_pairs"
|
||||
require "#{parsers_directory}/describe_regions"
|
||||
require "#{parsers_directory}/describe_security_groups"
|
||||
require "#{parsers_directory}/describe_snapshots"
|
||||
require "#{parsers_directory}/describe_volumes"
|
||||
require "#{parsers_directory}/detach_volume"
|
||||
require "#{parsers_directory}/get_console_output"
|
||||
require "#{parsers_directory}/run_instances"
|
||||
require "#{parsers_directory}/terminate_instances"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/ec2"
|
||||
require "#{requests_directory}/allocate_address"
|
||||
require "#{requests_directory}/associate_address"
|
||||
require "#{requests_directory}/attach_volume"
|
||||
require "#{requests_directory}/authorize_security_group_ingress"
|
||||
# TODO: require "#{requests_directory}/bundle_instance"
|
||||
# TODO: require "#{requests_directory}/cancel_bundle_task"
|
||||
# TODO: require "#{requests_directory}/confirm_product_instance"
|
||||
require "#{requests_directory}/create_key_pair"
|
||||
require "#{requests_directory}/create_security_group"
|
||||
require "#{requests_directory}/create_snapshot"
|
||||
require "#{requests_directory}/create_volume"
|
||||
require "#{requests_directory}/delete_key_pair"
|
||||
require "#{requests_directory}/delete_security_group"
|
||||
require "#{requests_directory}/delete_snapshot"
|
||||
require "#{requests_directory}/delete_volume"
|
||||
# TODO: require "#{requests_directory}/deregister_image"
|
||||
require "#{requests_directory}/describe_addresses"
|
||||
require "#{requests_directory}/describe_availability_zones"
|
||||
# TODO: require "#{requests_directory}/describe_bundle_tasks"
|
||||
# TODO: require "#{requests_directory}/describe_image_attribute"
|
||||
require "#{requests_directory}/describe_images"
|
||||
require "#{requests_directory}/describe_instances"
|
||||
require "#{requests_directory}/describe_key_pairs"
|
||||
require "#{requests_directory}/describe_regions"
|
||||
# TODO: require "#{requests_directory}/describe_reserved_instances"
|
||||
# TODO: require "#{requests_directory}/describe_reserved_instances_offerings"
|
||||
require "#{requests_directory}/describe_security_groups"
|
||||
require "#{requests_directory}/describe_snapshots"
|
||||
require "#{requests_directory}/describe_volumes"
|
||||
require "#{requests_directory}/detach_volume"
|
||||
require "#{requests_directory}/disassociate_address"
|
||||
require "#{requests_directory}/get_console_output"
|
||||
# TODO: require "#{requests_directory}/modify_image_attribute"
|
||||
# TODO: require "#{requests_directory}/monitor_instances"
|
||||
# TODO: require "#{requests_directory}/purchase_reserved_instances_offering"
|
||||
require "#{requests_directory}/reboot_instances"
|
||||
# TODO: require "#{requests_directory}/register_image"
|
||||
require "#{requests_directory}/release_address"
|
||||
require "#{requests_directory}/revoke_security_group_ingress"
|
||||
require "#{requests_directory}/run_instances"
|
||||
require "#{requests_directory}/terminate_instances"
|
||||
# TODO: require "#{requests_directory}/unmonitor_instances"
|
||||
|
||||
@aws_access_key_id = options[:aws_access_key_id]
|
||||
@aws_secret_access_key = options[:aws_secret_access_key]
|
||||
@hmac = HMAC::SHA256.new(@aws_secret_access_key)
|
||||
|
|
|
@ -1,24 +1,45 @@
|
|||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
unless Fog.mocking?
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
|
||||
# Delete an S3 bucket
|
||||
#
|
||||
# ==== Parameters
|
||||
# * bucket_name<~String> - name of bucket to delete
|
||||
#
|
||||
# ==== Returns
|
||||
# * response<~Fog::AWS::Response>:
|
||||
# * status<~Integer> - 204
|
||||
def delete_bucket(bucket_name)
|
||||
request({
|
||||
:expects => 204,
|
||||
:headers => {},
|
||||
:host => "#{bucket_name}.#{@host}",
|
||||
:method => 'DELETE'
|
||||
})
|
||||
end
|
||||
|
||||
# Delete an S3 bucket
|
||||
#
|
||||
# ==== Parameters
|
||||
# * bucket_name<~String> - name of bucket to delete
|
||||
#
|
||||
# ==== Returns
|
||||
# * response<~Fog::AWS::Response>:
|
||||
# * status<~Integer> - 204
|
||||
def delete_bucket(bucket_name)
|
||||
request({
|
||||
:expects => 204,
|
||||
:headers => {},
|
||||
:host => "#{bucket_name}.#{@host}",
|
||||
:method => 'DELETE'
|
||||
})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
|
||||
def delete_bucket(bucket_name)
|
||||
response = Fog::Response.new
|
||||
response.status = 204
|
||||
@data['Buckets'].delete_if {|bucket| bucket['Name'] == bucket_name}
|
||||
response
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -40,7 +40,7 @@ else
|
|||
response = Fog::Response.new
|
||||
response.headers['Status'] = 200
|
||||
response.body = {
|
||||
'Buckets' => [ { 'CreationDate' => Time.now - rand(3600), 'Name' => 'foggetservice' } ],
|
||||
'Buckets' => @data['Buckets'],
|
||||
'Owner' => { 'DisplayName' => 'owner', 'ID' => 'some_id'}
|
||||
}
|
||||
response
|
||||
|
|
|
@ -1,37 +1,58 @@
|
|||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
unless Fog.mocking?
|
||||
|
||||
# Create an S3 bucket
|
||||
#
|
||||
# ==== Parameters
|
||||
# * bucket_name<~String> - name of bucket to create
|
||||
# * options<~Hash> - config arguments for bucket. Defaults to {}.
|
||||
# * :location_constraint<~Symbol> - sets the location for the bucket
|
||||
#
|
||||
# ==== Returns
|
||||
# * response<~Fog::AWS::Response>:
|
||||
# * status<~Integer> - 200
|
||||
def put_bucket(bucket_name, options = {})
|
||||
if options['LocationConstraint']
|
||||
data =
|
||||
<<-DATA
|
||||
<CreateBucketConfiguration>
|
||||
<LocationConstraint>#{options['LocationConstraint']}</LocationConstraint>
|
||||
</CreateBucketConfiguration>
|
||||
DATA
|
||||
else
|
||||
data = nil
|
||||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
|
||||
# Create an S3 bucket
|
||||
#
|
||||
# ==== Parameters
|
||||
# * bucket_name<~String> - name of bucket to create
|
||||
# * options<~Hash> - config arguments for bucket. Defaults to {}.
|
||||
# * :location_constraint<~Symbol> - sets the location for the bucket
|
||||
#
|
||||
# ==== Returns
|
||||
# * response<~Fog::AWS::Response>:
|
||||
# * status<~Integer> - 200
|
||||
def put_bucket(bucket_name, options = {})
|
||||
if options['LocationConstraint']
|
||||
data =
|
||||
<<-DATA
|
||||
<CreateBucketConfiguration>
|
||||
<LocationConstraint>#{options['LocationConstraint']}</LocationConstraint>
|
||||
</CreateBucketConfiguration>
|
||||
DATA
|
||||
else
|
||||
data = nil
|
||||
end
|
||||
request({
|
||||
:expects => 200,
|
||||
:body => data,
|
||||
:headers => {},
|
||||
:host => "#{bucket_name}.#{@host}",
|
||||
:method => 'PUT'
|
||||
})
|
||||
end
|
||||
request({
|
||||
:expects => 200,
|
||||
:body => data,
|
||||
:headers => {},
|
||||
:host => "#{bucket_name}.#{@host}",
|
||||
:method => 'PUT'
|
||||
})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
|
||||
def put_bucket(bucket_name, options = {})
|
||||
response = Fog::Response.new
|
||||
response.status = 200
|
||||
@data['Buckets'] << { 'Name' => bucket_name, 'CreationDate' => Time.now }
|
||||
response
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
|
@ -1,3 +1,29 @@
|
|||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/s3"
|
||||
require "#{parsers_directory}/copy_object"
|
||||
require "#{parsers_directory}/get_bucket"
|
||||
require "#{parsers_directory}/get_bucket_location"
|
||||
require "#{parsers_directory}/get_request_payment"
|
||||
require "#{parsers_directory}/get_service"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/s3"
|
||||
require "#{requests_directory}/copy_object"
|
||||
require "#{requests_directory}/delete_bucket"
|
||||
require "#{requests_directory}/delete_object"
|
||||
require "#{requests_directory}/get_bucket"
|
||||
require "#{requests_directory}/get_bucket_location"
|
||||
require "#{requests_directory}/get_object"
|
||||
require "#{requests_directory}/get_request_payment"
|
||||
require "#{requests_directory}/get_service"
|
||||
require "#{requests_directory}/head_object"
|
||||
require "#{requests_directory}/put_bucket"
|
||||
require "#{requests_directory}/put_object"
|
||||
require "#{requests_directory}/put_request_payment"
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class S3
|
||||
|
@ -20,34 +46,6 @@ module Fog
|
|||
# ==== Returns
|
||||
# * S3 object with connection to aws.
|
||||
def initialize(options={})
|
||||
Fog.mocking = options[:mocking] || false
|
||||
|
||||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/s3"
|
||||
require "#{parsers_directory}/copy_object"
|
||||
require "#{parsers_directory}/get_bucket"
|
||||
require "#{parsers_directory}/get_bucket_location"
|
||||
require "#{parsers_directory}/get_request_payment"
|
||||
require "#{parsers_directory}/get_service"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/s3"
|
||||
require "#{requests_directory}/copy_object"
|
||||
require "#{requests_directory}/delete_bucket"
|
||||
require "#{requests_directory}/delete_object"
|
||||
require "#{requests_directory}/get_bucket"
|
||||
require "#{requests_directory}/get_bucket_location"
|
||||
require "#{requests_directory}/get_object"
|
||||
require "#{requests_directory}/get_request_payment"
|
||||
require "#{requests_directory}/get_service"
|
||||
require "#{requests_directory}/head_object"
|
||||
require "#{requests_directory}/put_bucket"
|
||||
require "#{requests_directory}/put_object"
|
||||
require "#{requests_directory}/put_request_payment"
|
||||
|
||||
@aws_access_key_id = options[:aws_access_key_id]
|
||||
@aws_secret_access_key = options[:aws_secret_access_key]
|
||||
@hmac = HMAC::SHA1.new(@aws_secret_access_key)
|
||||
|
@ -55,6 +53,10 @@ module Fog
|
|||
@port = options[:port] || 443
|
||||
@scheme = options[:scheme] || 'https'
|
||||
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
|
||||
|
||||
if Fog.mocking?
|
||||
@data = { 'Buckets' => [] }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -1,3 +1,26 @@
|
|||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/simpledb"
|
||||
require "#{parsers_directory}/basic"
|
||||
require "#{parsers_directory}/domain_metadata"
|
||||
require "#{parsers_directory}/get_attributes"
|
||||
require "#{parsers_directory}/list_domains"
|
||||
require "#{parsers_directory}/select"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/simpledb"
|
||||
require "#{requests_directory}/batch_put_attributes"
|
||||
require "#{requests_directory}/create_domain"
|
||||
require "#{requests_directory}/delete_attributes"
|
||||
require "#{requests_directory}/delete_domain"
|
||||
require "#{requests_directory}/domain_metadata"
|
||||
require "#{requests_directory}/get_attributes"
|
||||
require "#{requests_directory}/list_domains"
|
||||
require "#{requests_directory}/put_attributes"
|
||||
require "#{requests_directory}/select"
|
||||
|
||||
module Fog
|
||||
module AWS
|
||||
class SimpleDB
|
||||
|
@ -20,31 +43,6 @@ module Fog
|
|||
# ==== Returns
|
||||
# * SimpleDB object with connection to aws.
|
||||
def initialize(options={})
|
||||
Fog.mocking = options[:mocking] || false
|
||||
|
||||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../connection"
|
||||
require "#{current_directory}/../parser"
|
||||
require "#{current_directory}/../response"
|
||||
|
||||
parsers_directory = "#{current_directory}/parsers/simpledb"
|
||||
require "#{parsers_directory}/basic"
|
||||
require "#{parsers_directory}/domain_metadata"
|
||||
require "#{parsers_directory}/get_attributes"
|
||||
require "#{parsers_directory}/list_domains"
|
||||
require "#{parsers_directory}/select"
|
||||
|
||||
requests_directory = "#{current_directory}/requests/simpledb"
|
||||
require "#{requests_directory}/batch_put_attributes"
|
||||
require "#{requests_directory}/create_domain"
|
||||
require "#{requests_directory}/delete_attributes"
|
||||
require "#{requests_directory}/delete_domain"
|
||||
require "#{requests_directory}/domain_metadata"
|
||||
require "#{requests_directory}/get_attributes"
|
||||
require "#{requests_directory}/list_domains"
|
||||
require "#{requests_directory}/put_attributes"
|
||||
require "#{requests_directory}/select"
|
||||
|
||||
@aws_access_key_id = options[:aws_access_key_id]
|
||||
@aws_secret_access_key = options[:aws_secret_access_key]
|
||||
@hmac = HMAC::SHA256.new(@aws_secret_access_key)
|
||||
|
|
9
lib/fog/mocking.rb
Normal file
9
lib/fog/mocking.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
module Fog
|
||||
|
||||
def self.mocking?
|
||||
true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/../fog/aws"
|
|
@ -3,11 +3,12 @@ require File.dirname(__FILE__) + '/../../spec_helper'
|
|||
describe 'S3.delete_bucket' do
|
||||
|
||||
before(:all) do
|
||||
s3.put_bucket('fogdeletebucket')
|
||||
@s3 = s3
|
||||
@s3.put_bucket('fogdeletebucket')
|
||||
end
|
||||
|
||||
it 'should return proper attributes' do
|
||||
actual = s3.delete_bucket('fogdeletebucket')
|
||||
actual = @s3.delete_bucket('fogdeletebucket')
|
||||
actual.status.should == 204
|
||||
end
|
||||
|
||||
|
|
|
@ -3,15 +3,16 @@ require File.dirname(__FILE__) + '/../../spec_helper'
|
|||
describe 'S3.get_service' do
|
||||
|
||||
before(:all) do
|
||||
s3.put_bucket('foggetservice')
|
||||
@s3 = s3
|
||||
@s3.put_bucket('foggetservice')
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
s3.delete_bucket('foggetservice')
|
||||
@s3.delete_bucket('foggetservice')
|
||||
end
|
||||
|
||||
it 'should return proper_attributes' do
|
||||
actual = s3.get_service
|
||||
actual = @s3.get_service
|
||||
actual.body['Buckets'].should be_an(Array)
|
||||
bucket = actual.body['Buckets'].select {|bucket| bucket['Name'] == 'foggetservice'}.first
|
||||
bucket['CreationDate'].should be_a(Time)
|
||||
|
@ -23,7 +24,7 @@ describe 'S3.get_service' do
|
|||
|
||||
it 'should include foggetservice in get_service' do
|
||||
eventually do
|
||||
actual = s3.get_service
|
||||
actual = @s3.get_service
|
||||
actual.body['Buckets'].collect { |bucket| bucket['Name'] }.should include('foggetservice')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,27 +2,17 @@ require File.dirname(__FILE__) + '/../../spec_helper'
|
|||
|
||||
describe 'S3.put_bucket' do
|
||||
|
||||
after(:all) do
|
||||
s3.delete_bucket('fogputbucket')
|
||||
before(:all) do
|
||||
@s3 = s3
|
||||
end
|
||||
|
||||
it 'should not include fogputbucket in get_service buckets before put_bucket' do
|
||||
eventually do
|
||||
actual = s3.get_service
|
||||
actual.body['Buckets'].collect { |bucket| bucket['Name'] }.should_not include('fogputbucket')
|
||||
end
|
||||
after(:all) do
|
||||
@s3.delete_bucket('fogputbucket')
|
||||
end
|
||||
|
||||
it 'should return proper attributes' do
|
||||
actual = s3.put_bucket('fogputbucket')
|
||||
actual = @s3.put_bucket('fogputbucket')
|
||||
actual.status.should == 200
|
||||
end
|
||||
|
||||
it 'should include fogputbucket in get_service buckets after put_bucket' do
|
||||
eventually do
|
||||
actual = s3.get_service
|
||||
actual.body['Buckets'].collect { |bucket| bucket['Name'] }.should include('fogputbucket')
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
require 'spec'
|
||||
|
||||
current_directory = File.dirname(__FILE__)
|
||||
require "#{current_directory}/../lib/fog"
|
||||
Fog.mocking = true
|
||||
|
||||
Spec::Runner.configure do |config|
|
||||
end
|
||||
require "#{current_directory}/../lib/fog/mocking"
|
||||
|
||||
def credentials
|
||||
@credentials ||= begin
|
||||
|
@ -16,37 +12,29 @@ def credentials
|
|||
end
|
||||
|
||||
def ec2
|
||||
@ec2 ||= begin
|
||||
Fog::AWS::EC2.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
Fog::AWS::EC2.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
def sdb
|
||||
@sdb ||= begin
|
||||
Fog::AWS::SimpleDB.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
Fog::AWS::SimpleDB.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
def s3
|
||||
@s3 ||= begin
|
||||
Fog::AWS::S3.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
Fog::AWS::S3.new(
|
||||
:aws_access_key_id => credentials['aws_access_key_id'],
|
||||
:aws_secret_access_key => credentials['aws_secret_access_key']
|
||||
)
|
||||
end
|
||||
def eu_s3
|
||||
@eu_s3 ||= begin
|
||||
Fog::AWS::S3.new(
|
||||
: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
|
||||
Fog::AWS::S3.new(
|
||||
: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
|
||||
|
||||
def eventually(max_delay = 16, &block)
|
||||
|
|
Loading…
Add table
Reference in a new issue