From eb0854b6fb5452e462fbd4182469ba89d4c20752 Mon Sep 17 00:00:00 2001 From: Darrell Hamilton Date: Mon, 15 Jul 2013 21:56:40 -0700 Subject: [PATCH] Test coverage for 'check for redir' Includes a minor refactor allowing variation of the result of the system call per test --- spec/unit/action/forward_ports_spec.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/spec/unit/action/forward_ports_spec.rb b/spec/unit/action/forward_ports_spec.rb index f462b94..65a0d81 100644 --- a/spec/unit/action/forward_ports_spec.rb +++ b/spec/unit/action/forward_ports_spec.rb @@ -23,20 +23,27 @@ describe Vagrant::LXC::Action::ForwardPorts do subject.stub(exec: true) subject.stub(spawn: pid) - subject.stub(system: true) - subject.call(env) end after { FileUtils.rm_rf data_dir.to_s } it 'forwards ports using redir' do + subject.stub(system: true) + subject.call(env) subject.should have_received(:spawn).with( "sudo redir --laddr=127.0.0.1 --lport=#{host_port} --cport=#{guest_port} --caddr=#{container_ip} 2>/dev/null" ) end it "stores redir pids on machine's data dir" do + subject.stub(system: true) + subject.call(env) pid_file = data_dir.join('pids', "redir_#{host_port}.pid").read pid_file.should == pid end + + it 'raises RedirNotInstalled error if `redir` is not installed' do + subject.stub(system: false) + lambda { subject.call(env) }.should raise_error(Vagrant::LXC::Errors::RedirNotInstalled) + end end