module-puppetlabs-apt/spec/classes/params_spec.rb
Spencer Owen 64b8eb1e4a Adds check to params.pp if lab-release is not installed
Adds spec test

If lab-release is not installed, then the end user sees a confusing/ vague message
Error: Unsupported lsbdistid () at /modules/apt/manifests/params.pp:52
It is common for docker containers to not include this package by default

After fix, the user sees a friendlier message if lab-release is not installed
Error: Unable to determine lsbdistid, is lsb-release installed? at /modules/apt/manifests/params.pp:52
2014-07-10 11:48:54 -06:00

39 lines
1 KiB
Ruby

require 'spec_helper'
describe 'apt::params', :type => :class do
let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian' } }
let (:title) { 'my_package' }
it { should contain_apt__params }
# There are 4 resources in this class currently
# there should not be any more resources because it is a params class
# The resources are class[apt::params], class[main], class[settings], stage[main]
it "Should not contain any resources" do
subject.resources.size.should == 4
end
describe "With unknown lsbdistid" do
let(:facts) { { :lsbdistid => 'CentOS' } }
let (:title) { 'my_package' }
it do
expect {
should compile
}.to raise_error(Puppet::Error, /Unsupported lsbdistid/)
end
end
describe "With lsb-release not installed" do
let(:facts) { { :lsbdistid => '' } }
let (:title) { 'my_package' }
it do
expect {
should compile
}.to raise_error(Puppet::Error, /Unable to determine lsbdistid, is lsb-release installed/)
end
end
end