Give clearer instructions around lsb-release
[puppet-modules/puppetlabs-apt.git] / spec / classes / params_spec.rb
1 require 'spec_helper'
2 describe 'apt::params', :type => :class do
3   let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :puppetversion   => '3.5.0', } }
4   let (:title) { 'my_package' }
5
6   it { is_expected.to contain_apt__params }
7
8   # There are 4 resources in this class currently
9   # there should not be any more resources because it is a params class
10   # The resources are class[apt::params], class[main], class[settings], stage[main]
11   it "Should not contain any resources" do
12     expect(subject.call.resources.size).to eq(4)
13   end
14
15   describe "With lsb-release not installed" do
16     let(:facts) { { :osfamily => 'Debian', :puppetversion   => '3.5.0', } }
17     let (:title) { 'my_package' }
18
19     it do
20       expect {
21         subject.call
22       }.to raise_error(Puppet::Error, /Unable to determine lsbdistid, please install lsb-release first/)
23     end
24   end
25
26   describe "With old puppet version" do
27     let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :lsbdistrelease => 'foo', :lsbdistdescription => 'bar', :lsbminordistrelease => 'baz', :lsbmajdistrelease => 'foobar', :puppetversion   => '3.4.0', } }
28     let(:title) { 'my_package' }
29     it { is_expected.to contain_apt__params }
30
31     # There are 4 resources in this class currently
32     # there should not be any more resources because it is a params class
33     # The resources are class[apt::params], class[main], class[settings], stage[main]
34     it "Should not contain any resources" do
35       expect(subject.call.resources.size).to eq(4)
36     end
37   end
38
39 end