mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-22 16:16:34 +00:00
Add tests for downloading from fallback url
This commit is contained in:
parent
b78973d27f
commit
adf31d596e
3 changed files with 41 additions and 3 deletions
BIN
test/instance_static/emoji/test_pack_nonshared/nonshared.zip
Normal file
BIN
test/instance_static/emoji/test_pack_nonshared/nonshared.zip
Normal file
Binary file not shown.
|
@ -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
|
||||||
},
|
},
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue