diff options
Diffstat (limited to 'bin/run_tests')
| -rwxr-xr-x | bin/run_tests | 35 | 
1 files changed, 30 insertions, 5 deletions
| diff --git a/bin/run_tests b/bin/run_tests index 526aa83a..2ee027f4 100755 --- a/bin/run_tests +++ b/bin/run_tests @@ -127,11 +127,22 @@ class LeapTest < MiniTest::Unit::TestCase      if params        uri.query = URI.encode_www_form(params)      end -    response = Net::HTTP.get_response(uri) -    if response.is_a?(Net::HTTPSuccess) -      yield response.body, response, nil -    else -      yield nil, response, nil +    http = Net::HTTP.new uri.host, uri.port +    if uri.scheme == 'https' +      http.verify_mode = OpenSSL::SSL::VERIFY_NONE +      http.use_ssl = true +    end +    http.start do |agent| +      request = Net::HTTP::Get.new uri.request_uri +      if uri.user +        request.basic_auth uri.user, uri.password +      end +      response = agent.request(request) +      if response.is_a?(Net::HTTPSuccess) +        yield response.body, response, nil +      else +        yield nil, response, nil +      end      end    rescue => exc      yield nil, nil, exc @@ -151,6 +162,20 @@ class LeapTest < MiniTest::Unit::TestCase    end    # +  # only a warning for now, should be a failure in the future +  # +  def assert_auth_fail(url, params) +    uri = URI(url) +    get(url, params) do |body, response, error| +      unless response.code.to_s == "401" +        warn "Expected a '401 Unauthorized' response, but got #{response.code} instead (GET #{uri.request_uri} with username '#{uri.user}')." +        return false +      end +    end +    true +  end + +  #    # test if a socket can be connected to    # | 
