File: selboolean_spec.rb

package info (click to toggle)
puppet-agent 8.10.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 27,392 kB
  • sloc: ruby: 286,820; sh: 492; xml: 116; makefile: 88; cs: 68
file content (35 lines) | stat: -rw-r--r-- 1,276 bytes parent folder | download | duplicates (3)
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
31
32
33
34
35
require 'spec_helper'

provider_class = Puppet::Type.type(:selboolean).provider(:getsetsebool)

describe provider_class do
  let(:resource) { instance_double('resource', name: 'foo') }
  let(:provider) { provider_class.new(resource) }

  before :each do
    allow(resource).to receive(:[]).and_return 'foo'
  end

  it 'returns :on when getsebool returns on' do
    allow(provider).to receive(:getsebool).with('foo').and_return "foo --> on\n"
    expect(provider.value).to eq(:on)
  end

  it 'returns :off when getsebool returns on' do
    allow(provider).to receive(:getsebool).with('foo').and_return "foo --> off\n"
    expect(provider.value).to eq(:off)
  end

  it 'calls execpipe when updating boolean setting' do
    allow(provider).to receive(:command).with(:setsebool).and_return '/usr/sbin/setsebool'
    allow(provider).to receive(:execpipe).with('/usr/sbin/setsebool  foo off')
    provider.value = :off
  end

  it 'calls execpipe with -P when updating persistent boolean setting' do
    allow(resource).to receive(:[]).with(:persistent).and_return :true
    allow(provider).to receive(:command).with(:setsebool).and_return '/usr/sbin/setsebool'
    allow(provider).to receive(:execpipe).with('/usr/sbin/setsebool -P foo off')
    provider.value = :off
  end
end