Fixed a bug with forwarded ports action

This commit is contained in:
Mitchell Hashimoto 2010-02-14 22:59:01 -08:00
parent 9438b3b01e
commit cb2f1ff402
5 changed files with 24 additions and 5 deletions

View File

@ -10,10 +10,10 @@ module Vagrant
port.name = name
port.hostport = options[:hostport]
port.guestport = options[:guestport]
@vm.forwarded_ports << port
@vm.vm.forwarded_ports << port
end
@vm.save(true)
@vm.vm.save(true)
end
end
end

View File

@ -99,7 +99,7 @@ error
end
# Export and package the current vm
#
#
# This command requires that an instance be powered off
def package(name=nil)
Env.load!

View File

@ -5,6 +5,13 @@ module Vagrant
attr_reader :actions
class << self
# Executes a specific action
def execute!(action_klass)
vm = new
vm.actions << action_klass
vm.execute!
end
# Bring up the virtual machine. Imports the base image and
# provisions it.
def up

View File

@ -18,8 +18,8 @@ class ForwardPortsActionTest < Test::Unit::TestCase
end
end
@mock_vm.expects(:forwarded_ports).returns(forwarded_ports)
@mock_vm.expects(:save).with(true).once
@vm.expects(:forwarded_ports).returns(forwarded_ports)
@vm.expects(:save).with(true).once
@action.execute!
end
end

View File

@ -87,6 +87,18 @@ class VMTest < Test::Unit::TestCase
@vm.execute!
end
should "run actions on class method execute!" do
vm = mock("vm")
actions = mock("actions")
execute_seq = sequence("execute_seq")
Vagrant::VM.expects(:new).returns(vm).in_sequence(execute_seq)
vm.expects(:actions).returns(actions).in_sequence(execute_seq)
actions.expects(:<<).with("foo").once.in_sequence(execute_seq)
vm.expects(:execute!).once.in_sequence(execute_seq)
Vagrant::VM.execute!("foo")
end
end
context "vagrant up" do