From b37048cbddc574b8a776fcc809dac5219c0ca6ff Mon Sep 17 00:00:00 2001 From: Morgan Haskel Date: Thu, 29 May 2014 15:42:48 -0400 Subject: [PATCH] Fixes for UNSUPPORTED_PLATFORMS and tests. Tests didn't have checks to only run on supported platforms. There was no test for unsupported platforms. Added UNSUPPORTED_PLATFORMS to spec_helper_acceptance. --- spec/acceptance/change_source_spec.rb | 2 +- spec/acceptance/class_spec.rb | 2 +- spec/acceptance/connlimit_spec.rb | 2 +- spec/acceptance/connmark_spec.rb | 2 +- spec/acceptance/firewall_spec.rb | 2 +- spec/acceptance/firewallchain_spec.rb | 2 +- spec/acceptance/ip6_fragment_spec.rb | 4 ++-- spec/acceptance/isfragment_spec.rb | 2 +- spec/acceptance/params_spec.rb | 2 +- spec/acceptance/purge_spec.rb | 2 +- spec/acceptance/resource_cmd_spec.rb | 2 +- spec/acceptance/rules_spec.rb | 2 +- spec/acceptance/socket_spec.rb | 2 +- spec/acceptance/standard_usage_spec.rb | 2 +- spec/acceptance/unsupported_spec.rb | 10 ++++++++++ spec/spec_helper_acceptance.rb | 2 ++ 16 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 spec/acceptance/unsupported_spec.rb diff --git a/spec/acceptance/change_source_spec.rb b/spec/acceptance/change_source_spec.rb index cdb4eab..f591108 100644 --- a/spec/acceptance/change_source_spec.rb +++ b/spec/acceptance/change_source_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'firewall type' do +describe 'firewall type', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do describe 'reset' do it 'deletes all rules' do shell('iptables --flush; iptables -t nat --flush; iptables -t mangle --flush') diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index aaf05a1..4a9751a 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe "firewall class:" do +describe "firewall class:", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do it 'should run successfully' do pp = "class { 'firewall': }" diff --git a/spec/acceptance/connlimit_spec.rb b/spec/acceptance/connlimit_spec.rb index ce6cab4..bb049a9 100644 --- a/spec/acceptance/connlimit_spec.rb +++ b/spec/acceptance/connlimit_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'firewall type' do +describe 'firewall type', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do describe 'connlimit_above' do context '10' do diff --git a/spec/acceptance/connmark_spec.rb b/spec/acceptance/connmark_spec.rb index 959efbd..b3409ab 100644 --- a/spec/acceptance/connmark_spec.rb +++ b/spec/acceptance/connmark_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'firewall type' do +describe 'firewall type', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do describe 'connmark' do context '50' do diff --git a/spec/acceptance/firewall_spec.rb b/spec/acceptance/firewall_spec.rb index 5353e10..b8a57ce 100644 --- a/spec/acceptance/firewall_spec.rb +++ b/spec/acceptance/firewall_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'firewall type' do +describe 'firewall type', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do describe 'reset' do it 'deletes all rules' do diff --git a/spec/acceptance/firewallchain_spec.rb b/spec/acceptance/firewallchain_spec.rb index 757336a..f70d9ce 100644 --- a/spec/acceptance/firewallchain_spec.rb +++ b/spec/acceptance/firewallchain_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'puppet resource firewallchain command:' do +describe 'puppet resource firewallchain command:', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do before :all do iptables_flush_all_tables end diff --git a/spec/acceptance/ip6_fragment_spec.rb b/spec/acceptance/ip6_fragment_spec.rb index bfce0e6..3e44f87 100644 --- a/spec/acceptance/ip6_fragment_spec.rb +++ b/spec/acceptance/ip6_fragment_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper_acceptance' if default['platform'] =~ /el-5/ - describe "firewall ip6tables doesn't work on 1.3.5 because --comment is missing" do + describe "firewall ip6tables doesn't work on 1.3.5 because --comment is missing", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do before :all do ip6tables_flush_all_tables end @@ -19,7 +19,7 @@ if default['platform'] =~ /el-5/ end end else - describe 'firewall ishasmorefrags/islastfrag/isfirstfrag properties' do + describe 'firewall ishasmorefrags/islastfrag/isfirstfrag properties', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do before :all do ip6tables_flush_all_tables end diff --git a/spec/acceptance/isfragment_spec.rb b/spec/acceptance/isfragment_spec.rb index 7fdedc2..a4b65e7 100644 --- a/spec/acceptance/isfragment_spec.rb +++ b/spec/acceptance/isfragment_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'firewall isfragment property' do +describe 'firewall isfragment property', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do before :all do iptables_flush_all_tables end diff --git a/spec/acceptance/params_spec.rb b/spec/acceptance/params_spec.rb index c0f93ad..93b83ef 100644 --- a/spec/acceptance/params_spec.rb +++ b/spec/acceptance/params_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe "param based tests:" do +describe "param based tests:", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do # Takes a hash and converts it into a firewall resource def pp(params) name = params.delete('name') || '100 test' diff --git a/spec/acceptance/purge_spec.rb b/spec/acceptance/purge_spec.rb index f62b14f..4de968a 100644 --- a/spec/acceptance/purge_spec.rb +++ b/spec/acceptance/purge_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe "purge tests:" do +describe "purge tests:", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do context('resources purge') do before(:all) do iptables_flush_all_tables diff --git a/spec/acceptance/resource_cmd_spec.rb b/spec/acceptance/resource_cmd_spec.rb index c9a852d..f964df7 100644 --- a/spec/acceptance/resource_cmd_spec.rb +++ b/spec/acceptance/resource_cmd_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper_acceptance' # Here we want to test the the resource commands ability to work with different # existing ruleset scenarios. This will give the parsing capabilities of the # code a good work out. -describe 'puppet resource firewall command:' do +describe 'puppet resource firewall command:', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do context 'make sure it returns no errors when executed on a clean machine' do it do shell('puppet resource firewall') do |r| diff --git a/spec/acceptance/rules_spec.rb b/spec/acceptance/rules_spec.rb index b0e66ae..b7eb2df 100644 --- a/spec/acceptance/rules_spec.rb +++ b/spec/acceptance/rules_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'complex ruleset 1' do +describe 'complex ruleset 1', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do before :all do iptables_flush_all_tables end diff --git a/spec/acceptance/socket_spec.rb b/spec/acceptance/socket_spec.rb index c4a0534..5503a9a 100644 --- a/spec/acceptance/socket_spec.rb +++ b/spec/acceptance/socket_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper_acceptance' # RHEL5 does not support -m socket -describe 'firewall socket property', :unless => (default['platform'] =~ /el-5/ || fact('operatingsystem') == 'SLES') do +describe 'firewall socket property', :unless => (UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) || default['platform'] =~ /el-5/ || fact('operatingsystem') == 'SLES') do before :all do iptables_flush_all_tables end diff --git a/spec/acceptance/standard_usage_spec.rb b/spec/acceptance/standard_usage_spec.rb index f29278b..8dcbcef 100644 --- a/spec/acceptance/standard_usage_spec.rb +++ b/spec/acceptance/standard_usage_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper_acceptance' # Some tests for the standard recommended usage -describe 'standard usage tests:' do +describe 'standard usage tests:', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do it 'applies twice' do pp = <<-EOS class my_fw::pre { diff --git a/spec/acceptance/unsupported_spec.rb b/spec/acceptance/unsupported_spec.rb new file mode 100644 index 0000000..dfb75e2 --- /dev/null +++ b/spec/acceptance/unsupported_spec.rb @@ -0,0 +1,10 @@ +require 'spec_helper_acceptance' + +describe 'unsupported distributions and OSes', :if => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do + it 'should fail' do + pp = <<-EOS + class { 'firewall': } + EOS + expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/not currently supported/i) + end +end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 13d056f..4f0fc94 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -23,6 +23,8 @@ unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no' end end +UNSUPPORTED_PLATFORMS = ['windows','Solaris','Darwin'] + RSpec.configure do |c| # Project root proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..')) -- 2.45.2