Sha256: dbba64aecbd4d05ce0664a6dc3c62acdbf834fff453d7d97eb0c6d70e9fac491

Contents?: true

Size: 1012 Bytes

Versions: 59

Compression:

Stored size: 1012 Bytes

Contents

require "vagrant/util/retryable"

module Acceptance
  module NetworkTests
    include Vagrant::Util::Retryable

    # Tests that the host can access the VM through the network.
    #
    # @param [String] url URL to request from the host.
    # @param [Integer] guest_port Port to run a web server on the guest.
    def assert_host_to_vm_network(url, guest_port)
      # Start up a web server in another thread by SSHing into the VM.
      thr = Thread.new do
        assert_execute("vagrant", "ssh", "-c", "python -m SimpleHTTPServer #{guest_port}")
      end

      # Verify that port forwarding works by making a simple HTTP request
      # to the port. We should get a 200 response. We retry this a few times
      # as we wait for the HTTP server to come online.
      retryable(:tries => 5, :sleep => 2) do
        result = Net::HTTP.get_response(URI.parse(url))
        result.code.should == "200"
      end
    ensure
      # The server needs to die. This is how.
      thr.kill if thr
    end
  end
end

Version data entries

59 entries across 59 versions & 11 rubygems

Version Path
vagrant-actionio-0.0.9 vendor/bundle/bundler/gems/vagrant-c74251a1d9c0/test/acceptance/support/network_tests.rb
vagrant-lxc-0.0.1 vendor/vagrant/test/acceptance/support/network_tests.rb
vagrant-1.0.7 test/acceptance/support/network_tests.rb
vagrant-1.0.6 test/acceptance/support/network_tests.rb
boxcar-0.10005.1 test/acceptance/support/network_tests.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/vagrant-1.0.5/test/acceptance/support/network_tests.rb
vagrant-1.0.5 test/acceptance/support/network_tests.rb
vagrant-1.0.4 test/acceptance/support/network_tests.rb
vagrant-1.0.3 test/acceptance/support/network_tests.rb
vagrant-1.0.2 test/acceptance/support/network_tests.rb
vagrant-1.0.1 test/acceptance/support/network_tests.rb
vagrant-1.0.0 test/acceptance/support/network_tests.rb
vagrant-0.9.7 test/acceptance/support/network_tests.rb
vagrant-0.9.5 test/acceptance/support/network_tests.rb
vagrant-0.9.4 test/acceptance/support/network_tests.rb
vagrant-0.9.3 test/acceptance/support/network_tests.rb
vagrant-0.9.2 test/acceptance/support/network_tests.rb
vagrant-0.9.1 test/acceptance/support/network_tests.rb
vagrant-0.9.0 test/acceptance/support/network_tests.rb