Add behavior example for anchor refresh propagation
Without this patch we don't have a spec test to make sure the anchor resource type passes notify events along. This patch addresses the problem by using RSpec Puppet to build a catalog, apply the catalog, then pull a resource out of the transaction and make sure the resource was triggered.
This commit is contained in:
parent
ddad4455cc
commit
d2e692dce3
1 changed files with 32 additions and 0 deletions
32
spec/classes/anchor_spec.rb
Normal file
32
spec/classes/anchor_spec.rb
Normal file
|
@ -0,0 +1,32 @@
|
|||
require 'puppet'
|
||||
require 'rspec-puppet'
|
||||
|
||||
describe "anchorrefresh" do
|
||||
let(:node) { 'testhost.example.com' }
|
||||
let :pre_condition do
|
||||
<<-ANCHORCLASS
|
||||
class anchored {
|
||||
anchor { 'anchored::begin': }
|
||||
~> anchor { 'anchored::end': }
|
||||
}
|
||||
|
||||
class anchorrefresh {
|
||||
notify { 'first': }
|
||||
~> class { 'anchored': }
|
||||
~> anchor { 'final': }
|
||||
}
|
||||
ANCHORCLASS
|
||||
end
|
||||
|
||||
def apply_catalog_and_return_exec_rsrc
|
||||
catalog = subject.to_ral
|
||||
transaction = catalog.apply
|
||||
transaction.resource_status("Anchor[final]")
|
||||
end
|
||||
|
||||
it 'propagates events through the anchored class' do
|
||||
resource = apply_catalog_and_return_exec_rsrc
|
||||
|
||||
expect(resource.restarted).to eq(true)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue