From d0e428667e2d34041ee79d87b99467bb8585c09b Mon Sep 17 00:00:00 2001 From: anomalousthought Date: Tue, 17 May 2011 22:40:17 -0400 Subject: [PATCH 1/2] Add reset method to mock classes. --- lib/fog/compute/bluebox.rb | 4 ++++ lib/fog/compute/go_grid.rb | 4 ++++ lib/fog/compute/linode.rb | 4 ++++ lib/fog/compute/new_servers.rb | 4 ++++ lib/fog/compute/rackspace.rb | 4 ++++ lib/fog/compute/slicehost.rb | 4 ++++ lib/fog/compute/storm_on_demand.rb | 4 ++++ lib/fog/compute/voxel.rb | 4 ++++ 8 files changed, 32 insertions(+) diff --git a/lib/fog/compute/bluebox.rb b/lib/fog/compute/bluebox.rb index c3b60ba3f..f55eca925 100644 --- a/lib/fog/compute/bluebox.rb +++ b/lib/fog/compute/bluebox.rb @@ -33,6 +33,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/go_grid.rb b/lib/fog/compute/go_grid.rb index 6a1978cc1..bad4c2377 100644 --- a/lib/fog/compute/go_grid.rb +++ b/lib/fog/compute/go_grid.rb @@ -36,6 +36,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/linode.rb b/lib/fog/compute/linode.rb index 63a10f633..7c9b91751 100644 --- a/lib/fog/compute/linode.rb +++ b/lib/fog/compute/linode.rb @@ -31,6 +31,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/new_servers.rb b/lib/fog/compute/new_servers.rb index d3f0d4057..d3ae028f8 100644 --- a/lib/fog/compute/new_servers.rb +++ b/lib/fog/compute/new_servers.rb @@ -25,6 +25,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/rackspace.rb b/lib/fog/compute/rackspace.rb index 72d6cea60..da871cbec 100644 --- a/lib/fog/compute/rackspace.rb +++ b/lib/fog/compute/rackspace.rb @@ -53,6 +53,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/slicehost.rb b/lib/fog/compute/slicehost.rb index a68f2b894..2f5ca1abe 100644 --- a/lib/fog/compute/slicehost.rb +++ b/lib/fog/compute/slicehost.rb @@ -34,6 +34,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) unless options.delete(:provider) location = caller.first diff --git a/lib/fog/compute/storm_on_demand.rb b/lib/fog/compute/storm_on_demand.rb index d7391f495..ff2919270 100644 --- a/lib/fog/compute/storm_on_demand.rb +++ b/lib/fog/compute/storm_on_demand.rb @@ -56,6 +56,10 @@ module Fog end end + def self.reset + @data = nil + end + def self.reset_data(keys=data.keys) for key in [*keys] data.delete(key) diff --git a/lib/fog/compute/voxel.rb b/lib/fog/compute/voxel.rb index 596981d3e..cebe8b1bc 100644 --- a/lib/fog/compute/voxel.rb +++ b/lib/fog/compute/voxel.rb @@ -48,6 +48,10 @@ module Fog end end + def self.reset + @data = nil + end + def initialize(options={}) @voxel_api_key = options[:voxel_api_key] @data = self.class.data[@voxel_api_key] From 5fcf3185cae6f8bdd1a319773d6ca091b370345a Mon Sep 17 00:00:00 2001 From: anomalousthought Date: Tue, 17 May 2011 22:41:35 -0400 Subject: [PATCH 2/2] Add a reset method to Fog::Mock that resets all providers/services. --- lib/fog/core/mock.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/fog/core/mock.rb b/lib/fog/core/mock.rb index fee1692a3..b0e6d4350 100644 --- a/lib/fog/core/mock.rb +++ b/lib/fog/core/mock.rb @@ -63,6 +63,16 @@ module Fog selection end + def self.reset + providers = Fog.providers.map{|p| eval("Fog::#{p}")} + providers.select!{|m| m.constants.include?(:Compute)} + + providers.each do |provider| + next unless provider::Compute::Mock.respond_to?(:reset) + provider::Compute::Mock.reset + end + end + end end \ No newline at end of file