update files consistency after rebase
[akkoma] / test / pleroma / http / ex_aws_test.exs
diff --git a/test/pleroma/http/ex_aws_test.exs b/test/pleroma/http/ex_aws_test.exs
new file mode 100644 (file)
index 0000000..d0b00ca
--- /dev/null
@@ -0,0 +1,54 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.HTTP.ExAwsTest do
+  use ExUnit.Case
+
+  import Tesla.Mock
+  alias Pleroma.HTTP
+
+  @url "https://s3.amazonaws.com/test_bucket/test_image.jpg"
+
+  setup do
+    mock(fn
+      %{method: :get, url: @url, headers: [{"x-amz-bucket-region", "us-east-1"}]} ->
+        %Tesla.Env{
+          status: 200,
+          body: "image-content",
+          headers: [{"x-amz-bucket-region", "us-east-1"}]
+        }
+
+      %{method: :post, url: @url, body: "image-content-2"} ->
+        %Tesla.Env{status: 200, body: "image-content-2"}
+    end)
+
+    :ok
+  end
+
+  describe "request" do
+    test "get" do
+      assert HTTP.ExAws.request(:get, @url, "", [{"x-amz-bucket-region", "us-east-1"}]) == {
+               :ok,
+               %{
+                 body: "image-content",
+                 headers: [{"x-amz-bucket-region", "us-east-1"}],
+                 status_code: 200
+               }
+             }
+    end
+
+    test "post" do
+      assert HTTP.ExAws.request(:post, @url, "image-content-2", [
+               {"x-amz-bucket-region", "us-east-1"}
+             ]) == {
+               :ok,
+               %{
+                 body: "image-content-2",
+                 headers: [],
+                 status_code: 200
+               }
+             }
+    end
+  end
+end