diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2012-11-26 11:41:01 -0800 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2012-11-26 11:41:01 -0800 |
commit | 0648148bfb70159dcf2eb2af3d8e67842ce96f85 (patch) | |
tree | bfff79695287950689959ffae1f36819fda4b0aa | |
parent | ad262b56a432a17bfde66f39b3d6042e2a35eea0 (diff) | |
parent | b55994b2be55c3f03bc089449d07ecef69ec7638 (diff) |
Merge branch '2.x' into 3.x
* 2.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 |