1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
# frozen_string_literal: true
require 'spec_helper_acceptance'
command = case os[:family]
when 'windows'
'cmd.exe /c echo triggered'
else
'echo triggered'
end
describe 'with metaparameters' do
attr_reader :basedir
before(:each) do
@basedir = setup_test_directory
end
describe 'with subscribed resources' do
let(:pp) do
<<-MANIFEST
concat { "foobar":
ensure => 'present',
path => '#{basedir}/foobar',
}
concat::fragment { 'foo':
target => 'foobar',
content => 'foo',
}
exec { 'trigger':
path => $::path,
command => "#{command}",
subscribe => Concat['foobar'],
refreshonly => true,
}
MANIFEST
end
it 'applies the manifest twice with no changes second apply' do
expect(apply_manifest(pp, catch_failures: true).stdout).to match(%r{Triggered 'refresh'})
expect(apply_manifest(pp, catch_changes: true).stdout).not_to match(%r{Triggered 'refresh'})
end
end
describe 'with resources to notify' do
let(:pp) do
<<-MANIFEST
exec { 'trigger':
path => $::path,
command => "#{command}",
refreshonly => true,
}
concat { "foobar":
ensure => 'present',
path => '#{basedir}/foobar',
notify => Exec['trigger'],
}
concat::fragment { 'foo':
target => 'foobar',
content => 'foo',
}
MANIFEST
end
it 'applies the manifest twice with no changes second apply' do
expect(apply_manifest(pp, catch_failures: true).stdout).to match(%r{Triggered 'refresh'})
expect(apply_manifest(pp, catch_changes: true).stdout).not_to match(%r{Triggered 'refresh'})
end
end
end
|