From 597cb8897b64ba8353ccc045addb4672b97ab18f Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Fri, 18 Oct 2019 00:37:13 +0000 Subject: tests: remove some more ostatus tests --- test/object/fetcher_test.exs | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'test/object') diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 895a73d2c..851a503a7 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -71,24 +71,6 @@ defmodule Pleroma.Object.FetcherTest do assert object == object_again end - - test "it works with objects only available via Ostatus" do - {:ok, object} = Fetcher.fetch_object_from_id("https://shitposter.club/notice/2827873") - assert activity = Activity.get_create_by_object_ap_id(object.data["id"]) - assert activity.data["id"] - - {:ok, object_again} = Fetcher.fetch_object_from_id("https://shitposter.club/notice/2827873") - - assert object == object_again - end - - test "it correctly stitches up conversations between ostatus and ap" do - last = "https://mstdn.io/users/mayuutann/statuses/99568293732299394" - {:ok, object} = Fetcher.fetch_object_from_id(last) - - object = Object.get_by_ap_id(object.data["inReplyTo"]) - assert object - end end describe "implementation quirks" do -- cgit v1.2.3 From af9aa8e35809561a3edbd79ed1adb7de31056f38 Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Fri, 18 Oct 2019 00:51:53 +0000 Subject: tests: simplify object fetching and containment tests --- test/object/containment_test.exs | 2 +- test/object/fetcher_test.exs | 21 +++------------------ 2 files changed, 4 insertions(+), 19 deletions(-) (limited to 'test/object') diff --git a/test/object/containment_test.exs b/test/object/containment_test.exs index 61cd1b412..0dc2728b9 100644 --- a/test/object/containment_test.exs +++ b/test/object/containment_test.exs @@ -65,7 +65,7 @@ defmodule Pleroma.Object.ContainmentTest do assert capture_log(fn -> {:error, _} = User.get_or_fetch_by_ap_id("https://n1u.moe/users/rye") end) =~ - "[error] Could not decode user at fetch https://n1u.moe/users/rye, {:error, :error}" + "[error] Could not decode user at fetch https://n1u.moe/users/rye" end end diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 851a503a7..9ae6b015d 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -27,31 +27,16 @@ defmodule Pleroma.Object.FetcherTest do end describe "actor origin containment" do - test_with_mock "it rejects objects with a bogus origin", - Pleroma.Web.OStatus, - [:passthrough], - [] do + test "it rejects objects with a bogus origin" do {:error, _} = Fetcher.fetch_object_from_id("https://info.pleroma.site/activity.json") - - refute called(Pleroma.Web.OStatus.fetch_activity_from_url(:_)) end - test_with_mock "it rejects objects when attributedTo is wrong (variant 1)", - Pleroma.Web.OStatus, - [:passthrough], - [] do + test "it rejects objects when attributedTo is wrong (variant 1)" do {:error, _} = Fetcher.fetch_object_from_id("https://info.pleroma.site/activity2.json") - - refute called(Pleroma.Web.OStatus.fetch_activity_from_url(:_)) end - test_with_mock "it rejects objects when attributedTo is wrong (variant 2)", - Pleroma.Web.OStatus, - [:passthrough], - [] do + test "it rejects objects when attributedTo is wrong (variant 2)" do {:error, _} = Fetcher.fetch_object_from_id("https://info.pleroma.site/activity3.json") - - refute called(Pleroma.Web.OStatus.fetch_activity_from_url(:_)) end end -- cgit v1.2.3 From 5b60d82592e3fd19646add354de4cde903abf38c Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Fri, 8 Nov 2019 14:51:28 -0600 Subject: object containment: handle all cases where ID is invalid (missing, nil, non-string) --- test/object/containment_test.exs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/object') diff --git a/test/object/containment_test.exs b/test/object/containment_test.exs index 0dc2728b9..71fe5204c 100644 --- a/test/object/containment_test.exs +++ b/test/object/containment_test.exs @@ -67,6 +67,20 @@ defmodule Pleroma.Object.ContainmentTest do end) =~ "[error] Could not decode user at fetch https://n1u.moe/users/rye" end + + test "contain_origin_from_id() gracefully handles cases where no ID is present" do + data = %{ + "type" => "Create", + "object" => %{ + "id" => "http://example.net/~alyssa/activities/1234", + "attributedTo" => "http://example.org/~alyssa" + }, + "actor" => "http://example.com/~bob" + } + + :error = + Containment.contain_origin_from_id("http://example.net/~alyssa/activities/1234", data) + end end describe "containment of children" do -- cgit v1.2.3 From e835cd97f6988522dae8f60a0381f0f93c6abb2d Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 12 Nov 2019 12:07:17 +0100 Subject: Containment: Add a catch-all clause to contain_origin. --- test/object/containment_test.exs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/object') diff --git a/test/object/containment_test.exs b/test/object/containment_test.exs index 71fe5204c..7636803a6 100644 --- a/test/object/containment_test.exs +++ b/test/object/containment_test.exs @@ -17,6 +17,16 @@ defmodule Pleroma.Object.ContainmentTest do end describe "general origin containment" do + test "works for completely actorless posts" do + assert :error == + Containment.contain_origin("https://glaceon.social/users/monorail", %{ + "deleted" => "2019-10-30T05:48:50.249606Z", + "formerType" => "Note", + "id" => "https://glaceon.social/users/monorail/statuses/103049757364029187", + "type" => "Tombstone" + }) + end + test "contain_origin_from_id() catches obvious spoofing attempts" do data = %{ "id" => "http://example.com/~alyssa/activities/1234.json" -- cgit v1.2.3 From d2f1c4f658a8c995716aee3876cb46a0f48f99cb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 17 Dec 2019 16:16:21 +0100 Subject: Add ActivityPub Object Event type support Adds Event support in the same way Video objects are handled, with the name of the object as message header. Signed-off-by: Thomas Citharel --- test/object/fetcher_test.exs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/object') diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 9ae6b015d..2aad7a588 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -77,6 +77,15 @@ defmodule Pleroma.Object.FetcherTest do assert object end + test "it can fetch Mobilizon events" do + {:ok, object} = + Fetcher.fetch_object_from_id( + "https://mobilizon.org/events/252d5816-00a3-4a89-a66f-15bf65c33e39" + ) + + assert object + end + test "it can fetch wedistribute articles" do {:ok, object} = Fetcher.fetch_object_from_id("https://wedistribute.org/wp-json/pterotype/v1/object/85810") -- cgit v1.2.3 From 269d592181bff8601f6545b85158ee1c222ff20d Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 15 Feb 2020 20:41:38 +0300 Subject: [#1505] Restricted max thread distance for fetching replies on incoming federation (in addition to reply-to depth restriction). --- test/object/fetcher_test.exs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test/object') 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") -- cgit v1.2.3 From 6da65400362d2189a995a182789c099b108b26bc Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 2 Mar 2020 06:08:45 +0100 Subject: Bump copyright years of files changed after 2020-01-07 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Done via the following command: git diff fcd5dd259a1700a045be902b43391b0d1bd58a5b --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors ' --- test/object/fetcher_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/object') diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 3afd35648..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 +# Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Object.FetcherTest do -- cgit v1.2.3 From 05da5f5cca00c8b061858ff85e4a4640f3d91cb6 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 3 Mar 2020 16:44:49 -0600 Subject: Update Copyrights --- test/object/containment_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/object') diff --git a/test/object/containment_test.exs b/test/object/containment_test.exs index 7636803a6..90b6dccf2 100644 --- a/test/object/containment_test.exs +++ b/test/object/containment_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors +# Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Object.ContainmentTest do -- cgit v1.2.3