X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fpleroma%2Fhttp%2Fadapter_helper_test.exs;h=ba09f3422ba07095994b3108c583cc9f53ce50a6;hb=0703c1826b09a4d91a418bcaa52f57e53191a3ec;hp=24d501ad52b6bb5e710f27657a205a590b35c0d0;hpb=a65fc78c6a14e1333ce71d28824a490a8a6da69b;p=akkoma diff --git a/test/pleroma/http/adapter_helper_test.exs b/test/pleroma/http/adapter_helper_test.exs index 24d501ad5..ba09f3422 100644 --- a/test/pleroma/http/adapter_helper_test.exs +++ b/test/pleroma/http/adapter_helper_test.exs @@ -1,10 +1,9 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.HTTP.AdapterHelperTest do - use ExUnit.Case, async: true - + use Pleroma.DataCase, async: true alias Pleroma.HTTP.AdapterHelper describe "format_proxy/1" do @@ -13,16 +12,58 @@ defmodule Pleroma.HTTP.AdapterHelperTest do end test "with string" do - assert AdapterHelper.format_proxy("127.0.0.1:8123") == {{127, 0, 0, 1}, 8123} + assert AdapterHelper.format_proxy("http://127.0.0.1:8123") == {:http, "127.0.0.1", 8123, []} end test "localhost with port" do - assert AdapterHelper.format_proxy("localhost:8123") == {'localhost', 8123} + assert AdapterHelper.format_proxy("https://localhost:8123") == + {:https, "localhost", 8123, []} end test "tuple" do - assert AdapterHelper.format_proxy({:socks4, :localhost, 9050}) == - {:socks4, 'localhost', 9050} + assert AdapterHelper.format_proxy({:http, "localhost", 9050}) == + {:http, "localhost", 9050, []} + end + end + + describe "maybe_add_proxy_pool/1" do + test "should do nothing with nil" do + assert AdapterHelper.maybe_add_proxy_pool([], nil) == [] + end + + test "should create pools" do + assert AdapterHelper.maybe_add_proxy_pool([], "proxy") == [ + pools: %{default: [conn_opts: [proxy: "proxy"]]} + ] + end + + test "should not override conn_opts if set" do + assert AdapterHelper.maybe_add_proxy_pool( + [pools: %{default: [conn_opts: [already: "set"]]}], + "proxy" + ) == [ + pools: %{default: [conn_opts: [proxy: "proxy", already: "set"]]} + ] + end + end + + describe "timeout settings" do + test "should default to 5000/15000" do + options = AdapterHelper.options(%URI{host: 'somewhere'}) + assert options[:pool_timeout] == 5000 + assert options[:receive_timeout] == 15_000 + end + + test "pool_timeout should be overridden by :http, :pool_timeout" do + clear_config([:http, :pool_timeout], 10_000) + options = AdapterHelper.options(%URI{host: 'somewhere'}) + assert options[:pool_timeout] == 10_000 + end + + test "receive_timeout should be overridden by :http, :receive_timeout" do + clear_config([:http, :receive_timeout], 20_000) + options = AdapterHelper.options(%URI{host: 'somewhere'}) + assert options[:receive_timeout] == 20_000 end end end