summaryrefslogtreecommitdiff
path: root/spec/unit/facter/systemd_spec.rb
blob: a7b62410c64be4e4ebbbdb93431df3316a09af09 (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
31
32
33
34
35
36
37
38
39
40
41
require "spec_helper"

describe Facter::Util::Fact do
  before {
    Facter.clear
  }

  describe "systemd" do
    context 'returns true when systemd present' do
      before do
        Facter.fact(:kernel).stubs(:value).returns(:linux)
      end
      let(:facts) { {:kernel => :linux} }
      it do
        Facter::Util::Resolution.expects(:exec).with('ps -p 1 -o comm=').returns('systemd')
        expect(Facter.value(:systemd)).to eq(true)
      end
    end
      context 'returns false when systemd not present' do
        before do
          Facter.fact(:kernel).stubs(:value).returns(:linux)
        end
        let(:facts) { {:kernel => :linux} }
        it do
          Facter::Util::Resolution.expects(:exec).with('ps -p 1 -o comm=').returns('init')
          expect(Facter.value(:systemd)).to eq(false)
        end
    end

    context 'returns nil when kernel is not linux' do
      before do
        Facter.fact(:kernel).stubs(:value).returns(:windows)
      end
      let(:facts) { {:kernel => :windows} }
      it do
        Facter::Util::Resolution.expects(:exec).with('ps -p 1 -o comm=').never
        expect(Facter.value(:systemd)).to be_nil
      end
    end
  end
end