This conversion is done by Transpec 1.10.2 with the following command:
transpec test/unit/
* 507 conversions
from: obj.should
to: expect(obj).to
* 394 conversions
from: == expected
to: eq(expected)
* 260 conversions
from: obj.should_receive(:message)
to: expect(obj).to receive(:message)
* 85 conversions
from: obj.stub(:message)
to: allow(obj).to receive(:message)
* 25 conversions
from: its(:attr) { }
to: describe '#attr' do subject { super().attr }; it { } end
* 19 conversions
from: obj.should_not
to: expect(obj).not_to
* 7 conversions
from: obj.should_not_receive(:message)
to: expect(obj).not_to receive(:message)
* 3 conversions
from: Klass.any_instance.should_receive(:message)
to: expect_any_instance_of(Klass).to receive(:message)
40 lines
1.5 KiB
Ruby
40 lines
1.5 KiB
Ruby
shared_context "virtualbox" do
|
|
include_context "unit"
|
|
|
|
let(:vbox_context) { true }
|
|
let(:uuid) { "1234-abcd-5678-efgh" }
|
|
let(:vbox_version) { "4.3.4" }
|
|
let(:subprocess) { double("Vagrant::Util::Subprocess") }
|
|
|
|
# this is a helper that returns a duck type suitable from a system command
|
|
# execution; allows setting exit_code, stdout, and stderr in stubs.
|
|
def subprocess_result(options={})
|
|
defaults = {exit_code: 0, stdout: "", stderr: ""}
|
|
double("subprocess_result", defaults.merge(options))
|
|
end
|
|
|
|
before do
|
|
# we don't want unit tests to ever run commands on the system; so we wire
|
|
# in a double to ensure any unexpected messages raise exceptions
|
|
stub_const("Vagrant::Util::Subprocess", subprocess)
|
|
|
|
# drivers will blow up on instantiation if they cannot determine the
|
|
# virtualbox version, so wire this stub in automatically
|
|
allow(subprocess).to receive(:execute).
|
|
with("VBoxManage", "--version", an_instance_of(Hash)).
|
|
and_return(subprocess_result(stdout: vbox_version))
|
|
|
|
# drivers also call vm_exists? during init;
|
|
allow(subprocess).to receive(:execute).
|
|
with("VBoxManage", "showvminfo", kind_of(String), kind_of(Hash)).
|
|
and_return(subprocess_result(exit_code: 0))
|
|
end
|
|
|
|
around do |example|
|
|
# On Windows, we don't want to accidentally call the actual VirtualBox
|
|
with_temp_env("VBOX_INSTALL_PATH" => nil) do
|
|
example.run
|
|
end
|
|
end
|
|
end
|