summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2009-11-23 16:57:04 -0800
committerJames Turnbull <james@lovedthanlost.net>2009-12-02 13:15:34 +1100
commitf7c5ceb325da912e05457cd69eb74e03f541cc9f (patch)
tree0c8128e7b197c2ad2e3881e684b697583623f2a9
parent07b94b4687686acd4f1bc2567f7902e676c2338f (diff)
downloadpuppet-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.rb5
-rw-r--r--lib/puppet/network/http/handler.rb1
-rwxr-xr-xspec/unit/file_serving/mount/file.rb8
-rwxr-xr-xspec/unit/network/http/handler.rb10
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')