summaryrefslogtreecommitdiffstats
path: root/spec/integration/type/package.rb
blob: a3d8eb27886ef1b82be61c50021597a0c8d6e709 (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
#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../../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)
        {"Ubuntu" => :apt, "Debian" => :apt, "Darwin" => :apple, "RedHat" => :up2date, "Fedora" => :yum, "FreeBSD" => :ports, "OpenBSD" => :openbsd, "Solaris" => :sun}[os]
    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 %s" % Facter.value(:operatingsystem))
        end
        Puppet::Type.type(:package).defaultprovider.name.should == default_provider
    end
end