summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/provider
diff options
context:
space:
mode:
authorDan Bode <dan@puppetlabs.com>2011-07-26 15:27:42 -0700
committerDan Bode <dan@puppetlabs.com>2011-07-26 15:30:28 -0700
commite82370a26d15181b6c3b17b25c2349752e41ed38 (patch)
tree42d12c5726f9a59a95cb77b40aec4cc8c9b84e6b /spec/unit/puppet/provider
parenta6ed9fbca3f256304df17b1cfae157728d60bb1d (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.rb30
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