Environment.load! implemented to load a given environment in a single step
This commit is contained in:
parent
cb2513b1ec
commit
a31bd73587
|
@ -14,6 +14,22 @@ module Vagrant
|
||||||
attr_reader :box
|
attr_reader :box
|
||||||
attr_reader :vm
|
attr_reader :vm
|
||||||
|
|
||||||
|
#---------------------------------------------------------------
|
||||||
|
# Class Methods
|
||||||
|
#---------------------------------------------------------------
|
||||||
|
class <<self
|
||||||
|
# Loads and returns an environment given a specific working
|
||||||
|
# directory. If a working directory is not given, it will default
|
||||||
|
# to the pwd.
|
||||||
|
def load!(cwd=nil)
|
||||||
|
Environment.new(cwd).load!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def initialize(cwd=nil)
|
||||||
|
@cwd = cwd
|
||||||
|
end
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# Path Helpers
|
# Path Helpers
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
|
@ -51,6 +67,7 @@ module Vagrant
|
||||||
load_box!
|
load_box!
|
||||||
load_config!
|
load_config!
|
||||||
load_vm!
|
load_vm!
|
||||||
|
self
|
||||||
end
|
end
|
||||||
|
|
||||||
# Loads the root path of this environment, given the starting
|
# Loads the root path of this environment, given the starting
|
||||||
|
|
|
@ -5,6 +5,43 @@ class EnvironmentTest < Test::Unit::TestCase
|
||||||
mock_config
|
mock_config
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "class method load!" do
|
||||||
|
setup do
|
||||||
|
@cwd = mock('cwd')
|
||||||
|
|
||||||
|
@env = mock('env')
|
||||||
|
@env.stubs(:load!).returns(@env)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "create the environment with given cwd, load it, and return it" do
|
||||||
|
Vagrant::Environment.expects(:new).with(@cwd).once.returns(@env)
|
||||||
|
@env.expects(:load!).returns(@env)
|
||||||
|
assert_equal @env, Vagrant::Environment.load!(@cwd)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "work without a given cwd" do
|
||||||
|
Vagrant::Environment.expects(:new).with(nil).returns(@env)
|
||||||
|
|
||||||
|
assert_nothing_raised {
|
||||||
|
env = Vagrant::Environment.load!
|
||||||
|
assert_equal env, @env
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "initialization" do
|
||||||
|
should "set the cwd if given" do
|
||||||
|
cwd = "foobarbaz"
|
||||||
|
env = Vagrant::Environment.new(cwd)
|
||||||
|
assert_equal cwd, env.cwd
|
||||||
|
end
|
||||||
|
|
||||||
|
should "default to pwd if cwd is nil" do
|
||||||
|
env = Vagrant::Environment.new
|
||||||
|
assert_equal Dir.pwd, env.cwd
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "paths" do
|
context "paths" do
|
||||||
setup do
|
setup do
|
||||||
@env = mock_environment
|
@env = mock_environment
|
||||||
|
@ -49,7 +86,7 @@ class EnvironmentTest < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
context "overall load method" do
|
context "overall load method" do
|
||||||
should "load! should load the config and set the persisted_uid" do
|
should "load! should call proper sequence and return itself" do
|
||||||
call_seq = sequence("call_sequence")
|
call_seq = sequence("call_sequence")
|
||||||
@env.expects(:load_root_path!).once.in_sequence(call_seq)
|
@env.expects(:load_root_path!).once.in_sequence(call_seq)
|
||||||
@env.expects(:load_config!).once.in_sequence(call_seq)
|
@env.expects(:load_config!).once.in_sequence(call_seq)
|
||||||
|
@ -57,7 +94,7 @@ class EnvironmentTest < Test::Unit::TestCase
|
||||||
@env.expects(:load_box!).once.in_sequence(call_seq)
|
@env.expects(:load_box!).once.in_sequence(call_seq)
|
||||||
@env.expects(:load_config!).once.in_sequence(call_seq)
|
@env.expects(:load_config!).once.in_sequence(call_seq)
|
||||||
@env.expects(:load_vm!).once.in_sequence(call_seq)
|
@env.expects(:load_vm!).once.in_sequence(call_seq)
|
||||||
@env.load!
|
assert_equal @env, @env.load!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue