From cdca74ff6a05c895f0324c07d23e5b25df12504f Mon Sep 17 00:00:00 2001 From: geemus Date: Fri, 24 Sep 2010 13:50:44 -0700 Subject: [PATCH] [aws] segregate mock data by region --- lib/fog/aws/compute.rb | 87 ++++++++++++++++++++++-------------------- lib/fog/aws/storage.rb | 13 ++++--- 2 files changed, 53 insertions(+), 47 deletions(-) diff --git a/lib/fog/aws/compute.rb b/lib/fog/aws/compute.rb index 1d145ae17..7faea26b8 100644 --- a/lib/fog/aws/compute.rb +++ b/lib/fog/aws/compute.rb @@ -67,48 +67,50 @@ module Fog class Mock def self.data - @data ||= Hash.new do |hash, key| + @data ||= Hash.new do |hash, region| owner_id = Fog::AWS::Mock.owner_id - hash[key] = { - :deleted_at => {}, - :addresses => {}, - :instances => {}, - :key_pairs => {}, - :limits => { :addresses => 5 }, - :owner_id => owner_id, - :security_groups => { - 'default' => { - 'groupDescription' => 'default group', - 'groupName' => 'default', - 'ipPermissions' => [ - { - 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], - 'fromPort' => -1, - 'toPort' => -1, - 'ipProtocol' => 'icmp', - 'ipRanges' => [] - }, - { - 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], - 'fromPort' => 0, - 'toPort' => 65535, - 'ipProtocol' => 'tcp', - 'ipRanges' => [] - }, - { - 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], - 'fromPort' => 0, - 'toPort' => 65535, - 'ipProtocol' => 'udp', - 'ipRanges' => [] - } - ], - 'ownerId' => owner_id - } - }, - :snapshots => {}, - :volumes => {} - } + hash[region] = Hash.new do |hash, key| + hash[key] = { + :deleted_at => {}, + :addresses => {}, + :instances => {}, + :key_pairs => {}, + :limits => { :addresses => 5 }, + :owner_id => owner_id, + :security_groups => { + 'default' => { + 'groupDescription' => 'default group', + 'groupName' => 'default', + 'ipPermissions' => [ + { + 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], + 'fromPort' => -1, + 'toPort' => -1, + 'ipProtocol' => 'icmp', + 'ipRanges' => [] + }, + { + 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], + 'fromPort' => 0, + 'toPort' => 65535, + 'ipProtocol' => 'tcp', + 'ipRanges' => [] + }, + { + 'groups' => [{'groupName' => 'default', 'userId' => owner_id}], + 'fromPort' => 0, + 'toPort' => 65535, + 'ipProtocol' => 'udp', + 'ipRanges' => [] + } + ], + 'ownerId' => owner_id + } + }, + :snapshots => {}, + :volumes => {} + } + end end end @@ -120,7 +122,8 @@ module Fog def initialize(options={}) @aws_access_key_id = options[:aws_access_key_id] - @data = self.class.data[@aws_access_key_id] + @region = options[:region] || 'us-east-1' + @data = self.class.data[@region][@aws_access_key_id] @owner_id = @data[:owner_id] end diff --git a/lib/fog/aws/storage.rb b/lib/fog/aws/storage.rb index 909b68d87..c4c4d6963 100644 --- a/lib/fog/aws/storage.rb +++ b/lib/fog/aws/storage.rb @@ -74,10 +74,12 @@ module Fog include Utils def self.data - @data ||= Hash.new do |hash, key| - hash[key] = { - :buckets => {} - } + @data ||= Hash.new do |hash, region| + hash[region] = Hash.new do |hash, key| + hash[key] = { + :buckets => {} + } + end end end @@ -89,7 +91,8 @@ module Fog def initialize(options={}) @aws_access_key_id = options[:aws_access_key_id] - @data = self.class.data[@aws_access_key_id] + @region = options[:region] || 'us-east-1' + @data = self.class.data[@region][@aws_access_key_id] end def signature(params)