mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 05:25:40 +09:00
27 lines
1.1 KiB
Erlang
27 lines
1.1 KiB
Erlang
%% SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
-module(rpc_client_tests).
|
|
-typing([eqwalizer]).
|
|
-include_lib("eunit/include/eunit.hrl").
|
|
|
|
rpc_headers_uses_request_ip_test() ->
|
|
Headers = rpc_client:rpc_headers(#{
|
|
<<"type">> => <<"session">>,
|
|
<<"ip">> => <<"203.0.113.7">>
|
|
}),
|
|
?assertEqual(<<"203.0.113.7">>, proplists:get_value(<<"x-forwarded-for">>, Headers)).
|
|
|
|
rpc_headers_falls_back_to_loopback_without_request_ip_test() ->
|
|
Headers = rpc_client:rpc_headers(#{<<"type">> => <<"guild_collection">>}),
|
|
?assertEqual(<<"127.0.0.1">>, proplists:get_value(<<"x-forwarded-for">>, Headers)).
|
|
|
|
is_retryable_5xx_test() ->
|
|
?assert(rpc_client:is_retryable({rpc_error, 500, <<"Internal server error">>})),
|
|
?assert(rpc_client:is_retryable({rpc_error, 502, <<"Bad gateway">>})),
|
|
?assert(rpc_client:is_retryable({rpc_error, 503, <<"Service unavailable">>})).
|
|
|
|
is_retryable_4xx_test() ->
|
|
?assertNot(rpc_client:is_retryable({rpc_error, 401, <<"Unauthorized">>})),
|
|
?assertNot(rpc_client:is_retryable({rpc_error, 404, <<"Not found">>})),
|
|
?assertNot(rpc_client:is_retryable({rpc_error, 429, <<"Rate limited">>})).
|