Sha256: 71a5cd5f05c6adaf053198e29e35f4cb9712d0c2b84b9923b68540c6afc7f063

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

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", :issue => "GH-564" 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

    # Bring up the environment, which should work. `machine1` should download
    # the box while `machine2` doesn't.
    result = assert_execute("vagrant", "up")
    result.stdout.should match_output(:up_fetching_box, "base", "machine1")
    result.stdout.should_not match_output(:up_fetching_box, "base", "machine2")
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
vagrantup-0.8.9 test/acceptance/up_with_box_url.rb
vagrantup-0.8.8 test/acceptance/up_with_box_url.rb
vagrantup-0.8.10 test/acceptance/up_with_box_url.rb
vagrant-0.8.10 test/acceptance/up_with_box_url.rb
vagrant-0.8.8 test/acceptance/up_with_box_url.rb