summaryrefslogtreecommitdiffstats
path: root/spec/unit/file_serving/file_base.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-02-25 18:28:26 -0500
committerLuke Kanies <luke@madstop.com>2008-02-25 18:28:26 -0500
commit9d2f45df3d951ef59a44a7fb81a38586f04884b4 (patch)
tree0c97adcca32ba9ad2e20b2457f3db0c4b91f8376 /spec/unit/file_serving/file_base.rb
parent0afea69c06742eff1e8d8bd7df13c9c0e4c397c0 (diff)
parent04892ee723d1a687c83eb6c99b5c6a6c76bbcbc9 (diff)
downloadpuppet-9d2f45df3d951ef59a44a7fb81a38586f04884b4.tar.gz
puppet-9d2f45df3d951ef59a44a7fb81a38586f04884b4.tar.xz
puppet-9d2f45df3d951ef59a44a7fb81a38586f04884b4.zip
Merge branch '0.24.x'
Diffstat (limited to 'spec/unit/file_serving/file_base.rb')
-rwxr-xr-xspec/unit/file_serving/file_base.rb119
1 files changed, 69 insertions, 50 deletions
diff --git a/spec/unit/file_serving/file_base.rb b/spec/unit/file_serving/file_base.rb
index 4c7724f7c..e1a61cd65 100755
--- a/spec/unit/file_serving/file_base.rb
+++ b/spec/unit/file_serving/file_base.rb
@@ -4,7 +4,7 @@ require File.dirname(__FILE__) + '/../../spec_helper'
require 'puppet/file_serving/file_base'
-describe Puppet::FileServing::FileBase, " when initializing" do
+describe Puppet::FileServing::FileBase do
it "should accept a key in the form of a URI" do
Puppet::FileServing::FileBase.new("puppet://host/module/dir/file").key.should == "puppet://host/module/dir/file"
end
@@ -30,72 +30,91 @@ describe Puppet::FileServing::FileBase, " when initializing" do
FileTest.stubs(:exists?).returns(true)
Puppet::FileServing::FileBase.new("puppet://host/module/dir/file", :relative_path => "my/file").relative_path.should == "my/file"
end
-end
-describe Puppet::FileServing::FileBase, " when setting the base path" do
- before do
- @file = Puppet::FileServing::FileBase.new("puppet://host/module/dir/file")
+ it "should have a means of determining if the file exists" do
+ Puppet::FileServing::FileBase.new("blah").should respond_to(:exist?)
end
- it "should require that the base path be fully qualified" do
- FileTest.stubs(:exists?).returns(true)
- proc { @file.path = "unqualified/file" }.should raise_error(ArgumentError)
+ it "should correctly indicate if the file is present" do
+ File.expects(:lstat).with("/my/file").returns(mock("stat"))
+ Puppet::FileServing::FileBase.new("blah", :path => "/my/file").exist?.should be_true
end
-end
-describe Puppet::FileServing::FileBase, " when setting the relative path" do
- it "should require that the relative path be unqualified" do
- @file = Puppet::FileServing::FileBase.new("puppet://host/module/dir/file")
- FileTest.stubs(:exists?).returns(true)
- proc { @file.relative_path = "/qualified/file" }.should raise_error(ArgumentError)
+ it "should correctly indicate if the file is asbsent" do
+ File.expects(:lstat).with("/my/file").raises RuntimeError
+ Puppet::FileServing::FileBase.new("blah", :path => "/my/file").exist?.should be_false
end
-end
-describe Puppet::FileServing::FileBase, " when determining the full file path" do
- before do
- @file = Puppet::FileServing::FileBase.new("mykey", :path => "/this/file")
- end
+ describe "when setting the base path" do
+ before do
+ @file = Puppet::FileServing::FileBase.new("puppet://host/module/dir/file")
+ end
- it "should return the path if there is no relative path" do
- @file.full_path.should == "/this/file"
+ it "should require that the base path be fully qualified" do
+ FileTest.stubs(:exists?).returns(true)
+ proc { @file.path = "unqualified/file" }.should raise_error(ArgumentError)
+ end
end
- it "should return the path joined with the relative path if there is a relative path" do
- @file.relative_path = "not/qualified"
- @file.full_path.should == "/this/file/not/qualified"
+ describe "when setting the relative path" do
+ it "should require that the relative path be unqualified" do
+ @file = Puppet::FileServing::FileBase.new("puppet://host/module/dir/file")
+ FileTest.stubs(:exists?).returns(true)
+ proc { @file.relative_path = "/qualified/file" }.should raise_error(ArgumentError)
+ end
end
- it "should should fail if there is no path set" do
- @file = Puppet::FileServing::FileBase.new("not/qualified")
- proc { @file.full_path }.should raise_error(ArgumentError)
- end
-end
+ describe "when determining the full file path" do
+ before do
+ @file = Puppet::FileServing::FileBase.new("mykey", :path => "/this/file")
+ end
-describe Puppet::FileServing::FileBase, " when stat'ing files" do
- before do
- @file = Puppet::FileServing::FileBase.new("mykey", :path => "/this/file")
- end
+ it "should return the path if there is no relative path" do
+ @file.full_path.should == "/this/file"
+ end
- it "should stat the file's full path" do
- @file.stubs(:full_path).returns("/this/file")
- File.expects(:lstat).with("/this/file").returns stub("stat", :ftype => "file")
- @file.stat
- end
+ it "should return the path if the relative_path is set to ''" do
+ @file.relative_path = ""
+ @file.full_path.should == "/this/file"
+ end
- it "should fail if the file does not exist" do
- @file.stubs(:full_path).returns("/this/file")
- File.expects(:lstat).with("/this/file").raises(Errno::ENOENT)
- proc { @file.stat }.should raise_error(Errno::ENOENT)
- end
+ it "should return the path joined with the relative path if there is a relative path and it is not set to '/' or ''" do
+ @file.relative_path = "not/qualified"
+ @file.full_path.should == "/this/file/not/qualified"
+ end
- it "should use :lstat if :links is set to :manage" do
- File.expects(:lstat).with("/this/file").returns stub("stat", :ftype => "file")
- @file.stat
+ it "should should fail if there is no path set" do
+ @file = Puppet::FileServing::FileBase.new("not/qualified")
+ proc { @file.full_path }.should raise_error(ArgumentError)
+ end
end
- it "should use :stat if :links is set to :follow" do
- File.expects(:stat).with("/this/file").returns stub("stat", :ftype => "file")
- @file.links = :follow
- @file.stat
+ describe "when stat'ing files" do
+ before do
+ @file = Puppet::FileServing::FileBase.new("mykey", :path => "/this/file")
+ end
+
+ it "should stat the file's full path" do
+ @file.stubs(:full_path).returns("/this/file")
+ File.expects(:lstat).with("/this/file").returns stub("stat", :ftype => "file")
+ @file.stat
+ end
+
+ it "should fail if the file does not exist" do
+ @file.stubs(:full_path).returns("/this/file")
+ File.expects(:lstat).with("/this/file").raises(Errno::ENOENT)
+ proc { @file.stat }.should raise_error(Errno::ENOENT)
+ end
+
+ it "should use :lstat if :links is set to :manage" do
+ File.expects(:lstat).with("/this/file").returns stub("stat", :ftype => "file")
+ @file.stat
+ end
+
+ it "should use :stat if :links is set to :follow" do
+ File.expects(:stat).with("/this/file").returns stub("stat", :ftype => "file")
+ @file.links = :follow
+ @file.stat
+ end
end
end