Fixup util/ssh unit tests

This commit properly mocks out the ChildProcess library for testing the
`util/ssh` class when subprocess is enabled.
This commit is contained in:
Brian Cain 2017-06-20 16:43:11 -07:00
parent c5b3751a83
commit d66122f84d
1 changed files with 11 additions and 1 deletions

View File

@ -171,7 +171,17 @@ describe Vagrant::Util::SSH do
}}
it "executes SSH in a subprocess with options and returns an exit code Fixnum" do
expect(described_class.exec(ssh_info, {subprocess: true})).to be_an(Fixnum)
# mock out ChildProcess
process = double()
allow(ChildProcess).to receive(:build).and_return(process)
allow(process).to receive(:io).and_return(true)
allow(process.io).to receive(:inherit!).and_return(true)
allow(process).to receive(:start).and_return(true)
allow(process).to receive(:wait).and_return(true)
allow(process).to receive(:exit_code).and_return(0)
expect(described_class.exec(ssh_info, {subprocess: true})).to eq(0)
end
end
end