Sha256: 7c5f9a0b834dcd4cc560efa13ca8f408a9112ff9b74bf7b3082a9f2e2ce6303e

Contents?: true

Size: 1.58 KB

Versions: 35

Compression:

Stored size: 1.58 KB

Contents

require 'test_helper'

class CheckBoxVMActionTest < Test::Unit::TestCase
  setup do
    @klass = Vagrant::Action::VM::CheckBox
  end

  context "calling" do
    should "raise error if box not specified" do
      app, env = action_env(vagrant_env(vagrantfile(<<-vf)))
        config.vm.box = nil
      vf

      instance = @klass.new(app, env)
      app.expects(:call).never

      assert_raises(Vagrant::Errors::BoxNotSpecified) {
        instance.call(env)
      }
    end

    should "error if box does not exist and URL not specified" do
      app, env = action_env(vagrant_env(vagrantfile(<<-vf)))
        config.vm.box = "yo"
        config.vm.box_url = nil
      vf

      instance = @klass.new(app, env)
      app.expects(:call).never
      env.env.boxes.expects(:find).with(env["config"].vm.box).returns(nil)

      assert_raises(Vagrant::Errors::BoxSpecifiedDoesntExist) {
        instance.call(env)
      }
    end

    should "attempt to download box and continue if URL specified" do
      app, env = action_env(vagrant_env(vagrantfile(<<-vf)))
        config.vm.box = "yo"
        config.vm.box_url = "http://google.com"
      vf

      instance = @klass.new(app, env)
      seq = sequence("seq")
      env.env.boxes.expects(:find).returns(nil)
      Vagrant::Box.expects(:add).with(env.env, env["config"].vm.box, env["config"].vm.box_url).in_sequence(seq)
      env.env.boxes.expects(:reload!).in_sequence(seq)
      env.env.expects(:reload_config!).in_sequence(seq)
      app.expects(:call).with(env).once.in_sequence(seq)

      assert_nothing_raised {
        instance.call(env)
      }
    end
  end
end

Version data entries

35 entries across 35 versions & 5 rubygems

Version Path
vagrantup-0.8.7 test/unit/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.6 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.5 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.4 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.3 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.2 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.1 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.8.0 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.8 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.7 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.6 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.5 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.4 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.3 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.2 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.1 test/vagrant/action/vm/check_box_test.rb
vagrantup-0.7.0 test/vagrant/action/vm/check_box_test.rb
vagrant-0.8.7 test/unit/vagrant/action/vm/check_box_test.rb
rvagrant-0.8.7.dev test/unit/vagrant/action/vm/check_box_test.rb
vagrant-0.8.6 test/vagrant/action/vm/check_box_test.rb