mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-05 00:02:38 -04:00
39 lines
1.1 KiB
Ruby
39 lines
1.1 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_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_respond_method_missing_errors
|
|
r1 = ErrorResponse.new(request_mock, RuntimeError.new("wow"), {})
|
|
ex1 = assert_raises(NoMethodError) { r1.read }
|
|
assert ex1.message =~ /undefined response method/
|
|
ex2 = assert_raises(NoMethodError) { r1.bang }
|
|
assert ex2.message =~ /undefined method/
|
|
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
|
|
|
|
private
|
|
|
|
def request_mock
|
|
Request.new(:get, "/")
|
|
end
|
|
end
|