add finch outbound proxy support (#158)
[akkoma] / test / pleroma / http / adapter_helper_test.exs
index 3c8c8916446a73cac7b1e78bc18195e46503c5e6..55ffe4921543cb11a2aae6dce35135ecb29aec14 100644 (file)
@@ -13,16 +13,38 @@ 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
 end