diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2012-11-26 11:41:25 -0800 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2012-11-26 11:41:25 -0800 |
commit | 9224e370766b71db2793736ed9c74c82aa28d1bf (patch) | |
tree | 963e394afd0e22fea49d47c79efd09c8512bf161 | |
parent | 8647691c3a51fb343e5115a5eed38541536a0d30 (diff) | |
parent | 0648148bfb70159dcf2eb2af3d8e67842ce96f85 (diff) | |
download | puppet-stdlib-9224e370766b71db2793736ed9c74c82aa28d1bf.tar.gz puppet-stdlib-9224e370766b71db2793736ed9c74c82aa28d1bf.tar.bz2 |
Merge branch '3.x' into 4.x
* 3.x:
(#14670) Fixup file_line autorequire specs
(#14670) autorequire a file_line resource's path
-rw-r--r-- | lib/puppet/type/file_line.rb | 5 | ||||
-rw-r--r-- | spec/unit/puppet/type/file_line_spec.rb | 18 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/puppet/type/file_line.rb b/lib/puppet/type/file_line.rb index 6b35902..f71a4bc 100644 --- a/lib/puppet/type/file_line.rb +++ b/lib/puppet/type/file_line.rb @@ -50,6 +50,11 @@ Puppet::Type.newtype(:file_line) do end end + # Autorequire the file resource if it's being managed + autorequire(:file) do + self[:path] + end + validate do unless self[:line] and self[:path] raise(Puppet::Error, "Both line and path are required attributes") diff --git a/spec/unit/puppet/type/file_line_spec.rb b/spec/unit/puppet/type/file_line_spec.rb index e1c07ac..0cd8a26 100644 --- a/spec/unit/puppet/type/file_line_spec.rb +++ b/spec/unit/puppet/type/file_line_spec.rb @@ -48,4 +48,22 @@ describe Puppet::Type.type(:file_line) do it 'should default to ensure => present' do file_line[:ensure].should eq :present end + + it "should autorequire the file it manages" do + catalog = Puppet::Resource::Catalog.new + file = Puppet::Type.type(:file).new(:name => "/tmp/path") + catalog.add_resource file + catalog.add_resource file_line + + relationship = file_line.autorequire.find do |rel| + (rel.source.to_s == "File[/tmp/path]") and (rel.target.to_s == file_line.to_s) + end + relationship.should be_a Puppet::Relationship + end + + it "should not autorequire the file it manages if it is not managed" do + catalog = Puppet::Resource::Catalog.new + catalog.add_resource file_line + file_line.autorequire.should be_empty + end end |