mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-04 00:00:37 -04:00
do not use thread variables in mock response test plugin
This commit is contained in:
parent
7278647688
commit
047dc30487
@ -99,7 +99,7 @@ module Requests
|
||||
end
|
||||
|
||||
def test_plugin_follow_redirects_retry_after
|
||||
session = HTTPX.plugin(SessionWithMockResponse[302, "retry-after" => "2"]).plugin(:follow_redirects)
|
||||
session = HTTPX.plugin(SessionWithMockResponse, mock_status: 302, mock_headers: { "retry-after" => "2" }).plugin(:follow_redirects)
|
||||
|
||||
before_time = Process.clock_gettime(Process::CLOCK_MONOTONIC, :second)
|
||||
response = session.get(max_redirect_uri(1))
|
||||
|
@ -5,7 +5,7 @@ module Requests
|
||||
module RateLimiter
|
||||
def test_plugin_rate_limiter_429
|
||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||
.plugin(SessionWithMockResponse[429])
|
||||
.plugin(SessionWithMockResponse, mock_status: 429)
|
||||
.plugin(:rate_limiter)
|
||||
|
||||
uri = build_uri("/get")
|
||||
@ -17,7 +17,7 @@ module Requests
|
||||
|
||||
def test_plugin_rate_limiter_503
|
||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||
.plugin(SessionWithMockResponse[503])
|
||||
.plugin(SessionWithMockResponse, mock_status: 503)
|
||||
.plugin(:rate_limiter)
|
||||
|
||||
uri = build_uri("/get")
|
||||
@ -29,7 +29,7 @@ module Requests
|
||||
|
||||
def test_plugin_rate_limiter_retry_after_integer
|
||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||
.plugin(SessionWithMockResponse[429, "retry-after" => "2"])
|
||||
.plugin(SessionWithMockResponse, mock_status: 429, mock_headers: { "retry-after" => "2" })
|
||||
.plugin(:rate_limiter)
|
||||
|
||||
uri = build_uri("/get")
|
||||
@ -45,8 +45,9 @@ module Requests
|
||||
end
|
||||
|
||||
def test_plugin_rate_limiter_retry_after_date
|
||||
retry_after = (Time.now + 3).httpdate
|
||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||
.plugin(SessionWithMockResponse[429, "retry-after" => (Time.now + 3).httpdate])
|
||||
.plugin(SessionWithMockResponse, mock_status: 429, mock_headers: { "retry-after" => retry_after })
|
||||
.plugin(:rate_limiter)
|
||||
|
||||
uri = build_uri("/get")
|
||||
|
@ -1,10 +1,14 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module SessionWithMockResponse
|
||||
def self.[](status, headers = {})
|
||||
Thread.current[:httpx_mock_response_status] = status
|
||||
Thread.current[:httpx_mock_response_headers] = headers
|
||||
self
|
||||
module OptionsMethods
|
||||
def option_mock_status(status)
|
||||
status
|
||||
end
|
||||
|
||||
def option_mock_headers(headers)
|
||||
headers
|
||||
end
|
||||
end
|
||||
|
||||
module ResponseMethods
|
||||
@ -23,8 +27,8 @@ module SessionWithMockResponse
|
||||
@mock_responses_counter -= 1
|
||||
|
||||
unless response.is_a?(HTTPX::ErrorResponse)
|
||||
response.status = Thread.current[:httpx_mock_response_status]
|
||||
response.merge_headers(Thread.current[:httpx_mock_response_headers])
|
||||
response.status = request.options.mock_status if request.options.mock_status
|
||||
response.merge_headers(request.options.mock_headers) if request.options.mock_headers
|
||||
end
|
||||
super(request, response)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user