# Puppet-firewall requires that all rules have comments (resource names) and will fail if
# a rule in iptables does not have a comment. We get around this by appending a high level
if ! hash[:name]
- hash[:name] = "999#{counter} #{Digest::MD5.hexdigest(line)}"
+ num = 9000 + counter
+ hash[:name] = "#{num} #{Digest::MD5.hexdigest(line)}"
end
# Iptables defaults to log_level '4', so it is omitted from the output of iptables-save.
# Project root for the firewall code
proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
+ # Enable colour in Jenkins
+ c.tty = true
+
# Import in our local helpers
c.include ::LocalHelpers
it 'make sure duplicate existing rules get purged' do
iptables_flush_all_tables
- system_run('iptables -A INPUT -s 1.2.1.2')
- system_run('iptables -A INPUT -s 1.2.1.2')
+ system_run('/sbin/iptables -A INPUT -s 1.2.1.2')
+ system_run('/sbin/iptables -A INPUT -s 1.2.1.2')
pp = <<-EOS
+class { 'firewall': }
resources { 'firewall':
purge => true,
}
r[:exit_code].should == 2
end
- system_run('iptables-save') do |r|
+ system_run('/sbin/iptables-save') do |r|
r[:stdout].should_not =~ /1\.2\.1\.2/
r[:stderr].should == ''
end
let(:instance) { provider.new(resource) }
it 'rule name contains a MD5 sum of the line' do
- resource[:name].should == "9999 #{Digest::MD5.hexdigest(resource[:line])}"
+ resource[:name].should == "9000 #{Digest::MD5.hexdigest(resource[:line])}"
end
end