Merge pull request #561 from DavidS/fix-package_provider
Allow package_provider fact to resolve on PE 3.x
This commit is contained in:
commit
1c6ae4793f
2 changed files with 32 additions and 25 deletions
|
@ -12,7 +12,7 @@ require 'puppet/type/package'
|
||||||
|
|
||||||
Facter.add(:package_provider) do
|
Facter.add(:package_provider) do
|
||||||
setcode do
|
setcode do
|
||||||
if Gem::Version.new(Facter.value(:puppetversion)) >= Gem::Version.new('3.6')
|
if Gem::Version.new(Facter.value(:puppetversion).split(' ')[0]) >= Gem::Version.new('3.6')
|
||||||
Puppet::Type.type(:package).newpackage(:name => 'dummy', :allow_virtual => 'true')[:provider].to_s
|
Puppet::Type.type(:package).newpackage(:name => 'dummy', :allow_virtual => 'true')[:provider].to_s
|
||||||
else
|
else
|
||||||
Puppet::Type.type(:package).newpackage(:name => 'dummy')[:provider].to_s
|
Puppet::Type.type(:package).newpackage(:name => 'dummy')[:provider].to_s
|
||||||
|
|
|
@ -7,31 +7,38 @@ describe 'package_provider', :type => :fact do
|
||||||
before { Facter.clear }
|
before { Facter.clear }
|
||||||
after { Facter.clear }
|
after { Facter.clear }
|
||||||
|
|
||||||
context "darwin" do
|
['4.2.2', '3.7.1 (Puppet Enterprise 3.2.1)'].each do |puppetversion|
|
||||||
it "should return pkgdmg" do
|
describe "on puppet ''#{puppetversion}''" do
|
||||||
provider = Puppet::Type.type(:package).provider(:pkgdmg)
|
before :each do
|
||||||
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
Facter.stubs(:value).returns puppetversion
|
||||||
|
end
|
||||||
|
|
||||||
expect(Facter.fact(:package_provider).value).to eq('pkgdmg')
|
context "darwin" do
|
||||||
|
it "should return pkgdmg" do
|
||||||
|
provider = Puppet::Type.type(:package).provider(:pkgdmg)
|
||||||
|
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
||||||
|
|
||||||
|
expect(Facter.fact(:package_provider).value).to eq('pkgdmg')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "centos 7" do
|
||||||
|
it "should return yum" do
|
||||||
|
provider = Puppet::Type.type(:package).provider(:yum)
|
||||||
|
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
||||||
|
|
||||||
|
expect(Facter.fact(:package_provider).value).to eq('yum')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "ubuntu" do
|
||||||
|
it "should return apt" do
|
||||||
|
provider = Puppet::Type.type(:package).provider(:apt)
|
||||||
|
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
||||||
|
|
||||||
|
expect(Facter.fact(:package_provider).value).to eq('apt')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "centos 7" do
|
|
||||||
it "should return yum" do
|
|
||||||
provider = Puppet::Type.type(:package).provider(:yum)
|
|
||||||
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
|
||||||
|
|
||||||
expect(Facter.fact(:package_provider).value).to eq('yum')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "ubuntu" do
|
|
||||||
it "should return apt" do
|
|
||||||
provider = Puppet::Type.type(:package).provider(:apt)
|
|
||||||
Puppet::Type.type(:package).stubs(:defaultprovider).returns provider
|
|
||||||
|
|
||||||
expect(Facter.fact(:package_provider).value).to eq('apt')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue