From 58dee03fa3f18874ede35cf043e16212c22faa38 Mon Sep 17 00:00:00 2001
From: David Schmitt <david.schmitt@puppetlabs.com>
Date: Thu, 14 Apr 2016 10:58:21 +0100
Subject: [PATCH] (maint) fix specs to run under STRICT_VARIABLES

---
 spec/spec_helper_local.rb                     | 11 +++++++++
 .../classes/firewall_linux_redhat_spec.rb     | 15 +++++++-----
 spec/unit/classes/firewall_linux_spec.rb      | 23 ++++++++++++++-----
 spec/unit/classes/firewall_spec.rb            |  4 ++--
 4 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/spec/spec_helper_local.rb b/spec/spec_helper_local.rb
index e35501c..6af3d0b 100644
--- a/spec/spec_helper_local.rb
+++ b/spec/spec_helper_local.rb
@@ -1,3 +1,14 @@
 RSpec.configure do |config|
   config.mock_with :rspec
 end
+
+def with_debian_facts
+  let :facts do
+    {
+      :kernel          => 'Linux',
+      :operatingsystem => 'Debian',
+      :operatingsystemrelease => '8.0',
+      :osfamily        => 'Debian',
+    }
+  end
+end
diff --git a/spec/unit/classes/firewall_linux_redhat_spec.rb b/spec/unit/classes/firewall_linux_redhat_spec.rb
index 036488a..41b6828 100644
--- a/spec/unit/classes/firewall_linux_redhat_spec.rb
+++ b/spec/unit/classes/firewall_linux_redhat_spec.rb
@@ -7,13 +7,14 @@ RSpec.shared_examples "ensures iptables service" do
       :enable => 'true'
     )}
   end
-      
+
   context 'ensure => stopped' do
     let(:params) {{ :ensure => 'stopped' }}
     it { should contain_service('iptables').with(
       :ensure => 'stopped'
     )}
   end
+
   context 'enable => false' do
     let(:params) {{ :enable => 'false' }}
     it { should contain_service('iptables').with(
@@ -30,14 +31,15 @@ describe 'firewall::linux::redhat', :type => :class do
     oldreleases.each do |osrel|
       context "os #{os} and osrel #{osrel}" do
         let(:facts) {{
-          :osfamily               => 'RedHat',
           :operatingsystem        => os,
-          :operatingsystemrelease => osrel
+          :operatingsystemrelease => osrel,
+          :osfamily               => 'RedHat',
+          :selinux                => false,
         }}
 
         it { should_not contain_service('firewalld') }
         it { should_not contain_package('iptables-services') }
-        
+
         it_behaves_like "ensures iptables service"
       end
     end
@@ -45,9 +47,10 @@ describe 'firewall::linux::redhat', :type => :class do
     newreleases.each do |osrel|
       context "os #{os} and osrel #{osrel}" do
         let(:facts) {{
-          :osfamily               => 'RedHat',
           :operatingsystem        => os,
-          :operatingsystemrelease => osrel
+          :operatingsystemrelease => osrel,
+          :osfamily               => 'RedHat',
+          :selinux                => false,
         }}
 
         it { should contain_service('firewalld').with(
diff --git a/spec/unit/classes/firewall_linux_spec.rb b/spec/unit/classes/firewall_linux_spec.rb
index 52ca5f8..2673c83 100644
--- a/spec/unit/classes/firewall_linux_spec.rb
+++ b/spec/unit/classes/firewall_linux_spec.rb
@@ -1,18 +1,21 @@
 require 'spec_helper'
 
 describe 'firewall::linux', :type => :class do
-  let(:facts_default) {{ :kernel => 'Linux' }}
-  it { should contain_package('iptables').with_ensure('present') }
-
   context 'RedHat like' do
     %w{RedHat CentOS Fedora}.each do |os|
       context "operatingsystem => #{os}" do
         releases = (os == 'Fedora' ? ['14','15','Rawhide'] : ['6','7'])
         releases.each do |osrel|
           context "operatingsystemrelease => #{osrel}" do
-            let(:facts) { facts_default.merge({ :operatingsystem => os,
-                                                :operatingsystemrelease => osrel}) }
+            let(:facts) {{
+              :kernel                 => 'Linux',
+              :operatingsystem        => os,
+              :operatingsystemrelease => osrel,
+              :osfamily               => 'RedHat',
+              :selinux                => false,
+            }}
             it { should contain_class('firewall::linux::redhat').with_require('Package[iptables]') }
+            it { should contain_package('iptables').with_ensure('present') }
           end
         end
       end
@@ -24,8 +27,16 @@ describe 'firewall::linux', :type => :class do
       context "operatingsystem => #{os}" do
         releases = (os == 'Debian' ? ['6','7','8'] : ['10.04','12.04','14.04'])
         releases.each do |osrel|
-          let(:facts) { facts_default.merge({ :operatingsystem => os, :operatingsystemrelease => osrel}) }
+          let(:facts) {{
+            :kernel                 => 'Linux',
+            :operatingsystem        => os,
+            :operatingsystemrelease => osrel,
+            :osfamily               => 'Debian',
+            :selinux                => false,
+          }}
+
           it { should contain_class('firewall::linux::debian').with_require('Package[iptables]') }
+          it { should contain_package('iptables').with_ensure('present') }
         end
       end
     end
diff --git a/spec/unit/classes/firewall_spec.rb b/spec/unit/classes/firewall_spec.rb
index cbfb48c..7c9f714 100644
--- a/spec/unit/classes/firewall_spec.rb
+++ b/spec/unit/classes/firewall_spec.rb
@@ -2,7 +2,7 @@ require 'spec_helper'
 
 describe 'firewall', :type => :class do
   context 'kernel => Linux' do
-    let(:facts) {{ :kernel => 'Linux' }}
+    with_debian_facts
     it { should contain_class('firewall::linux').with_ensure('running') }
   end
 
@@ -22,7 +22,7 @@ describe 'firewall', :type => :class do
   end
 
   context 'ensure => stopped' do
-    let(:facts) {{ :kernel => 'Linux' }}
+    with_debian_facts
     let(:params) {{ :ensure => 'stopped' }}
     it { should contain_class('firewall::linux').with_ensure('stopped') }
   end
-- 
2.45.2