puppetlabs-stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb
Jeff McCune 4c93090e1a (#8792) Rename whole_line type to file_line
Without this patch the resource whole_line would be included in the
stable stdlib module shipping in PE 1.2.  Ideally the name will be
stable and unchanging in the future.

There was quite a bit of concern over whole_line being an unwise name.
file_line appears to be the most suitable name and least likely to need
another rename in the future.
2011-08-04 19:17:48 -07:00

30 lines
847 B
Ruby

require 'puppet'
require 'tempfile'
provider_class = Puppet::Type.type(:file_line).provider(:ruby)
describe provider_class do
before :each do
tmp = Tempfile.new('tmp')
@tmpfile = tmp.path
tmp.close!
@resource = Puppet::Type::File_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