summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/provider/file_line/ruby_spec.rb
blob: b03fc0ea9787398ecb6845f44b7538d375b3be51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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