From a9e3e387c9798a810f82bbf92023b4d29abffbe5 Mon Sep 17 00:00:00 2001
From: Maksim Pechnikov <parallel588@gmail.com>
Date: Tue, 4 Dec 2018 19:43:00 +0300
Subject: [PATCH] add test

---
 test/http_test.exs | 55 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 test/http_test.exs

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