Add tests for downloading from fallback url

This commit is contained in:
Ekaterina Vaartis 2019-08-15 12:07:51 +03:00
parent b78973d27f
commit adf31d596e
3 changed files with 41 additions and 3 deletions

View file

@ -4,8 +4,8 @@
"homepage": "https://pleroma.social", "homepage": "https://pleroma.social",
"description": "Test description", "description": "Test description",
"fallblack-src": "https://example.com", "fallback-src": "https://nonshared-pack",
"fallback-src-sha256": "65CDCCBCA9388A68023519F997367783BE69ED42864398CAC568E56F65CE0E75", "fallback-src-sha256": "74409E2674DAA06C072729C6C8426C4CB3B7E0B85ED77792DB7A436E11D76DAF",
"share-files": false "share-files": false
}, },

View file

@ -42,9 +42,10 @@ defmodule Pleroma.Web.EmojiAPI.EmojiAPIControllerTest do
assert Enum.find(arch, fn {n, _} -> n == 'blank.png' end) assert Enum.find(arch, fn {n, _} -> n == 'blank.png' end)
end end
test "downloading a shared pack from another instance via download_from, deleting it" do test "downloading shared & unshared packs from another instance via download_from, deleting them" do
on_exit(fn -> on_exit(fn ->
File.rm_rf!("test/instance_static/emoji/test_pack2") File.rm_rf!("test/instance_static/emoji/test_pack2")
File.rm_rf!("test/instance_static/emoji/test_pack_nonshared2")
end) end)
mock(fn mock(fn
@ -69,6 +70,12 @@ defmodule Pleroma.Web.EmojiAPI.EmojiAPIControllerTest do
|> get(emoji_api_path(conn, :download_shared, "test_pack")) |> get(emoji_api_path(conn, :download_shared, "test_pack"))
|> response(200) |> response(200)
|> text() |> text()
%{
method: :get,
url: "https://nonshared-pack"
} ->
text(File.read!("test/instance_static/emoji/test_pack_nonshared/nonshared.zip"))
end) end)
admin = insert(:user, info: %{is_admin: true}) admin = insert(:user, info: %{is_admin: true})
@ -101,5 +108,36 @@ defmodule Pleroma.Web.EmojiAPI.EmojiAPIControllerTest do
|> response(200) == "ok" |> response(200) == "ok"
refute File.exists?("test/instance_static/emoji/test_pack2") refute File.exists?("test/instance_static/emoji/test_pack2")
# non-shared, downloaded from the fallback URL
conn = build_conn()
assert conn
|> put_req_header("content-type", "application/json")
|> assign(:user, admin)
|> post(
emoji_api_path(
conn,
:download_from
),
%{
instance_address: "https://example.com",
pack_name: "test_pack_nonshared",
as: "test_pack_nonshared2"
}
|> Jason.encode!()
)
|> text_response(200) == "ok"
assert File.exists?("test/instance_static/emoji/test_pack_nonshared2/pack.json")
assert File.exists?("test/instance_static/emoji/test_pack_nonshared2/blank.png")
assert conn
|> assign(:user, admin)
|> delete(emoji_api_path(conn, :delete, "test_pack_nonshared2"))
|> response(200) == "ok"
refute File.exists?("test/instance_static/emoji/test_pack_nonshared2")
end end
end end