Failing acceptance test for GH-564

This commit is contained in:
Mitchell Hashimoto 2011-11-21 21:55:03 -08:00
parent e6c79f862d
commit d71a78eacf
2 changed files with 42 additions and 0 deletions

View File

@ -60,5 +60,11 @@ module Acceptance
def vm_destroyed
@text =~ /Destroying VM and associated drives...$/
end
# This checks that the "up" output properly contains text showing that
# it is downloading the box during the up process.
def up_fetching_box(name)
@text =~ /Box #{name} was not found. Fetching box from specified URL...$/
end
end
end

View File

@ -0,0 +1,36 @@
require File.expand_path("../base", __FILE__)
require "support/shared/command_examples"
describe "vagrant up", "with a box URL set" do
include_context "acceptance"
it "downloads and brings up the VM if the box doesn't exist" do
require_box("default")
assert_execute("vagrant", "init", "base", box_path("default"))
result = assert_execute("vagrant", "up")
result.stdout.should match_output(:up_fetching_box, "base")
end
it "downloads the file only once and works if shared by multiple VMs" do
require_box("default")
environment.workdir.join("Vagrantfile").open("w+") do |f|
f.puts(<<-VFILE)
Vagrant::Config.run do |config|
config.vm.define :machine1 do |vm_config|
vm_config.vm.box = "base"
vm_config.vm.box_url = "#{box_path("default")}"
end
config.vm.define :machine2 do |vm_config|
vm_config.vm.box = "base"
vm_config.vm.box_url = "#{box_path("default")}"
end
end
VFILE
end
result = assert_execute("vagrant", "up")
end
end