Convert to use apt::setting instead of file resources
[puppet-modules/puppetlabs-apt.git] / spec / classes / params_spec.rb
index 2d3ec3c71aa8bf0e753e2565534ff9677d9267f8..65759fad1d3e8929226a3843deeb1f868fc60ac6 100644 (file)
@@ -1,14 +1,39 @@
 require 'spec_helper'
 describe 'apt::params', :type => :class do
-  let(:facts) { { :lsbdistid => 'Debian' } }
+  let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian' } }
   let (:title) { 'my_package' }
 
-  it { should contain_apt__params }
+  it { is_expected.to 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
+    expect(subject.resources.size).to eq(4)
   end
+
+  describe "With unknown lsbdistid" do
+
+    let(:facts) { { :lsbdistid => 'CentOS', :osfamily => 'Debian' } }
+    let (:title) { 'my_package' }
+
+    it do
+      expect {
+       is_expected.to compile
+      }.to raise_error(Puppet::Error, /Unsupported lsbdistid/)
+    end
+
+  end
+
+  describe "With lsb-release not installed" do
+    let(:facts) { { :lsbdistid => '', :osfamily => 'Debian' } }
+    let (:title) { 'my_package' }
+
+    it do
+      expect {
+        is_expected.to compile
+      }.to raise_error(Puppet::Error, /Unable to determine lsbdistid, is lsb-release installed/)
+    end
+  end
+
 end