aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-08-10 18:46:26 +0000
committerkaniini <ariadne@dereferenced.org>2019-08-10 18:46:26 +0000
commit5aa62b8581b1fb13a1d799906d6a7fe8e68c35ba (patch)
tree07bbb6db310e80947896bc72ce67e89e75500793 /test
parent390329a303dd6d6a91d0bafa7dff0f7d63a8dad5 (diff)
parent11d08c2de0226caed8119bb3a45a8e0ab8791fbe (diff)
downloadpleroma-5aa62b8581b1fb13a1d799906d6a7fe8e68c35ba.tar.gz
Merge branch 'test/pleroma_uploaders' into 'develop'
tests for Pleroma.Uploaders See merge request pleroma/pleroma!1543
Diffstat (limited to 'test')
-rw-r--r--test/uploaders/local_test.exs32
-rw-r--r--test/uploaders/mdii_test.exs50
2 files changed, 82 insertions, 0 deletions
diff --git a/test/uploaders/local_test.exs b/test/uploaders/local_test.exs
new file mode 100644
index 000000000..fc442d0f1
--- /dev/null
+++ b/test/uploaders/local_test.exs
@@ -0,0 +1,32 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Uploaders.LocalTest do
+ use Pleroma.DataCase
+ alias Pleroma.Uploaders.Local
+
+ describe "get_file/1" do
+ test "it returns path to local folder for files" do
+ assert Local.get_file("") == {:ok, {:static_dir, "test/uploads"}}
+ end
+ end
+
+ describe "put_file/1" do
+ test "put file to local folder" do
+ file_path = "local_upload/files/image.jpg"
+
+ file = %Pleroma.Upload{
+ name: "image.jpg",
+ content_type: "image/jpg",
+ path: file_path,
+ tempfile: Path.absname("test/fixtures/image_tmp.jpg")
+ }
+
+ assert Local.put_file(file) == :ok
+
+ assert Path.join([Local.upload_path(), file_path])
+ |> File.exists?()
+ end
+ end
+end
diff --git a/test/uploaders/mdii_test.exs b/test/uploaders/mdii_test.exs
new file mode 100644
index 000000000..d432d40f0
--- /dev/null
+++ b/test/uploaders/mdii_test.exs
@@ -0,0 +1,50 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Uploaders.MDIITest do
+ use Pleroma.DataCase
+ alias Pleroma.Uploaders.MDII
+ import Tesla.Mock
+
+ describe "get_file/1" do
+ test "it returns path to local folder for files" do
+ assert MDII.get_file("") == {:ok, {:static_dir, "test/uploads"}}
+ end
+ end
+
+ describe "put_file/1" do
+ setup do
+ file_upload = %Pleroma.Upload{
+ name: "mdii-image.jpg",
+ content_type: "image/jpg",
+ path: "test_folder/mdii-image.jpg",
+ tempfile: Path.absname("test/fixtures/image_tmp.jpg")
+ }
+
+ [file_upload: file_upload]
+ end
+
+ test "save file", %{file_upload: file_upload} do
+ mock(fn
+ %{method: :post, url: "https://mdii.sakura.ne.jp/mdii-post.cgi?jpg"} ->
+ %Tesla.Env{status: 200, body: "mdii-image"}
+ end)
+
+ assert MDII.put_file(file_upload) ==
+ {:ok, {:url, "https://mdii.sakura.ne.jp/mdii-image.jpg"}}
+ end
+
+ test "save file to local if MDII isn`t available", %{file_upload: file_upload} do
+ mock(fn
+ %{method: :post, url: "https://mdii.sakura.ne.jp/mdii-post.cgi?jpg"} ->
+ %Tesla.Env{status: 500}
+ end)
+
+ assert MDII.put_file(file_upload) == :ok
+
+ assert Path.join([Pleroma.Uploaders.Local.upload_path(), file_upload.path])
+ |> File.exists?()
+ end
+ end
+end