Added file existence test for the validation key for chef server provisioning
This commit is contained in:
parent
9384917b81
commit
5f695d8f4d
|
@ -9,6 +9,12 @@ module Vagrant
|
|||
Chef server provisioning requires that the `config.chef.validation_key_path` configuration
|
||||
be set to a path on your local machine of the validation key used to register the
|
||||
VM with the chef server.
|
||||
msg
|
||||
elsif !File.file?(Vagrant.config.chef.validation_key_path)
|
||||
raise Actions::ActionException.new(<<-msg)
|
||||
The validation key set for `config.chef.validation_key_path` does not exist! This
|
||||
file needs to exist so it can be uploaded to the virtual machine. It is
|
||||
currently set to "#{Vagrant.config.chef.validation_key_path}"
|
||||
msg
|
||||
end
|
||||
|
||||
|
|
|
@ -79,8 +79,11 @@ class ProvisionActionTest < Test::Unit::TestCase
|
|||
config.vm.provisioner = symbol
|
||||
end
|
||||
|
||||
instance = mock("instance")
|
||||
instance.expects(:prepare).once
|
||||
provisioner.expects(:new).returns(instance)
|
||||
assert_nothing_raised { @action.prepare }
|
||||
assert @action.provisioner.is_a?(provisioner)
|
||||
assert_equal instance, @action.provisioner
|
||||
end
|
||||
|
||||
should "raise an ActionException if its an unknown symbol" do
|
||||
|
@ -100,14 +103,6 @@ class ProvisionActionTest < Test::Unit::TestCase
|
|||
should "set :chef_server to the ChefServer provisioner" do
|
||||
provisioner_expectation(:chef_server, Vagrant::Provisioners::ChefServer)
|
||||
end
|
||||
|
||||
should "call prepare on the instance" do
|
||||
instance = mock("instance")
|
||||
instance.expects(:prepare).once
|
||||
instance.stubs(:is_a?).returns(true)
|
||||
Vagrant::Provisioners::ChefSolo.expects(:new).returns(instance)
|
||||
provisioner_expectation(:chef_solo, Vagrant::Provisioners::ChefSolo)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,6 +24,10 @@ class ChefServerProvisionerTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
context "preparing" do
|
||||
setup do
|
||||
File.stubs(:file?).returns(true)
|
||||
end
|
||||
|
||||
should "not raise an exception if validation_key_path is set" do
|
||||
mock_config do |config|
|
||||
config.chef.validation_key_path = "7"
|
||||
|
@ -42,6 +46,26 @@ class ChefServerProvisionerTest < Test::Unit::TestCase
|
|||
}
|
||||
end
|
||||
|
||||
should "not raise an exception if validation_key_path does exist" do
|
||||
mock_config do |config|
|
||||
config.chef.validation_key_path = "7"
|
||||
end
|
||||
|
||||
File.expects(:file?).with(Vagrant.config.chef.validation_key_path).returns(true)
|
||||
assert_nothing_raised { @action.prepare }
|
||||
end
|
||||
|
||||
should "raise an exception if validation_key_path doesn't exist" do
|
||||
mock_config do |config|
|
||||
config.chef.validation_key_path = "7"
|
||||
end
|
||||
|
||||
File.expects(:file?).with(Vagrant.config.chef.validation_key_path).returns(false)
|
||||
assert_raises(Vagrant::Actions::ActionException) {
|
||||
@action.prepare
|
||||
}
|
||||
end
|
||||
|
||||
should "not raise an exception if chef_server_url is set" do
|
||||
mock_config do |config|
|
||||
config.chef.chef_server_url = "7"
|
||||
|
|
Loading…
Reference in New Issue