diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/http_test.exs | 55 | 
1 files changed, 55 insertions, 0 deletions
| diff --git a/test/http_test.exs b/test/http_test.exs new file mode 100644 index 000000000..62f3ccb30 --- /dev/null +++ b/test/http_test.exs @@ -0,0 +1,55 @@ +defmodule Pleroma.HTTPTest do +  use Pleroma.DataCase +  import Tesla.Mock + +  setup do +    mock(fn +      %{ +        method: :get, +        url: "http://example.com/hello", +        headers: [{"content-type", "application/json"}] +      } -> +        json(%{"my" => "data"}) + +      %{method: :get, url: "http://example.com/hello"} -> +        %Tesla.Env{status: 200, body: "hello"} + +      %{method: :post, url: "http://example.com/world"} -> +        %Tesla.Env{status: 200, body: "world"} +    end) + +    :ok +  end + +  describe "get/1" do +    test "returns successfully result" do +      assert Pleroma.HTTP.get("http://example.com/hello") == { +               :ok, +               %Tesla.Env{status: 200, body: "hello"} +             } +    end +  end + +  describe "get/2 (with headers)" do +    test "returns successfully result for json content-type" do +      assert Pleroma.HTTP.get("http://example.com/hello", [{"content-type", "application/json"}]) == +               { +                 :ok, +                 %Tesla.Env{ +                   status: 200, +                   body: "{\"my\":\"data\"}", +                   headers: [{"content-type", "application/json"}] +                 } +               } +    end +  end + +  describe "post/2" do +    test "returns successfully result" do +      assert Pleroma.HTTP.post("http://example.com/world", "") == { +               :ok, +               %Tesla.Env{status: 200, body: "world"} +             } +    end +  end +end | 
