vagrant/test/acceptance_old/provisioning/shell_test.rb

54 lines
1.3 KiB
Ruby

require File.expand_path("../../base", __FILE__)
describe "vagrant provisioning with shell" do
include_context "acceptance"
it "runs a script on boot" do
require_box("default")
assert_execute("vagrant", "box", "add", "base", box_path("default"))
environment.workdir.join("Vagrantfile").open("w+") do |f|
f.write(<<-vf)
Vagrant::Config.run do |config|
config.vm.box = "base"
config.vm.provision :shell, :path => "script.sh"
end
vf
end
environment.workdir.join("script.sh").open("w+") do |f|
f.write(<<-vf)
echo success > /vagrant/results
vf
end
assert_execute("vagrant", "up")
result_file = environment.workdir.join("results")
result_file.exist?.should be
result_file.read.should == "success\n"
end
it "runs an inline script" do
require_box("default")
assert_execute("vagrant", "box", "add", "base", box_path("default"))
environment.workdir.join("Vagrantfile").open("w+") do |f|
f.write(<<-vf)
Vagrant::Config.run do |config|
config.vm.box = "base"
config.vm.provision :shell, :inline => "echo success > /vagrant/results"
end
vf
end
assert_execute("vagrant", "up")
result_file = environment.workdir.join("results")
result_file.exist?.should be
result_file.read.should == "success\n"
end
end