From 5b5f923df60e4fb89bdd292ba6c1d54b3905fa45 Mon Sep 17 00:00:00 2001 From: Morgan Haskel Date: Sat, 18 Oct 2014 17:08:41 -0700 Subject: [PATCH] Fix for future parser I'm not entirely sure why this was having issues with the future parser, but there was something funny with the pp function. --- spec/acceptance/params_spec.rb | 161 ++++++++++++++++----------------- 1 file changed, 77 insertions(+), 84 deletions(-) diff --git a/spec/acceptance/params_spec.rb b/spec/acceptance/params_spec.rb index 93b83ef..37fe980 100644 --- a/spec/acceptance/params_spec.rb +++ b/spec/acceptance/params_spec.rb @@ -1,35 +1,18 @@ require 'spec_helper_acceptance' 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' - pm = <<-EOS -firewall { '#{name}': - EOS - - params.each do |k,v| - pm += <<-EOS - #{k} => #{v}, - EOS - end - - pm += <<-EOS -} - EOS - pm - end - it 'test various params', :unless => (default['platform'].match(/el-5/) || fact('operatingsystem') == 'SLES') do iptables_flush_all_tables - ppm = pp({ - 'table' => "'raw'", - 'socket' => 'true', - 'chain' => "'PREROUTING'", - 'jump' => 'LOG', - 'log_level' => 'debug', - }) + ppm = <<-EOS + firewall { '100 test': + table => 'raw', + socket => 'true', + chain => 'PREROUTING', + jump => 'LOG', + log_level => 'debug', + } + EOS expect(apply_manifest(ppm, :catch_failures => true).exit_code).to eq(2) expect(apply_manifest(ppm, :catch_failures => true).exit_code).to be_zero @@ -38,12 +21,13 @@ firewall { '#{name}': it 'test log rule' do iptables_flush_all_tables - ppm = pp({ - 'name' => '998 log all', - 'proto' => 'all', - 'jump' => 'LOG', - 'log_level' => 'debug', - }) + ppm = <<-EOS + firewall { '998 log all': + proto => 'all', + jump => 'LOG', + log_level => 'debug', + } + EOS expect(apply_manifest(ppm, :catch_failures => true).exit_code).to eq(2) expect(apply_manifest(ppm, :catch_failures => true).exit_code).to be_zero end @@ -51,25 +35,27 @@ firewall { '#{name}': it 'test log rule - changing names' do iptables_flush_all_tables - ppm1 = pp({ - 'name' => '004 log all INVALID packets', - 'chain' => 'INPUT', - 'proto' => 'all', - 'ctstate' => 'INVALID', - 'jump' => 'LOG', - 'log_level' => '3', - 'log_prefix' => '"IPTABLES dropped invalid: "', - }) - - ppm2 = pp({ - 'name' => '003 log all INVALID packets', - 'chain' => 'INPUT', - 'proto' => 'all', - 'ctstate' => 'INVALID', - 'jump' => 'LOG', - 'log_level' => '3', - 'log_prefix' => '"IPTABLES dropped invalid: "', - }) + ppm1 = <<-EOS + firewall { '004 log all INVALID packets': + chain => 'INPUT', + proto => 'all', + ctstate => 'INVALID', + jump => 'LOG', + log_level => '3', + log_prefix => 'IPTABLES dropped invalid: ', + } + EOS + + ppm2 = <<-EOS + firewall { '003 log all INVALID packets': + chain => 'INPUT', + proto => 'all', + ctstate => 'INVALID', + jump => 'LOG', + log_level => '3', + log_prefix => 'IPTABLES dropped invalid: ', + } + EOS expect(apply_manifest(ppm1, :catch_failures => true).exit_code).to eq(2) @@ -84,17 +70,19 @@ firewall { '#{name}': it 'test chain - changing names' do iptables_flush_all_tables - ppm1 = pp({ - 'name' => '004 with a chain', - 'chain' => 'INPUT', - 'proto' => 'all', - }) + ppm1 = <<-EOS + firewall { '004 with a chain': + chain => 'INPUT', + proto => 'all', + } + EOS - ppm2 = pp({ - 'name' => '004 with a chain', - 'chain' => 'OUTPUT', - 'proto' => 'all', - }) + ppm2 = <<-EOS + firewall { '004 with a chain': + chain => 'OUTPUT', + proto => 'all', + } + EOS apply_manifest(ppm1, :expect_changes => true) @@ -109,15 +97,16 @@ firewall { '#{name}': it 'test log rule - idempotent' do iptables_flush_all_tables - ppm1 = pp({ - 'name' => '004 log all INVALID packets', - 'chain' => 'INPUT', - 'proto' => 'all', - 'ctstate' => 'INVALID', - 'jump' => 'LOG', - 'log_level' => '3', - 'log_prefix' => '"IPTABLES dropped invalid: "', - }) + ppm1 = <<-EOS + firewall { '004 log all INVALID packets': + chain => 'INPUT', + proto => 'all', + ctstate => 'INVALID', + jump => 'LOG', + log_level => '3', + log_prefix => 'IPTABLES dropped invalid: ', + } + EOS expect(apply_manifest(ppm1, :catch_failures => true).exit_code).to eq(2) expect(apply_manifest(ppm1, :catch_failures => true).exit_code).to be_zero @@ -126,13 +115,15 @@ firewall { '#{name}': it 'test src_range rule' do iptables_flush_all_tables - ppm = pp({ - 'name' => '997 block src ip range', - 'chain' => 'INPUT', - 'proto' => 'all', - 'action' => 'drop', - 'src_range' => '"10.0.0.1-10.0.0.10"', - }) + ppm = <<-EOS + firewall { '997 block src ip range': + chain => 'INPUT', + proto => 'all', + action => 'drop', + src_range => '10.0.0.1-10.0.0.10', + } + EOS + expect(apply_manifest(ppm, :catch_failures => true).exit_code).to eq(2) expect(apply_manifest(ppm, :catch_failures => true).exit_code).to be_zero end @@ -140,13 +131,15 @@ firewall { '#{name}': it 'test dst_range rule' do iptables_flush_all_tables - ppm = pp({ - 'name' => '998 block dst ip range', - 'chain' => 'INPUT', - 'proto' => 'all', - 'action' => 'drop', - 'dst_range' => '"10.0.0.2-10.0.0.20"', - }) + ppm = <<-EOS + firewall { '998 block dst ip range': + chain => 'INPUT', + proto => 'all', + action => 'drop', + dst_range => '10.0.0.2-10.0.0.20', + } + EOS + expect(apply_manifest(ppm, :catch_failures => true).exit_code).to eq(2) expect(apply_manifest(ppm, :catch_failures => true).exit_code).to be_zero end -- 2.45.2