Moved the stub provider to its own method so that it can be re-used in
additional spec tests.

Paired-with: Jesse Wolfe <[email protected]>
Signed-off-by: Paul Berry <[email protected]>
---
 spec/unit/transaction/resource_harness_spec.rb |   69 ++++++++++++-----------
 1 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/spec/unit/transaction/resource_harness_spec.rb 
b/spec/unit/transaction/resource_harness_spec.rb
index ca35740..f0c360e 100755
--- a/spec/unit/transaction/resource_harness_spec.rb
+++ b/spec/unit/transaction/resource_harness_spec.rb
@@ -64,49 +64,52 @@ describe Puppet::Transaction::ResourceHarness do
     end
   end
 
-  describe "when an error occurs" do
-    before :each do
-      # Create a temporary anonymous class to act as a provider
-      stubProvider = Class.new(Puppet::Type)
-      stubProvider.instance_eval do
-        initvars
-
-        newparam(:name) do
-          desc "The name var"
-          isnamevar
-        end
+  def make_stub_provider
+    stubProvider = Class.new(Puppet::Type)
+    stubProvider.instance_eval do
+      initvars
+
+      newparam(:name) do
+        desc "The name var"
+        isnamevar
+      end
 
-        newproperty(:foo) do
-          desc "A property that can be changed successfully"
-          def sync
-          end
+      newproperty(:foo) do
+        desc "A property that can be changed successfully"
+        def sync
+        end
 
-          def retrieve
-            :absent
-          end
+        def retrieve
+          :absent
+        end
 
-          def insync?(reference_value)
-            false
-          end
+        def insync?(reference_value)
+          false
         end
+      end
 
-        newproperty(:bar) do
-          desc "A property that raises an exception when you try to change it"
-          def sync
-            raise ZeroDivisionError.new('bar')
-          end
+      newproperty(:bar) do
+        desc "A property that raises an exception when you try to change it"
+        def sync
+          raise ZeroDivisionError.new('bar')
+        end
 
-          def retrieve
-            :absent
-          end
+        def retrieve
+          :absent
+        end
 
-          def insync?(reference_value)
-            false
-          end
+        def insync?(reference_value)
+          false
         end
       end
+    end
+    stubProvider
+  end
 
-      resource = stubProvider.new :name => 'name', :foo => 1, :bar => 2
+  describe "when an error occurs" do
+    before :each do
+      stub_provider = make_stub_provider
+      resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
       resource.expects(:err).never
       @status = @harness.evaluate(resource)
     end
-- 
1.7.2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to