Sha256: f3122719f57048cb583ce2d72021bc2ae77a83f06c86b975f51b4c7b7ae71585

Contents?: true

Size: 1.61 KB

Versions: 1

Compression:

Stored size: 1.61 KB

Contents

require 'test/unit'
require 'veewee'

class TestVeeweeBuild < Test::Unit::TestCase
  def setup
    definition_dir=File.expand_path(File.join(File.dirname(__FILE__),"definitions"))
    #ENV['VEEWEE_LOG']="STDOUT"
    @ve=Veewee::Environment.new({ :definition_dir =>  definition_dir })
    @definition_name="test_definition"
    @vd=@ve.definitions[@definition_name]
    @box_name=@definition_name
    @vd.postinstall_files=["_test_me.sh"]
    @box=@ve.providers["virtualbox"].get_box(@box_name)
  end

  # First build of box
  # - the creation
  # - kickstart fetch
  # - postinstall execution
  def test_box_1_build
    assert_nothing_raised {
      @box.build({'auto' => true,'force' => true, 'nogui' => true })
      #@box.build({"auto" => true,"force" => true })
    }
  end

  # Run an ssh command
  def test_box_2_ssh
    assert_nothing_raised {
      result=@box.exec("who am i")
      assert_match(/root/,result.stdout)
    }
  end

  # Type on console
  def test_box_3_console_type
    assert_nothing_raised {
      @box.console_type(['echo "bla" > console.txt<Enter>'])
      result=@box.exec("cat console.txt")
      assert_match(/bla/,result.stdout)
    }
  end

  # Try shutdown
  def test_box_4_shutdown
    assert_nothing_raised {
      @box.halt
    }
  end

  # Now try build again (with no force flag)
  def test_box_5_build
    assert_raise(Veewee::Error) {
      #@box.build({"auto" => true})
      @box.build({"auto" => true,'force' => true, 'nogui' => true })
    }
  end

  def test_box_6_destroy
    assert_nothing_raised {
      @box.destroy
    }
  end

  #
  #  def teardown
  #    #@ve.destroy(@vm_name,@vd)
  #
  #  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
veewee-0.3.7 test/build_realtest.rb