3954faf02459e5b472ef8cd1b8ed8e49489d7fc9
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / unit / facter / package_provider_spec.rb
1 #! /usr/bin/env ruby -S rspec
2 require 'spec_helper'
3 require 'puppet/type'
4 require 'puppet/type/package'
5
6 describe 'package_provider', :type => :fact do
7   before { Facter.clear }
8   after { Facter.clear }
9
10   ['4.2.2', '3.7.1 (Puppet Enterprise 3.2.1)'].each do |puppetversion|
11     describe "on puppet ''#{puppetversion}''" do
12       before :each do
13         Facter.stubs(:value).returns puppetversion
14       end
15
16       context "darwin" do
17         it "should return pkgdmg" do
18           provider = Puppet::Type.type(:package).provider(:pkgdmg)
19           Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
20
21           expect(Facter.fact(:package_provider).value).to eq('pkgdmg')
22         end
23       end
24
25       context "centos 7" do
26         it "should return yum" do
27           provider = Puppet::Type.type(:package).provider(:yum)
28           Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
29
30           expect(Facter.fact(:package_provider).value).to eq('yum')
31         end
32       end
33
34       context "ubuntu" do
35         it "should return apt" do
36           provider = Puppet::Type.type(:package).provider(:apt)
37           Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
38
39           expect(Facter.fact(:package_provider).value).to eq('apt')
40         end
41       end
42     end
43   end
44 end