X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;ds=inline;f=test%2Fpleroma%2Fhttp%2Fadapter_helper_test.exs;h=ba09f3422ba07095994b3108c583cc9f53ce50a6;hb=59fde45b368aba57f59f7370417dd5f7a585f706;hp=24d501ad52b6bb5e710f27657a205a590b35c0d0;hpb=4ead0d564fa60b1a908f6237474250d6bda85ae9;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