Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / unit / facter / service_provider_spec.rb
1 require 'spec_helper'
2 require 'puppet/type'
3 require 'puppet/type/service'
4
5 describe 'service_provider', :type => :fact do
6   before(:each) { Facter.clear }
7   after(:each) { Facter.clear }
8
9   context 'when macosx' do
10     it 'returns launchd' do
11       provider = Puppet::Type.type(:service).provider(:launchd)
12       allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider)
13
14       expect(Facter.fact(:service_provider).value).to eq('launchd')
15     end
16   end
17
18   context 'when systemd' do
19     it 'returns systemd' do
20       provider = Puppet::Type.type(:service).provider(:systemd)
21       allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider)
22
23       expect(Facter.fact(:service_provider).value).to eq('systemd')
24     end
25   end
26
27   context 'when redhat' do
28     it 'returns redhat' do
29       provider = Puppet::Type.type(:service).provider(:redhat)
30       allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider)
31
32       expect(Facter.fact(:service_provider).value).to eq('redhat')
33     end
34   end
35 end