Compatibility for puppet < 3.5.0
[puppet-modules/puppetlabs-apt.git] / spec / classes / params_spec.rb
index f8ca89f2a33f9ec04e73dc459dfaa85e204ba194..e28296b2cc9e2ce1f0bb1692500ee19788d884d8 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper'
 describe 'apt::params', :type => :class do
-  let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy' } }
+  let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :puppetversion   => '3.5.0', } }
   let (:title) { 'my_package' }
 
   it { is_expected.to contain_apt__params }
@@ -9,30 +9,30 @@ describe 'apt::params', :type => :class do
   # 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
-    expect(subject.resources.size).to eq(4)
+    expect(subject.call.resources.size).to eq(4)
   end
 
-  describe "With unknown lsbdistid" do
-
-    let(:facts) { { :lsbdistid => 'CentOS', :osfamily => 'Debian' } }
+  describe "With lsb-release not installed" do
+    let(:facts) { { :osfamily => 'Debian', :puppetversion   => '3.5.0', } }
     let (:title) { 'my_package' }
 
     it do
       expect {
-       is_expected.to compile
-      }.to raise_error(Puppet::Error, /Unsupported lsbdistid/)
+        subject.call
+      }.to raise_error(Puppet::Error, /Unable to determine lsbdistid, is lsb-release installed/)
     end
-
   end
 
-  describe "With lsb-release not installed" do
-    let(:facts) { { :lsbdistid => '', :osfamily => 'Debian' } }
-    let (:title) { 'my_package' }
+  describe "With old puppet version" do
+    let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :lsbdistrelease => 'foo', :lsbdistdescription => 'bar', :lsbminordistrelease => 'baz', :lsbmajdistrelease => 'foobar', :puppetversion   => '3.4.0', } }
+    let(:title) { 'my_package' }
+    it { is_expected.to contain_apt__params }
 
-    it do
-      expect {
-        is_expected.to compile
-      }.to raise_error(Puppet::Error, /Unable to determine lsbdistid, is lsb-release installed/)
+    # 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
+      expect(subject.call.resources.size).to eq(4)
     end
   end