]> review.fuel-infra Code Review - puppet-modules/puppetlabs-firewall.git/commitdiff
add additional iptables provider unit tests
authorJonathan Boyett <jonathan@failingservers.com>
Mon, 20 Jun 2011 20:06:06 +0000 (13:06 -0700)
committerJonathan Boyett <jonathan@failingservers.com>
Mon, 20 Jun 2011 20:06:06 +0000 (13:06 -0700)
spec/provider/iptables_prov_spec.rb

index dc17727f9415bd0019175ea563d5f91f09b4bfbc..835aa919750e4d8d20c9f3b3f9845c41ccd147bf 100644 (file)
@@ -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