diff options
| author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-03-03 00:32:34 +0400 |
|---|---|---|
| committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-03-03 00:32:34 +0400 |
| commit | 0f386110c6e15148ff1ff5ea3451885485fcb7ff (patch) | |
| tree | 8a4dcbede6c674730980e1fafa5b956518170a14 /test/object | |
| parent | 011ede45361096f55dda938078e24574cdf33b2b (diff) | |
| parent | 4c02e049358441529c54a72cd11f1c81ee897d49 (diff) | |
| download | pleroma-0f386110c6e15148ff1ff5ea3451885485fcb7ff.tar.gz pleroma-0f386110c6e15148ff1ff5ea3451885485fcb7ff.zip | |
Merge remote-tracking branch 'origin/develop' into global-status-expiration
Diffstat (limited to 'test/object')
| -rw-r--r-- | test/object/fetcher_test.exs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 2aad7a588..4775ee152 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Object.FetcherTest do @@ -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") |
