summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorPaul Berry <paul@puppetlabs.com>2011-01-07 15:47:19 -0800
committerPaul Berry <paul@puppetlabs.com>2011-01-07 15:47:19 -0800
commite6e88e7df7fa1cbec1400d73cb7ba9428c420be0 (patch)
tree5b5377e91a9188e68a52fc47525792a7ddc360b1 /spec
parenta02e6b88754021b1552e99b0131d86fcfdd7329b (diff)
parent8f314f2bb14d61a2a26b67d002d90f84349b25b5 (diff)
downloadpuppet-e6e88e7df7fa1cbec1400d73cb7ba9428c420be0.tar.gz
puppet-e6e88e7df7fa1cbec1400d73cb7ba9428c420be0.tar.xz
puppet-e6e88e7df7fa1cbec1400d73cb7ba9428c420be0.zip
Merge branch 'ticket/2.6.next/5710' into 2.6.next
* ticket/2.6.next/5710: (#5710) Removed unnecessary calls to insync? Prep for fixing #5710: Refactor stub provider in resource harness spec
Diffstat (limited to 'spec')
-rwxr-xr-xspec/unit/transaction/resource_harness_spec.rb92
1 files changed, 59 insertions, 33 deletions
diff --git a/spec/unit/transaction/resource_harness_spec.rb b/spec/unit/transaction/resource_harness_spec.rb
index ca35740f5..104c19e85 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
@@ -122,6 +125,29 @@ describe Puppet::Transaction::ResourceHarness do
end
end
+ describe "when auditing" do
+ it "should not call insync? on parameters that are merely audited" do
+ stub_provider = make_stub_provider
+ resource = stub_provider.new :name => 'name', :audit => ['foo']
+ resource.property(:foo).expects(:insync?).never
+ status = @harness.evaluate(resource)
+ status.events.each do |event|
+ event.status.should != 'failure'
+ end
+ end
+
+ it "should be able to audit a file's group" do # see bug #5710
+ test_file = tmpfile('foo')
+ File.open(test_file, 'w').close
+ resource = Puppet::Type.type(:file).new :path => test_file, :audit => ['group'], :backup => false
+ resource.expects(:err).never # make sure no exceptions get swallowed
+ status = @harness.evaluate(resource)
+ status.events.each do |event|
+ event.status.should != 'failure'
+ end
+ end
+ end
+
describe "when applying changes" do
[false, true].each do |noop_mode|; describe (noop_mode ? "in noop mode" : "in normal mode") do
[nil, '750'].each do |machine_state|; describe (machine_state ? "with a file initially present" : "with no file initially present") do