http timeout config (#307)
[akkoma] / test / pleroma / http / adapter_helper_test.exs
index 55ffe4921543cb11a2aae6dce35135ecb29aec14..ba09f3422ba07095994b3108c583cc9f53ce50a6 100644 (file)
@@ -3,8 +3,7 @@
 # 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
@@ -47,4 +46,24 @@ defmodule Pleroma.HTTP.AdapterHelperTest do
              ]
     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