httpx/test/error_response_test.rb
2023-04-28 23:57:25 +01:00

51 lines
1.3 KiB
Ruby

# frozen_string_literal: true
require_relative "test_helper"
class ErrorResponseTest < Minitest::Test
include HTTPX
def test_error_response_status
r1 = ErrorResponse.new(request_mock, RuntimeError.new("wow"), {})
assert r1.status == "wow"
end
def test_error_response_finished?
r1 = ErrorResponse.new(request_mock, RuntimeError.new("wow"), {})
assert r1.finished?
end
def test_error_response_error
error = RuntimeError.new("wow")
r1 = ErrorResponse.new(request_mock, error, {})
assert r1.error == error
end
def test_error_response_raise_for_status
some_error = Class.new(RuntimeError)
r1 = ErrorResponse.new(request_mock, some_error.new("wow"), {})
assert_raises(some_error) { r1.raise_for_status }
end
def test_error_response_to_s
r = ErrorResponse.new(request_mock, RuntimeError.new("wow"), {})
str = r.to_s
assert str.match(/wow \(.*RuntimeError.*\)/), "expected \"wow (RuntimeError)\" in \"#{str}\""
end
def test_error_response_close
response = Response.new(request_mock, 200, "1.1", {})
request_mock.response = response
r = ErrorResponse.new(request_mock, RuntimeError.new("wow"), {})
assert !response.body.closed?
r.close
assert response.body.closed?
end
private
def request_mock
@request_mock ||= Request.new("GET", "http://example.com/")
end
end