diff options
author | Dan Bode <dan@puppetlabs.com> | 2011-07-26 15:27:42 -0700 |
---|---|---|
committer | Dan Bode <dan@puppetlabs.com> | 2011-07-26 15:30:28 -0700 |
commit | e82370a26d15181b6c3b17b25c2349752e41ed38 (patch) | |
tree | 42d12c5726f9a59a95cb77b40aec4cc8c9b84e6b /spec/unit/puppet/provider | |
parent | a6ed9fbca3f256304df17b1cfae157728d60bb1d (diff) |
(#8628) Add append_line native type
This commit adds a native type that can check if
a line exists and append it to a file.
This use case seems common enough to warrant its
inclusion into stdlib.
Reviewed-by: Jeff McCune
Diffstat (limited to 'spec/unit/puppet/provider')
-rw-r--r-- | spec/unit/puppet/provider/append_line/ruby_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/unit/puppet/provider/append_line/ruby_spec.rb b/spec/unit/puppet/provider/append_line/ruby_spec.rb new file mode 100644 index 0000000..ea28c31 --- /dev/null +++ b/spec/unit/puppet/provider/append_line/ruby_spec.rb @@ -0,0 +1,30 @@ +require 'puppet' +require 'tempfile' +provider_class = Puppet::Type.type(:append_line).provider(:ruby) +describe provider_class do + before :each do + tmp = Tempfile.new('tmp') + @tmpfile = tmp.path + tmp.close! + @resource = Puppet::Type::Append_line.new( + {:name => 'foo', :path => @tmpfile, :line => 'foo'} + ) + @provider = provider_class.new(@resource) + end + it 'should detect if the line exists in the file' do + File.open(@tmpfile, 'w') do |fh| + fh.write('foo') + end + @provider.exists?.should be_true + end + it 'should detect if the line does not exist in the file' do + File.open(@tmpfile, 'w') do |fh| + fh.write('foo1') + end + @provider.exists?.should be_nil + end + it 'should append to an existing file when creating' do + @provider.create + File.read(@tmpfile).chomp.should == 'foo' + end +end |