From 9a0a642fdcb32306a7e4cd0d7895b1ff116c665e Mon Sep 17 00:00:00 2001 From: Patrick Schaumburg Date: Mon, 30 Mar 2020 16:18:39 +0200 Subject: add some more tests Signed-off-by: Patrick Schaumburg --- lib/chef/resource/windows_firewall_rule.rb | 1 - spec/unit/resource/windows_firewall_rule_spec.rb | 30 ++++++++++++++++++------ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/lib/chef/resource/windows_firewall_rule.rb b/lib/chef/resource/windows_firewall_rule.rb index dcdec77395..fcc373c7cb 100644 --- a/lib/chef/resource/windows_firewall_rule.rb +++ b/lib/chef/resource/windows_firewall_rule.rb @@ -251,7 +251,6 @@ class Chef elsif icmp_type.is_a?(String) return false if !protocol.start_with?("ICMP") && icmp_type !~ /^\D+$/ - return false if icmp_type.count("a-zA-Z") > 0 && icmp_type.count(":") > 1 if protocol.start_with?("ICMP") && icmp_type.include?(":") diff --git a/spec/unit/resource/windows_firewall_rule_spec.rb b/spec/unit/resource/windows_firewall_rule_spec.rb index 64a2933aad..3907a8a699 100644 --- a/spec/unit/resource/windows_firewall_rule_spec.rb +++ b/spec/unit/resource/windows_firewall_rule_spec.rb @@ -505,6 +505,10 @@ describe Chef::Resource::WindowsFirewallRule do describe "#is_set_properly?" do context "#TCP" do + it "icmp_type is nil" do + expect(provider.is_set_properly?(nil, "TCP")).to eql(false) + end + it "icmp_type is empty" do expect(provider.is_set_properly?("", "TCP")).to eql(false) end @@ -521,6 +525,14 @@ describe Chef::Resource::WindowsFirewallRule do expect(provider.is_set_properly?(123, "TCP")).to eql(false) end + it "icmp_type is 345 as String" do + expect(provider.is_set_properly?("345", "TCP")).to eql(false) + end + + it "icmp_type is 345 as Integer" do + expect(provider.is_set_properly?(345, "TCP")).to eql(false) + end + it "icmp_type is '1:3' as code pair" do expect(provider.is_set_properly?("1:3", "TCP")).to eql(false) end @@ -528,13 +540,13 @@ describe Chef::Resource::WindowsFirewallRule do it "icmp_type is '123:456' as code pair out of range" do expect(provider.is_set_properly?("123:456", "TCP")).to eql(false) end + end + context "#ICMPv6" do it "icmp_type is nil" do - expect(provider.is_set_properly?(nil, "TCP")).to eql(false) + expect(provider.is_set_properly?(nil, "ICMPv6")).to eql(false) end - end - context "#ICMPv6" do it "icmp_type is empty" do expect(provider.is_set_properly?("", "ICMPv6")).to eql(false) end @@ -551,6 +563,14 @@ describe Chef::Resource::WindowsFirewallRule do expect(provider.is_set_properly?(123, "ICMPv6")).to eql(true) end + it "icmp_type is 345 as String" do + expect(provider.is_set_properly?("345", "ICMPv6")).to eql(false) + end + + it "icmp_type is 345 as Integer" do + expect(provider.is_set_properly?(345, "ICMPv6")).to eql(false) + end + it "icmp_type is '1:3' as code pair" do expect(provider.is_set_properly?("1:3", "ICMPv6")).to eql(true) end @@ -558,10 +578,6 @@ describe Chef::Resource::WindowsFirewallRule do it "icmp_type is '123:456' as code pair out of range" do expect(provider.is_set_properly?("123:456", "ICMPv6")).to eql(false) end - - it "icmp_type is nil" do - expect(provider.is_set_properly?(nil, "ICMPv6")).to eql(false) - end end end end -- cgit v1.2.1