diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2020-11-16 22:23:28 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2020-11-16 22:23:28 +0300 |
commit | e4b202d905f4d2ec433862884f34729257990edf (patch) | |
tree | fb4eab1033baebffd514657b0c24cdab289f0f09 /test | |
parent | e1d25bad0c91f903ef6d8c7a2c5d7f2d63213d85 (diff) | |
download | pleroma-e4b202d905f4d2ec433862884f34729257990edf.tar.gz pleroma-e4b202d905f4d2ec433862884f34729257990edf.zip |
added test
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/web/pleroma_api/controllers/emoji_file_controller_test.exs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/pleroma/web/pleroma_api/controllers/emoji_file_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/emoji_file_controller_test.exs index 82de86ee3..6fbdaec7a 100644 --- a/test/pleroma/web/pleroma_api/controllers/emoji_file_controller_test.exs +++ b/test/pleroma/web/pleroma_api/controllers/emoji_file_controller_test.exs @@ -5,6 +5,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiFileControllerTest do use Pleroma.Web.ConnCase + import Mock import Tesla.Mock import Pleroma.Factory @@ -200,6 +201,31 @@ defmodule Pleroma.Web.PleromaAPI.EmojiFileControllerTest do } end + test "returns an error on add file when file system is not writable", %{ + admin_conn: admin_conn + } do + pack_file = Path.join([@emoji_path, "not_loaded", "pack.json"]) + + with_mocks([ + {File, [:passthrough], [stat: fn ^pack_file -> {:error, :eacces} end]} + ]) do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/files?name=not_loaded", %{ + shortcode: "blank3", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(500) == %{ + "error" => + "Unexpected error occurred while adding file to pack. (POSIX error: Permission denied)" + } + end + end + test "remove file with not loaded pack", %{admin_conn: admin_conn} do assert admin_conn |> delete("/api/pleroma/emoji/packs/files?name=not_loaded&shortcode=blank3") |