summaryrefslogtreecommitdiff
path: root/test/object/fetcher_test.exs
diff options
context:
space:
mode:
authorMaksim Pechnikov <parallel588@gmail.com>2020-02-25 07:15:33 +0300
committerMaksim Pechnikov <parallel588@gmail.com>2020-02-25 07:22:56 +0300
commit10f452ad1feae9a882b6dc4cd35e09adb7e78208 (patch)
tree62083f08fbe99cd38002d1f6896cd2fd79675320 /test/object/fetcher_test.exs
parent28701c08ad9219219a32f31b2ed9dcb83f92cd59 (diff)
parent035c2c1415ed46abb268cf85c141384416a799e2 (diff)
downloadpleroma-10f452ad1feae9a882b6dc4cd35e09adb7e78208.tar.gz
pleroma-10f452ad1feae9a882b6dc4cd35e09adb7e78208.zip
Merge branch 'develop' into issue/1276
Diffstat (limited to 'test/object/fetcher_test.exs')
-rw-r--r--test/object/fetcher_test.exs25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs
index 2aad7a588..3afd35648 100644
--- a/test/object/fetcher_test.exs
+++ b/test/object/fetcher_test.exs
@@ -26,6 +26,31 @@ defmodule Pleroma.Object.FetcherTest do
:ok
end
+ describe "max thread distance restriction" do
+ @ap_id "http://mastodon.example.org/@admin/99541947525187367"
+
+ clear_config([:instance, :federation_incoming_replies_max_depth])
+
+ test "it returns thread depth exceeded error if thread depth is exceeded" do
+ Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 0)
+
+ assert {:error, "Max thread distance exceeded."} =
+ Fetcher.fetch_object_from_id(@ap_id, depth: 1)
+ end
+
+ test "it fetches object if max thread depth is restricted to 0 and depth is not specified" do
+ Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 0)
+
+ assert {:ok, _} = Fetcher.fetch_object_from_id(@ap_id)
+ end
+
+ test "it fetches object if requested depth does not exceed max thread depth" do
+ Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 10)
+
+ assert {:ok, _} = Fetcher.fetch_object_from_id(@ap_id, depth: 10)
+ end
+ end
+
describe "actor origin containment" do
test "it rejects objects with a bogus origin" do
{:error, _} = Fetcher.fetch_object_from_id("https://info.pleroma.site/activity.json")