summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rwxr-xr-xspec/integration/type/file.rb21
-rwxr-xr-xspec/unit/type/file.rb7
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