aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gun/connections_test.exs24
-rw-r--r--test/reverse_proxy/reverse_proxy_test.exs23
2 files changed, 47 insertions, 0 deletions
diff --git a/test/gun/connections_test.exs b/test/gun/connections_test.exs
index 42354d330..aad70a644 100644
--- a/test/gun/connections_test.exs
+++ b/test/gun/connections_test.exs
@@ -201,5 +201,29 @@ defmodule Gun.ConnectionsTest do
}
} = Connections.get_state(name)
end
+
+ test "opens ssl connection and reuse it on next request", %{name: name} do
+ api = Pleroma.Config.get([API])
+ Pleroma.Config.put([API], :gun)
+ on_exit(fn -> Pleroma.Config.put([API], api) end)
+ conn = Connections.get_conn("https://httpbin.org", [], name)
+
+ assert is_pid(conn)
+ assert Process.alive?(conn)
+
+ reused_conn = Connections.get_conn("https://httpbin.org", [], name)
+
+ assert conn == reused_conn
+
+ %Connections{
+ conns: %{
+ "httpbin.org:443" => %Conn{
+ conn: ^conn,
+ state: :up,
+ waiting_pids: []
+ }
+ }
+ } = Connections.get_state(name)
+ end
end
end
diff --git a/test/reverse_proxy/reverse_proxy_test.exs b/test/reverse_proxy/reverse_proxy_test.exs
index 2092b0dc3..c5563f955 100644
--- a/test/reverse_proxy/reverse_proxy_test.exs
+++ b/test/reverse_proxy/reverse_proxy_test.exs
@@ -370,5 +370,28 @@ defmodule Pleroma.ReverseProxyTest do
Pleroma.Config.put([Pleroma.Gun.API], api)
end)
end
+
+ test "with tesla client with gun adapter with ssl", %{conn: conn} do
+ client = Pleroma.Config.get([Pleroma.ReverseProxy.Client])
+ Pleroma.Config.put([Pleroma.ReverseProxy.Client], Pleroma.ReverseProxy.Client.Tesla)
+ adapter = Application.get_env(:tesla, :adapter)
+ Application.put_env(:tesla, :adapter, Tesla.Adapter.Gun)
+
+ api = Pleroma.Config.get([Pleroma.Gun.API])
+ Pleroma.Config.put([Pleroma.Gun.API], :gun)
+ {:ok, _} = Pleroma.Gun.Connections.start_link(Pleroma.Gun.Connections)
+
+ conn = ReverseProxy.call(conn, "https://httpbin.org/stream-bytes/10")
+
+ assert byte_size(conn.resp_body) == 10
+ assert conn.state == :chunked
+ assert conn.status == 200
+
+ on_exit(fn ->
+ Pleroma.Config.put([Pleroma.ReverseProxy.Client], client)
+ Application.put_env(:tesla, :adapter, adapter)
+ Pleroma.Config.put([Pleroma.Gun.API], api)
+ end)
+ end
end
end