test/vagrant/commands/up_test.rb in vagrant-0.3.4 vs test/vagrant/commands/up_test.rb in vagrant-0.4.0
- old
+ new
@@ -4,38 +4,44 @@
setup do
@klass = Vagrant::Commands::Up
@env = mock_environment
@instance = @klass.new(@env)
-
- @persisted_vm = mock("persisted_vm")
- @persisted_vm.stubs(:execute!)
end
context "executing" do
+ should "call all or single for the method" do
+ @instance.expects(:all_or_single).with([], :up)
+ @instance.execute
+ end
+ end
+
+ context "upping a single VM" do
setup do
- @new_vm = mock("vm")
- @new_vm.stubs(:execute!)
+ @vm = mock("vm")
+ @vm.stubs(:env).returns(@env)
- @env.stubs(:vm).returns(nil)
- @env.stubs(:require_box)
- @env.stubs(:create_vm).returns(@new_vm)
+ @vms = {:foo => @vm}
+ @env.stubs(:vms).returns(@vms)
end
- should "require a box" do
- @env.expects(:require_box).once
- @instance.execute
+ should "error and exit if the VM doesn't exist" do
+ @env.stubs(:vms).returns({})
+ @instance.expects(:error_and_exit).with(:unknown_vm, :vm => :foo).once
+ @instance.up_single(:foo)
end
- should "call the up action on VM if it doesn't exist" do
- @new_vm.expects(:execute!).with(Vagrant::Actions::VM::Up).once
- @instance.execute
+ should "start created VMs" do
+ @vm.stubs(:created?).returns(true)
+ @vm.expects(:start).once
+ @instance.up_single(:foo)
end
- should "call start on the persisted vm if it exists" do
- @env.stubs(:vm).returns(@persisted_vm)
- @persisted_vm.expects(:start).once
- @env.expects(:create_vm).never
- @instance.execute
+ should "up non-created VMs" do
+ @vm.stubs(:created?).returns(false)
+ @vm.env.expects(:require_box).once
+ @vm.expects(:up).once
+ @vm.expects(:start).never
+ @instance.up_single(:foo)
end
end
end