diff options
author | eal <eal@waifu.club> | 2018-04-14 14:26:20 +0300 |
---|---|---|
committer | eal <eal@waifu.club> | 2018-04-14 14:26:20 +0300 |
commit | 48380aecccc74b0a376ed1efb55a269b35516566 (patch) | |
tree | 8dcaddc8b96d1ad07df8f852416c9d1214f1ab36 /test | |
parent | b910483c16e231f107d0c4e8c76f60a6a1bd1a79 (diff) | |
download | pleroma-48380aecccc74b0a376ed1efb55a269b35516566.tar.gz pleroma-48380aecccc74b0a376ed1efb55a269b35516566.zip |
ActivityPub.ex: do not return boosted statuses from blocked users.
Diffstat (limited to 'test')
-rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 657d75a55..e3f78d002 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -2,6 +2,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do use Pleroma.DataCase alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.ActivityPub.Utils + alias Pleroma.Web.CommonAPI alias Pleroma.{Activity, Object, User} alias Pleroma.Builders.ActivityBuilder @@ -128,12 +129,15 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do test "doesn't return blocked activities" do activity_one = insert(:note_activity) activity_two = insert(:note_activity) + activity_three = insert(:note_activity) user = insert(:user) + booster = insert(:user) {:ok, user} = User.block(user, %{ap_id: activity_one.data["actor"]}) activities = ActivityPub.fetch_activities([], %{"blocking_user" => user}) assert Enum.member?(activities, activity_two) + assert Enum.member?(activities, activity_three) refute Enum.member?(activities, activity_one) {:ok, user} = User.unblock(user, %{ap_id: activity_one.data["actor"]}) @@ -141,11 +145,26 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do activities = ActivityPub.fetch_activities([], %{"blocking_user" => user}) assert Enum.member?(activities, activity_two) + assert Enum.member?(activities, activity_three) + assert Enum.member?(activities, activity_one) + + {:ok, user} = User.block(user, %{ap_id: activity_three.data["actor"]}) + {:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(activity_three.id, booster) + %Activity{} = boost_activity = Activity.get_create_activity_by_object_ap_id(id) + activity_three = Repo.get(Activity, activity_three.id) + + activities = ActivityPub.fetch_activities([], %{"blocking_user" => user}) + + assert Enum.member?(activities, activity_two) + refute Enum.member?(activities, activity_three) + refute Enum.member?(activities, boost_activity) assert Enum.member?(activities, activity_one) activities = ActivityPub.fetch_activities([], %{"blocking_user" => nil}) assert Enum.member?(activities, activity_two) + assert Enum.member?(activities, activity_three) + assert Enum.member?(activities, boost_activity) assert Enum.member?(activities, activity_one) end |