summaryrefslogtreecommitdiff
path: root/spec/unit
diff options
context:
space:
mode:
authorAdam S <asa188@sfu.ca>2015-09-25 17:55:21 -0700
committerAdam S <asa188@sfu.ca>2015-09-25 17:55:21 -0700
commitce6e8679b68f984415adc90d74083fd787234709 (patch)
tree56fd33d1e930ea94bb2f2f8a01dbd4a1a31ad4bc /spec/unit
parent4d1bca3359519e6303d9b3543c56426606c8eba3 (diff)
Add package_provider fact
This adds a package_provider fact for situations where we need to be able to know the client's package provider in a simple way. Situations such as: package { 'name': install_options => [] } As those tend to be package provider specific options.
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/facter/package_provider_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/unit/facter/package_provider_spec.rb b/spec/unit/facter/package_provider_spec.rb
new file mode 100644
index 0000000..d1aee94
--- /dev/null
+++ b/spec/unit/facter/package_provider_spec.rb
@@ -0,0 +1,37 @@
+#! /usr/bin/env ruby -S rspec
+require 'spec_helper'
+require 'puppet/type'
+require 'puppet/type/package'
+
+describe 'package_provider', :type => :fact do
+ before { Facter.clear }
+ after { Facter.clear }
+
+ 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