3 require 'puppet/type/service'
5 describe 'service_provider', :type => :fact do
6 before(:each) { Facter.clear }
7 after(:each) { Facter.clear }
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)
14 expect(Facter.fact(:service_provider).value).to eq('launchd')
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)
23 expect(Facter.fact(:service_provider).value).to eq('systemd')
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)
32 expect(Facter.fact(:service_provider).value).to eq('redhat')