diff options
Diffstat (limited to 'spec')
| -rwxr-xr-x | spec/integration/type/file.rb | 21 | ||||
| -rwxr-xr-x | spec/unit/type/file.rb | 7 |
2 files changed, 22 insertions, 6 deletions
diff --git a/spec/integration/type/file.rb b/spec/integration/type/file.rb index cced1ed1c..3b03d53e3 100755 --- a/spec/integration/type/file.rb +++ b/spec/integration/type/file.rb @@ -115,6 +115,27 @@ describe Puppet::Type.type(:file) do File.lstat(newpath).ftype.should == "file" end end + + it "should not recursively manage files managed by a more specific explicit file" do + dir = tmpfile("file_source_integration_source") + + subdir = File.join(dir, "subdir") + file = File.join(subdir, "file") + + FileUtils.mkdir_p(subdir) + File.open(file, "w") { |f| f.puts "" } + + base = Puppet::Type::File.new(:name => dir, :recurse => true, :backup => false, :mode => "755") + sub = Puppet::Type::File.new(:name => subdir, :recurse => true, :backup => false, :mode => "644") + + @catalog = Puppet::Resource::Catalog.new + @catalog.add_resource base + @catalog.add_resource sub + + @catalog.apply + + (File.stat(file).mode & 007777).should == 0644 + end end describe "when generating resources" do diff --git a/spec/unit/type/file.rb b/spec/unit/type/file.rb index 627cac41a..6ec86e7a1 100755 --- a/spec/unit/type/file.rb +++ b/spec/unit/type/file.rb @@ -12,8 +12,7 @@ describe Puppet::Type.type(:file) do @path = pathname @file = Puppet::Type::File.new(:name => @path) - @catalog = mock 'catalog' - @catalog.stub_everything + @catalog = Puppet::Resource::Catalog.new @file.catalog = @catalog end @@ -108,7 +107,6 @@ describe Puppet::Type.type(:file) do :path => @link, :mode => "755" ) - @catalog = Puppet::Resource::Catalog.new @catalog.add_resource @resource end @@ -513,9 +511,6 @@ describe Puppet::Type.type(:file) do describe "when returning resources with :eval_generate" do before do - @catalog = mock 'catalog' - @catalog.stub_everything - @graph = stub 'graph', :add_edge => nil @catalog.stubs(:relationship_graph).returns @graph |
