aboutsummaryrefslogtreecommitdiff
path: root/test/object
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-07-02 10:17:51 +0000
committerrinpatch <rinpatch@sdf.org>2020-07-02 10:17:51 +0000
commit4c044f62258b33a95b8281e1eb42a5e0ce47d42d (patch)
treeb8bc7c42d007ff563793bb61189e2bb796f946a9 /test/object
parentb0439df1b529301c8f07097bedb1cba2602a4143 (diff)
parentce92e6e5ce24a68bedd744c01cc1a99f01c4fa91 (diff)
downloadpleroma-4c044f62258b33a95b8281e1eb42a5e0ce47d42d.tar.gz
Merge branch 'fetcher-fixes' into 'develop'
Don't fail fetching when the user in a replied-to message can't be fetched. See merge request pleroma/pleroma!2711
Diffstat (limited to 'test/object')
-rw-r--r--test/object/fetcher_test.exs40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs
index c06e91f12..d9098ea1b 100644
--- a/test/object/fetcher_test.exs
+++ b/test/object/fetcher_test.exs
@@ -26,6 +26,46 @@ defmodule Pleroma.Object.FetcherTest do
:ok
end
+ describe "error cases" do
+ setup do
+ mock(fn
+ %{method: :get, url: "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM"} ->
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json")
+ }
+
+ %{method: :get, url: "https://social.sakamoto.gq/users/eal"} ->
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/fetch_mocks/eal.json")
+ }
+
+ %{method: :get, url: "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069"} ->
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/fetch_mocks/104410921027210069.json")
+ }
+
+ %{method: :get, url: "https://busshi.moe/users/tuxcrafting"} ->
+ %Tesla.Env{
+ status: 500
+ }
+ end)
+
+ :ok
+ end
+
+ @tag capture_log: true
+ test "it works when fetching the OP actor errors out" do
+ # Here we simulate a case where the author of the OP can't be read
+ assert {:ok, _} =
+ Fetcher.fetch_object_from_id(
+ "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM"
+ )
+ end
+ end
+
describe "max thread distance restriction" do
@ap_id "http://mastodon.example.org/@admin/99541947525187367"
setup do: clear_config([:instance, :federation_incoming_replies_max_depth])