diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2013-04-11 17:55:40 -0700 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2013-04-11 17:55:40 -0700 |
commit | d2e692dce3794a57da78bb4624b182d1b379ae6a (patch) | |
tree | 6cc20a64cd311a271f7a937d12e1a27c03fc81e9 | |
parent | ddad4455cc914862f16c2e8cae96812e244b0a1d (diff) | |
download | puppet-stdlib-d2e692dce3794a57da78bb4624b182d1b379ae6a.tar.gz puppet-stdlib-d2e692dce3794a57da78bb4624b182d1b379ae6a.tar.bz2 |
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.
-rw-r--r-- | spec/classes/anchor_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/classes/anchor_spec.rb b/spec/classes/anchor_spec.rb new file mode 100644 index 0000000..2dd17de --- /dev/null +++ b/spec/classes/anchor_spec.rb @@ -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 |