File tree Expand file tree Collapse file tree 2 files changed +54
-0
lines changed Expand file tree Collapse file tree 2 files changed +54
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Fact: package_provider
2
+ #
3
+ # Purpose: Returns the default provider Puppet will choose to manage packages
4
+ # on this system
5
+ #
6
+ # Resolution: Instantiates a dummy package resource and return the provider
7
+ #
8
+ # Caveats:
9
+ #
10
+ require 'puppet/type'
11
+ require 'puppet/type/package'
12
+
13
+ Facter . add ( :package_provider ) do
14
+ setcode do
15
+ Puppet ::Type . type ( :package ) . newpackage ( :name => 'dummy' ) [ :provider ] . to_s
16
+ end
17
+ end
Original file line number Diff line number Diff line change
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
+ context "darwin" do
11
+ it "should return pkgdmg" do
12
+ provider = Puppet ::Type . type ( :package ) . provider ( :pkgdmg )
13
+ Puppet ::Type . type ( :package ) . stubs ( :defaultprovider ) . returns provider
14
+
15
+ expect ( Facter . fact ( :package_provider ) . value ) . to eq ( 'pkgdmg' )
16
+ end
17
+ end
18
+
19
+ context "centos 7" do
20
+ it "should return yum" do
21
+ provider = Puppet ::Type . type ( :package ) . provider ( :yum )
22
+ Puppet ::Type . type ( :package ) . stubs ( :defaultprovider ) . returns provider
23
+
24
+ expect ( Facter . fact ( :package_provider ) . value ) . to eq ( 'yum' )
25
+ end
26
+ end
27
+
28
+ context "ubuntu" do
29
+ it "should return apt" do
30
+ provider = Puppet ::Type . type ( :package ) . provider ( :apt )
31
+ Puppet ::Type . type ( :package ) . stubs ( :defaultprovider ) . returns provider
32
+
33
+ expect ( Facter . fact ( :package_provider ) . value ) . to eq ( 'apt' )
34
+ end
35
+ end
36
+
37
+ end
You can’t perform that action at this time.
0 commit comments