summaryrefslogtreecommitdiffstats
path: root/spec/unit
diff options
context:
space:
mode:
authorMatt Robinson <matt@puppetlabs.com>2011-03-02 10:45:53 -0800
committerMatt Robinson <matt@puppetlabs.com>2011-03-02 10:45:53 -0800
commit9571c99b6c8a1244e0cdda416a2e9ca0c52b25cb (patch)
treeeb7827afd6554cd276b2f6f0cbf79b4947f42570 /spec/unit
parente5cfac3cb90cbea688afdef4943d4f9dd49d8058 (diff)
parent4e29f439189e0a40364724f50971c83652463085 (diff)
Merge branch 'ticket/2.6.next/6541-md5_in_content_truncates' into 2.6.next
* ticket/2.6.next/6541-md5_in_content_truncates: (#6541) maint: whitespace cleanup on the file integration spec (#6541) Fix content with checksum truncation bug
Diffstat (limited to 'spec/unit')
-rwxr-xr-xspec/unit/type/file/content_spec.rb23
1 files changed, 22 insertions, 1 deletions
diff --git a/spec/unit/type/file/content_spec.rb b/spec/unit/type/file/content_spec.rb
index 7d23399cf..bd2b2adaf 100755
--- a/spec/unit/type/file/content_spec.rb
+++ b/spec/unit/type/file/content_spec.rb
@@ -375,17 +375,38 @@ describe content do
@content.each_chunk_from('i_am_a_string') { |chunk| chunk.should == 'i_am_a_string' }
end
+ # The following manifest is a case where source and content.should are both set
+ # file { "/tmp/mydir" :
+ # source => '/tmp/sourcedir',
+ # recurse => true,
+ # }
+ it "when content checksum comes from source" do
+ source_param = Puppet::Type.type(:file).attrclass(:source)
+ source = source_param.new(:resource => @resource)
+ @content.should = "{md5}123abcd"
+
+ @content.expects(:chunk_file_from_source).returns('from_source')
+ @content.each_chunk_from(source) { |chunk| chunk.should == 'from_source' }
+ end
+
it "when no content, source, but ensure present" do
@resource[:ensure] = :present
@content.each_chunk_from(nil) { |chunk| chunk.should == '' }
end
+ # you might do this if you were just auditing
it "when no content, source, but ensure file" do
@resource[:ensure] = :file
@content.each_chunk_from(nil) { |chunk| chunk.should == '' }
end
- it "when no content or source" do
+ it "when source_or_content is nil and content not a checksum" do
+ @content.each_chunk_from(nil) { |chunk| chunk.should == '' }
+ end
+
+ # the content is munged so that if it's a checksum nil gets passed in
+ it "when content is a checksum it should try to read from filebucket" do
+ @content.should = "{md5}123abcd"
@content.expects(:read_file_from_filebucket).once.returns('im_a_filebucket')
@content.each_chunk_from(nil) { |chunk| chunk.should == 'im_a_filebucket' }
end