blob: 0a1209a93701ae55eadfe373f6cf74ef1f154a3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#! /usr/bin/env ruby
require 'spec_helper'
describe Puppet::Type.type(:package), "when choosing a default package provider" do
before do
# the default provider is cached.
Puppet::Type.type(:package).defaultprovider = nil
end
def provider_name(os)
if Facter.value(:operatingsystem) == 'Solaris' && Puppet::Util::Package.versioncmp(Facter.value(:kernelrelease), '5.11') >= 0
:pkg
else
{"Ubuntu" => :apt, "Debian" => :apt, "Darwin" => :pkgdmg, "RedHat" => :up2date, "Fedora" => :yum, "FreeBSD" => :ports, "OpenBSD" => :openbsd, "Solaris" => :sun, "DragonFly" => :pkgin, "OpenWrt" => :opkg}[os]
end
end
it "should have a default provider" do
Puppet::Type.type(:package).defaultprovider.should_not be_nil
end
it "should choose the correct provider each platform" do
unless default_provider = provider_name(Facter.value(:operatingsystem))
pending("No default provider specified in this test for #{Facter.value(:operatingsystem)}")
end
Puppet::Type.type(:package).defaultprovider.name.should == default_provider
end
end
|