From 6fd81d177e69c1c86f27be7fe5149a1e99dc56f2 Mon Sep 17 00:00:00 2001 From: Jonathan Boyett Date: Mon, 20 Jun 2011 13:06:06 -0700 Subject: [PATCH] add additional iptables provider unit tests --- spec/provider/iptables_prov_spec.rb | 35 ++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/spec/provider/iptables_prov_spec.rb b/spec/provider/iptables_prov_spec.rb index dc17727..835aa91 100644 --- a/spec/provider/iptables_prov_spec.rb +++ b/spec/provider/iptables_prov_spec.rb @@ -3,17 +3,40 @@ require 'spec_helper' describe 'iptables provider' do before :each do @provider = Puppet::Type.type(:firewall).provider(:iptables) - @resource = @provider.new(Puppet::Type::Firewall.new({ - :name => '000-test-foo', - :chain => 'INPUT', - :jump => 'ACCEPT' - })) end - it "should be able to get a list of existing rules" do + it 'should be able to get a list of existing rules' do @provider.instances.each do |rule| rule.should be_instance_of(@provider) rule.properties[:provider].to_s.should == @provider.name.to_s end end + + describe 'when converting rules to resources' do + before :each do + @resource = @provider.rule_to_hash('-A INPUT -p tcp -m multiport --dports 7061,7062 -m comment --comment "000 allow foo" -j ACCEPT', 'filter', 0) + end + + [:name, :table, :chain, :proto, :jump].each do |param| + it "#{param} should be a string" do + @resource[param].class.should == String + end + end + + [:dport, :sport, :source, :destination].each do |param| + it "#{param} should be an array" do + @resource[param].class.should == Array + end + end + end + + describe 'when modifying resources' do + before :each do + @resource = @provider.new(Puppet::Type::Firewall.new({ + :name => '000-test-foo', + :chain => 'INPUT', + :jump => 'ACCEPT' + })) + end + end end -- 2.45.2