aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-12-11 09:57:00 +0000
committerrinpatch <rinpatch@sdf.org>2019-12-11 09:57:00 +0000
commit72f3b2213425b37ea6b493beb543cc1748e4ae79 (patch)
tree1b9071d740c072d5fbbc4e2848afa029ec1efe58 /test
parent1f498ba2bb77a6dd103631d9de1e5c1bbfaaea10 (diff)
parent1ad96d667ae2f8a14a0b7c701a99c7fa72985a00 (diff)
downloadpleroma-72f3b2213425b37ea6b493beb543cc1748e4ae79.tar.gz
Merge branch 'domain-block-precedence' into 'develop'
make follows take precedence over domain blocks See merge request pleroma/pleroma!2019
Diffstat (limited to 'test')
-rw-r--r--test/user_test.exs10
-rw-r--r--test/web/activity_pub/activity_pub_test.exs33
2 files changed, 43 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index bfa8faafa..d7ab63463 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -914,6 +914,16 @@ defmodule Pleroma.UserTest do
refute User.blocks?(user, collateral_user)
end
+
+ test "follows take precedence over domain blocks" do
+ user = insert(:user)
+ good_eggo = insert(:user, %{ap_id: "https://meanies.social/user/cuteposter"})
+
+ {:ok, user} = User.block_domain(user, "meanies.social")
+ {:ok, user} = User.follow(user, good_eggo)
+
+ refute User.blocks?(user, good_eggo)
+ end
end
describe "blocks_import" do
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs
index 97844a407..8ae0f45d0 100644
--- a/test/web/activity_pub/activity_pub_test.exs
+++ b/test/web/activity_pub/activity_pub_test.exs
@@ -608,6 +608,39 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
refute repeat_activity in activities
end
+ test "does return activities from followed users on blocked domains" do
+ domain = "meanies.social"
+ domain_user = insert(:user, %{ap_id: "https://#{domain}/@pundit"})
+ blocker = insert(:user)
+
+ {:ok, blocker} = User.follow(blocker, domain_user)
+ {:ok, blocker} = User.block_domain(blocker, domain)
+
+ assert User.following?(blocker, domain_user)
+ assert User.blocks_domain?(blocker, domain_user)
+ refute User.blocks?(blocker, domain_user)
+
+ note = insert(:note, %{data: %{"actor" => domain_user.ap_id}})
+ activity = insert(:note_activity, %{note: note})
+
+ activities =
+ ActivityPub.fetch_activities([], %{"blocking_user" => blocker, "skip_preload" => true})
+
+ assert activity in activities
+
+ # And check that if the guy we DO follow boosts someone else from their domain,
+ # that should be hidden
+ another_user = insert(:user, %{ap_id: "https://#{domain}/@meanie2"})
+ bad_note = insert(:note, %{data: %{"actor" => another_user.ap_id}})
+ bad_activity = insert(:note_activity, %{note: bad_note})
+ {:ok, repeat_activity, _} = CommonAPI.repeat(bad_activity.id, domain_user)
+
+ activities =
+ ActivityPub.fetch_activities([], %{"blocking_user" => blocker, "skip_preload" => true})
+
+ refute repeat_activity in activities
+ end
+
test "doesn't return muted activities" do
activity_one = insert(:note_activity)
activity_two = insert(:note_activity)