Ref https://meta.akkoma.dev/t/increase-timeout-on-libretranslate-request-how/156/2 Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk> Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/307
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
# Pleroma: A lightweight social networking server
 | 
						|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 | 
						|
# SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 | 
						|
defmodule Pleroma.HTTP.AdapterHelperTest do
 | 
						|
  use Pleroma.DataCase, async: true
 | 
						|
  alias Pleroma.HTTP.AdapterHelper
 | 
						|
 | 
						|
  describe "format_proxy/1" do
 | 
						|
    test "with nil" do
 | 
						|
      assert AdapterHelper.format_proxy(nil) == nil
 | 
						|
    end
 | 
						|
 | 
						|
    test "with string" do
 | 
						|
      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("https://localhost:8123") ==
 | 
						|
               {:https, "localhost", 8123, []}
 | 
						|
    end
 | 
						|
 | 
						|
    test "tuple" do
 | 
						|
      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
 |