-
- describe "tesla client using gun integration" do
- @describetag :integration
-
- clear_config(Pleroma.ReverseProxy.Client) do
- Pleroma.Config.put(Pleroma.ReverseProxy.Client, Pleroma.ReverseProxy.Client.Tesla)
- end
-
- clear_config(Pleroma.Gun) do
- Pleroma.Config.put(Pleroma.Gun, Pleroma.Gun.API)
- end
-
- setup do
- adapter = Application.get_env(:tesla, :adapter)
- Application.put_env(:tesla, :adapter, Tesla.Adapter.Gun)
-
- on_exit(fn ->
- Application.put_env(:tesla, :adapter, adapter)
- end)
- end
-
- test "common", %{conn: conn} do
- conn = ReverseProxy.call(conn, "http://httpbin.org/stream-bytes/10")
- assert byte_size(conn.resp_body) == 10
- assert conn.state == :chunked
- assert conn.status == 200
- end
-
- test "ssl", %{conn: conn} do
- 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
- end
-
- test "follow redirects", %{conn: conn} do
- conn = ReverseProxy.call(conn, "https://httpbin.org/redirect/5")
- assert conn.state == :chunked
- assert conn.status == 200
- end
- end