group :development, :test do
gem 'puppetlabs_spec_helper', :require => false
- gem 'rspec-system-puppet', '~>1.0.0'
+ gem 'rspec-system-puppet', '~>1.1', '>=1.1.0'
end
if puppetversion = ENV['PUPPET_GEM_VERSION']
describe "param based tests:" do
def pp(params)
+ name = params.delete('name') || '100 test'
pm = <<-EOS
-firewall { '100 test':
+firewall { '#{name}':
EOS
params.each do |k,v|
pm
end
- it 'test socket param' do
+ it 'test various params' do
facts = system_node.facts
unless (facts['operatingsystem'] == 'CentOS') && \
iptables_flush_all_tables
- param = {
+ ppm = pp({
'table' => "'raw'",
'socket' => 'true',
'chain' => "'PREROUTING'",
- }
- ppm = pp(param)
+ 'jump' => 'LOG',
+ 'log_level' => 'debug',
+ })
puppet_apply(ppm) do |r|
r[:stderr].should == ''
r[:exit_code].should == 2
end
end
+ it 'test log rule' do
+ iptables_flush_all_tables
+
+ ppm = pp({
+ 'name' => '998 log all',
+ 'proto' => 'all',
+ 'jump' => 'LOG',
+ 'log_level' => 'debug',
+ })
+ puppet_apply(ppm) do |r|
+ r.stderr.should == ''
+ r.exit_code.should == 2
+ end
+
+ # check idempotency
+ puppet_apply(ppm) do |r|
+ r.stderr.should == ''
+ r.exit_code.should == 0
+ end
+ end
+
end