diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-12-21 18:55:32 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-12-22 09:44:04 -0800 |
commit | d1d43a53bfec01746208296f16a9c35056e522a1 (patch) | |
tree | 8a124bc72cd7142b3ebe0162f21fdeb6d1a6f1b7 /spec/unit/provider/route_spec.rb | |
parent | 857ce79d05fe5c35bb85ad4ca583c023a523a71a (diff) | |
download | chef-d1d43a53bfec01746208296f16a9c35056e522a1.tar.gz |
cleanup of ifconfig and route providerslcg/route-ifconfig
* run_command elimination
* shell_out array usage
* other misc cleanup
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'spec/unit/provider/route_spec.rb')
-rw-r--r-- | spec/unit/provider/route_spec.rb | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/spec/unit/provider/route_spec.rb b/spec/unit/provider/route_spec.rb index 2e3f6e4e9e..7058d76590 100644 --- a/spec/unit/provider/route_spec.rb +++ b/spec/unit/provider/route_spec.rb @@ -51,7 +51,7 @@ describe Chef::Provider::Route do context "on linux" do before do @node.automatic_attrs[:os] = "linux" - routing_table = "Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT\n" + + routing_table = "Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT\n" \ "eth0 0064A8C0 0984A8C0 0003 0 0 0 00FFFFFF 0 0 0\n" route_file = StringIO.new(routing_table) allow(File).to receive(:open).with("/proc/net/route", "r").and_return(route_file) @@ -91,16 +91,16 @@ describe Chef::Provider::Route do describe Chef::Provider::Route, "action_add" do it "should add the route if it does not exist" do - allow(@provider).to receive(:run_command).and_return(true) + allow(@provider).to receive(:shell_out!) allow(@current_resource).to receive(:gateway).and_return(nil) - expect(@provider).to receive(:generate_command).once.with(:add) + expect(@provider).to receive(:generate_command).with(:add).and_return(["command"]) expect(@provider).to receive(:generate_config) @provider.run_action(:add) expect(@new_resource).to be_updated end it "should not add the route if it exists" do - allow(@provider).to receive(:run_command).and_return(true) + allow(@provider).to receive(:shell_out!) allow(@provider).to receive(:is_running).and_return(true) expect(@provider).not_to receive(:generate_command).with(:add) expect(@provider).to receive(:generate_config) @@ -115,7 +115,7 @@ describe Chef::Provider::Route do expect(File).to receive(:new).and_return(route_file) @resource_add = Chef::Resource::Route.new("192.168.1.0/24 via 192.168.0.1") @run_context.resource_collection << @resource_add - allow(@provider).to receive(:run_command).and_return(true) + allow(@provider).to receive(:shell_out!).and_return(true) @resource_add.action(:add) @provider.run_action(:add) @@ -126,8 +126,8 @@ describe Chef::Provider::Route do describe Chef::Provider::Route, "action_delete" do it "should delete the route if it exists" do - allow(@provider).to receive(:run_command).and_return(true) - expect(@provider).to receive(:generate_command).once.with(:delete) + allow(@provider).to receive(:shell_out!).and_return(true) + expect(@provider).to receive(:generate_command).with(:delete).and_return(["command"]) allow(@provider).to receive(:is_running).and_return(true) @provider.run_action(:delete) expect(@new_resource).to be_updated @@ -135,7 +135,7 @@ describe Chef::Provider::Route do it "should not delete the route if it does not exist" do allow(@current_resource).to receive(:gateway).and_return(nil) - allow(@provider).to receive(:run_command).and_return(true) + allow(@provider).to receive(:shell_out!).and_return(true) expect(@provider).not_to receive(:generate_command).with(:add) @provider.run_action(:delete) expect(@new_resource).not_to be_updated @@ -145,61 +145,61 @@ describe Chef::Provider::Route do describe Chef::Provider::Route, "generate_command for action_add" do it "should include a netmask when a one is specified" do allow(@new_resource).to receive(:netmask).and_return("255.255.0.0") - expect(@provider.generate_command(:add)).to match(/\/\d{1,2}\s/) + expect(@provider.generate_command(:add).join(" ")).to match(/\/\d{1,2}/) end it "should not include a netmask when a one is specified" do allow(@new_resource).to receive(:netmask).and_return(nil) - expect(@provider.generate_command(:add)).not_to match(/\/\d{1,2}\s/) + expect(@provider.generate_command(:add).join(" ")).not_to match(/\/\d{1,2}/) end it "should include ' via $gateway ' when a gateway is specified" do - expect(@provider.generate_command(:add)).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\s/) + expect(@provider.generate_command(:add).join(" ")).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}/) end it "should not include ' via $gateway ' when a gateway is not specified" do allow(@new_resource).to receive(:gateway).and_return(nil) - expect(@provider.generate_command(:add)).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\s/) + expect(@provider.generate_command(:add).join(" ")).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}/) end end describe Chef::Provider::Route, "generate_command for action_delete" do it "should include a netmask when a one is specified" do allow(@new_resource).to receive(:netmask).and_return("255.255.0.0") - expect(@provider.generate_command(:delete)).to match(/\/\d{1,2}\s/) + expect(@provider.generate_command(:delete).join(" ")).to match(/\/\d{1,2}/) end it "should not include a netmask when a one is specified" do allow(@new_resource).to receive(:netmask).and_return(nil) - expect(@provider.generate_command(:delete)).not_to match(/\/\d{1,2}\s/) + expect(@provider.generate_command(:delete).join(" ")).not_to match(/\/\d{1,2}/) end it "should include ' via $gateway ' when a gateway is specified" do - expect(@provider.generate_command(:delete)).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\s/) + expect(@provider.generate_command(:delete).join(" ")).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}/) end it "should not include ' via $gateway ' when a gateway is not specified" do allow(@new_resource).to receive(:gateway).and_return(nil) - expect(@provider.generate_command(:delete)).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\s/) + expect(@provider.generate_command(:delete).join(" ")).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}/) end end describe Chef::Provider::Route, "config_file_contents for action_add" do it "should include a netmask when a one is specified" do allow(@new_resource).to receive(:netmask).and_return("255.255.0.0") - expect(@provider.config_file_contents(:add, { :target => @new_resource.target, :netmask => @new_resource.netmask })).to match(/\/\d{1,2}.*\n$/) + expect(@provider.config_file_contents(:add, target: @new_resource.target, netmask: @new_resource.netmask)).to match(/\/\d{1,2}.*\n$/) end it "should not include a netmask when a one is specified" do - expect(@provider.config_file_contents(:add, { :target => @new_resource.target })).not_to match(/\/\d{1,2}.*\n$/) + expect(@provider.config_file_contents(:add, target: @new_resource.target)).not_to match(/\/\d{1,2}.*\n$/) end it "should include ' via $gateway ' when a gateway is specified" do - expect(@provider.config_file_contents(:add, { :target => @new_resource.target, :gateway => @new_resource.gateway })).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\n/) + expect(@provider.config_file_contents(:add, target: @new_resource.target, gateway: @new_resource.gateway)).to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\n/) end it "should not include ' via $gateway ' when a gateway is not specified" do - expect(@provider.generate_command(:add)).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\n/) + expect(@provider.generate_command(:add).join(" ")).not_to match(/\svia\s#{Regexp.escape(@new_resource.gateway.to_s)}\n/) end end @@ -216,7 +216,7 @@ describe Chef::Provider::Route do route_file = StringIO.new expect(File).to receive(:new).with("/etc/sysconfig/network-scripts/route-eth0", "w").and_return(route_file) - #Chef::Log.should_receive(:debug).with("route[10.0.0.10] writing route.eth0\n10.0.0.10 via 10.0.0.9\n") + # Chef::Log.should_receive(:debug).with("route[10.0.0.10] writing route.eth0\n10.0.0.10 via 10.0.0.9\n") @run_context.resource_collection << @new_resource @provider.generate_config end |