diff options
| author | Sadposter <hannah+pleroma@coffee-and-dreams.uk> | 2019-12-10 16:40:12 +0000 | 
|---|---|---|
| committer | Sadposter <hannah+pleroma@coffee-and-dreams.uk> | 2019-12-10 16:40:12 +0000 | 
| commit | 19d228cc586a1304ef6e982a447a77f8c3a48772 (patch) | |
| tree | ced6ebba060bcdcccc1d23b20225107540dc6f3d /test | |
| parent | c7cc80a9ee00f7bf9e307a09c5f2cc85fedd67d5 (diff) | |
| download | pleroma-19d228cc586a1304ef6e982a447a77f8c3a48772.tar.gz pleroma-19d228cc586a1304ef6e982a447a77f8c3a48772.zip | |
modify SQL to include followed-but-domain-blocked activities
Diffstat (limited to 'test')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index d437ad456..503bbf0db 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -605,6 +605,38 @@ 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) | 
