summaryrefslogtreecommitdiff
path: root/spec/unit/facter/systemd_spec.rb
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2017-01-16 13:34:48 +0100
committervarac <varacanero@zeromail.org>2017-01-16 13:34:48 +0100
commitf3c4059603a6ac19f132b0dc47b95e49d9ddc4ba (patch)
treed538ad5f49dc31a3bf10029a2c875b729048cdc0 /spec/unit/facter/systemd_spec.rb
parentdc76f6f69e306f865a4a7c3b78b6d5ba694719c5 (diff)
parenta0321364514f52a4c110a15afbdad5109d768fe6 (diff)
Merge remote-tracking branch 'camptocamp/master'HEADmaster
Diffstat (limited to 'spec/unit/facter/systemd_spec.rb')
-rw-r--r--spec/unit/facter/systemd_spec.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/unit/facter/systemd_spec.rb b/spec/unit/facter/systemd_spec.rb
new file mode 100644
index 0000000..a7b6241
--- /dev/null
+++ b/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