aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/pleroma/upload_test.exs15
-rw-r--r--test/pleroma/web/mastodon_api/controllers/media_controller_test.exs26
2 files changed, 41 insertions, 0 deletions
diff --git a/test/pleroma/upload_test.exs b/test/pleroma/upload_test.exs
index e975f57c3..fc5b0acc4 100644
--- a/test/pleroma/upload_test.exs
+++ b/test/pleroma/upload_test.exs
@@ -157,6 +157,21 @@ defmodule Pleroma.UploadTest do
assert data["filename"] == filename
end
+ @tag capture_log: true
+ test "raise error when custom filename has different extension than original one" do
+ File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg")
+
+ fake_name = "free_coins.exe"
+
+ file = %Plug.Upload{
+ content_type: "image/jpg",
+ path: Path.absname("test/fixtures/image_tmp.jpg"),
+ filename: "image_tmp.jpg"
+ }
+
+ assert Upload.store(file, filename: fake_name) == {:error, :invalid_filename_extension}
+ end
+
test "returns a media url" do
File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg")
diff --git a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs
index 5aa077cef..c471c0366 100644
--- a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs
@@ -71,6 +71,32 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do
object = Object.get_by_id(media["id"])
assert object.data["actor"] == user.ap_id
end
+
+ test "returns error when description is too long", %{conn: conn, image: image} do
+ clear_config([:instance, :description_limit], 2)
+
+ response =
+ conn
+ |> put_req_header("content-type", "multipart/form-data")
+ |> post("/api/v1/media", %{"file" => image, "description" => "test-media"})
+ |> json_response(400)
+
+ assert response["error"] == "description_too_long"
+ end
+
+ @tag capture_log: true
+ test "returns error when custom filename has different extension than original one", %{
+ conn: conn,
+ image: image
+ } do
+ response =
+ conn
+ |> put_req_header("content-type", "multipart/form-data")
+ |> post("/api/v1/media", %{"file" => image, "filename" => "wrong.gif"})
+ |> json_response(400)
+
+ assert response["error"] == "invalid_filename_extension"
+ end
end
describe "Update media description" do