Sha256: 57d0939db31518db7e3a216de519c1ff403edb2728fc43620f243df9751f7ac3

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

require File.expand_path('../spec_helper', __FILE__)
require File.expand_path('../../lib/rest-assured/utils/port_explorer', __FILE__)

module RestAssured::Utils
  describe PortExplorer do
    it 'finds free tcp port' do
      free_port = PortExplorer.free_port
      expect { Net::HTTP.get('127.0.0.1', '/', free_port) }.to raise_error(Errno::ECONNREFUSED)
    end

    context 'port is taken' do
      let(:port) { PortExplorer.free_port }
      server = nil

      before :each do
        server = TCPServer.new port
      end

      after :each do
        server.close
      end

      it 'knows if port is in use' do
        Thread.new do
          loop do
            Thread.start(server.accept) do |client|
              client.puts "Hello!"
              client.close
            end
          end
        end

        expect(PortExplorer.port_free?(port)).to eq(false)
      end
    end

    it 'knows that port is free' do
      port = PortExplorer.free_port

      expect(PortExplorer.port_free?(port)).to eq(true)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rest-assured-4.0.0 spec/port_explorer_spec.rb