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
|
end
|
||||||
|
|
||||||
def test_plugin_follow_redirects_retry_after
|
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)
|
before_time = Process.clock_gettime(Process::CLOCK_MONOTONIC, :second)
|
||||||
response = session.get(max_redirect_uri(1))
|
response = session.get(max_redirect_uri(1))
|
||||||
|
@ -5,7 +5,7 @@ module Requests
|
|||||||
module RateLimiter
|
module RateLimiter
|
||||||
def test_plugin_rate_limiter_429
|
def test_plugin_rate_limiter_429
|
||||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||||
.plugin(SessionWithMockResponse[429])
|
.plugin(SessionWithMockResponse, mock_status: 429)
|
||||||
.plugin(:rate_limiter)
|
.plugin(:rate_limiter)
|
||||||
|
|
||||||
uri = build_uri("/get")
|
uri = build_uri("/get")
|
||||||
@ -17,7 +17,7 @@ module Requests
|
|||||||
|
|
||||||
def test_plugin_rate_limiter_503
|
def test_plugin_rate_limiter_503
|
||||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
||||||
.plugin(SessionWithMockResponse[503])
|
.plugin(SessionWithMockResponse, mock_status: 503)
|
||||||
.plugin(:rate_limiter)
|
.plugin(:rate_limiter)
|
||||||
|
|
||||||
uri = build_uri("/get")
|
uri = build_uri("/get")
|
||||||
@ -29,7 +29,7 @@ module Requests
|
|||||||
|
|
||||||
def test_plugin_rate_limiter_retry_after_integer
|
def test_plugin_rate_limiter_retry_after_integer
|
||||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
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)
|
.plugin(:rate_limiter)
|
||||||
|
|
||||||
uri = build_uri("/get")
|
uri = build_uri("/get")
|
||||||
@ -45,8 +45,9 @@ module Requests
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_plugin_rate_limiter_retry_after_date
|
def test_plugin_rate_limiter_retry_after_date
|
||||||
|
retry_after = (Time.now + 3).httpdate
|
||||||
rate_limiter_session = HTTPX.plugin(RequestInspector)
|
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)
|
.plugin(:rate_limiter)
|
||||||
|
|
||||||
uri = build_uri("/get")
|
uri = build_uri("/get")
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module SessionWithMockResponse
|
module SessionWithMockResponse
|
||||||
def self.[](status, headers = {})
|
module OptionsMethods
|
||||||
Thread.current[:httpx_mock_response_status] = status
|
def option_mock_status(status)
|
||||||
Thread.current[:httpx_mock_response_headers] = headers
|
status
|
||||||
self
|
end
|
||||||
|
|
||||||
|
def option_mock_headers(headers)
|
||||||
|
headers
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module ResponseMethods
|
module ResponseMethods
|
||||||
@ -23,8 +27,8 @@ module SessionWithMockResponse
|
|||||||
@mock_responses_counter -= 1
|
@mock_responses_counter -= 1
|
||||||
|
|
||||||
unless response.is_a?(HTTPX::ErrorResponse)
|
unless response.is_a?(HTTPX::ErrorResponse)
|
||||||
response.status = Thread.current[:httpx_mock_response_status]
|
response.status = request.options.mock_status if request.options.mock_status
|
||||||
response.merge_headers(Thread.current[:httpx_mock_response_headers])
|
response.merge_headers(request.options.mock_headers) if request.options.mock_headers
|
||||||
end
|
end
|
||||||
super(request, response)
|
super(request, response)
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user