diff options
Diffstat (limited to 'puppet/modules/systemd/spec/unit')
| -rw-r--r-- | puppet/modules/systemd/spec/unit/facter/systemd_spec.rb | 41 | ||||
| -rw-r--r-- | puppet/modules/systemd/spec/unit/facter/systemd_version_spec.rb | 31 | 
2 files changed, 72 insertions, 0 deletions
diff --git a/puppet/modules/systemd/spec/unit/facter/systemd_spec.rb b/puppet/modules/systemd/spec/unit/facter/systemd_spec.rb new file mode 100644 index 00000000..a7b62410 --- /dev/null +++ b/puppet/modules/systemd/spec/unit/facter/systemd_spec.rb @@ -0,0 +1,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 diff --git a/puppet/modules/systemd/spec/unit/facter/systemd_version_spec.rb b/puppet/modules/systemd/spec/unit/facter/systemd_version_spec.rb new file mode 100644 index 00000000..5007dc69 --- /dev/null +++ b/puppet/modules/systemd/spec/unit/facter/systemd_version_spec.rb @@ -0,0 +1,31 @@ +require "spec_helper" + +describe Facter::Util::Fact do +  before { +    Facter.clear +  } + +  describe "systemd_version" do +    context 'returns version when systemd fact present' do +      before do +        Facter.fact(:systemd).stubs(:value).returns(true) +      end +      let(:facts) { {:systemd => true} } +      it do +        Facter::Util::Resolution.expects(:exec).with("systemctl --version | awk '/systemd/{ print $2 }'").returns('229') +        expect(Facter.value(:systemd_version)).to eq('229') +      end +    end +    context 'returns nil when systemd fact not present' do +      before do +        Facter.fact(:systemd).stubs(:value).returns(false) +      end +      let(:facts) { {:systemd => false } } +      it do +        Facter::Util::Resolution.stubs(:exec) +        Facter::Util::Resolution.expects(:exec).with("systemctl --version | awk '/systemd/{ print $2 }'").never +        expect(Facter.value(:systemd_version)).to eq(nil) +      end +    end +  end +end  | 
