diff options
author | Paul Berry <paul@puppetlabs.com> | 2011-01-07 15:21:20 -0800 |
---|---|---|
committer | Paul Berry <paul@puppetlabs.com> | 2011-01-07 15:46:20 -0800 |
commit | e2700869a98ed769cea3d880a23e2f80330ea0fc (patch) | |
tree | 963e4163e94ad95ffece39233ace64f0fce5374b | |
parent | a02e6b88754021b1552e99b0131d86fcfdd7329b (diff) | |
download | puppet-e2700869a98ed769cea3d880a23e2f80330ea0fc.tar.gz puppet-e2700869a98ed769cea3d880a23e2f80330ea0fc.tar.xz puppet-e2700869a98ed769cea3d880a23e2f80330ea0fc.zip |
Prep for fixing #5710: Refactor stub provider in resource harness spec
Moved the stub provider to its own method so that it can be re-used in
additional spec tests.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
-rwxr-xr-x | 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 ca35740f5..f0c360e22 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 |