diff options
author | Jesse Wolfe <jes5199@gmail.com> | 2009-11-23 16:57:04 -0800 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-12-02 13:15:34 +1100 |
commit | f7c5ceb325da912e05457cd69eb74e03f541cc9f (patch) | |
tree | 0c8128e7b197c2ad2e3881e684b697583623f2a9 | |
parent | 07b94b4687686acd4f1bc2567f7902e676c2338f (diff) | |
download | puppet-f7c5ceb325da912e05457cd69eb74e03f541cc9f.tar.gz puppet-f7c5ceb325da912e05457cd69eb74e03f541cc9f.tar.xz puppet-f7c5ceb325da912e05457cd69eb74e03f541cc9f.zip |
Fixing 2725 Error message when permissions incorrect on file server directory
No message was being displayed on the server if a file could not be
opened by the file server.
Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
-rw-r--r-- | lib/puppet/file_serving/mount/file.rb | 5 | ||||
-rw-r--r-- | lib/puppet/network/http/handler.rb | 1 | ||||
-rwxr-xr-x | spec/unit/file_serving/mount/file.rb | 8 | ||||
-rwxr-xr-x | spec/unit/network/http/handler.rb | 10 |
4 files changed, 23 insertions, 1 deletions
diff --git a/lib/puppet/file_serving/mount/file.rb b/lib/puppet/file_serving/mount/file.rb index bf7ddda45..4309ef79a 100644 --- a/lib/puppet/file_serving/mount/file.rb +++ b/lib/puppet/file_serving/mount/file.rb @@ -25,7 +25,10 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount file = ::File.join(full_path, relative_path) - return nil unless FileTest.exist?(file) + if ! FileTest.exist?(file) + Puppet.info("File does not exist or is not accessible: #{file}") + return nil + end return file end diff --git a/lib/puppet/network/http/handler.rb b/lib/puppet/network/http/handler.rb index 817661db1..65bb0f82c 100644 --- a/lib/puppet/network/http/handler.rb +++ b/lib/puppet/network/http/handler.rb @@ -97,6 +97,7 @@ module Puppet::Network::HTTP::Handler # Execute our find. def do_find(indirection_request, request, response) unless result = indirection_request.model.find(indirection_request.key, indirection_request.to_hash) + Puppet.info("Could not find %s for '%s'" % [indirection_request.indirection_name, indirection_request.key]) return do_exception(response, "Could not find %s %s" % [indirection_request.indirection_name, indirection_request.key], 404) end diff --git a/spec/unit/file_serving/mount/file.rb b/spec/unit/file_serving/mount/file.rb index 837fe8e62..69660d62f 100755 --- a/spec/unit/file_serving/mount/file.rb +++ b/spec/unit/file_serving/mount/file.rb @@ -107,6 +107,14 @@ describe Puppet::FileServing::Mount::File, "when determining the complete file p @mount.complete_path("/my/path", nil).should be_nil end + it "should write a log message if the file is absent" do + FileTest.stubs(:exist?).returns(false) + + Puppet.expects(:info).with("File does not exist or is not accessible: /mount/my/path") + + @mount.complete_path("/my/path", nil) + end + it "should return the file path if the file is present" do FileTest.stubs(:exist?).with("/my/path").returns(true) @mount.complete_path("/my/path", nil).should == "/mount/my/path" diff --git a/spec/unit/network/http/handler.rb b/spec/unit/network/http/handler.rb index 1addb5890..559812159 100755 --- a/spec/unit/network/http/handler.rb +++ b/spec/unit/network/http/handler.rb @@ -230,6 +230,16 @@ describe Puppet::Network::HTTP::Handler do @handler.do_find(@irequest, @request, @response) end + it "should write a log message when no model instance can be found" do + @model_class.stubs(:name).returns "my name" + @model_class.stubs(:find).returns(nil) + + Puppet.expects(:info).with("Could not find my_handler for 'my_result'") + + @handler.do_find(@irequest, @request, @response) + end + + it "should serialize the result in with the appropriate format" do @model_instance = stub('model instance') |