diff options
author | rinpatch <rinpatch@sdf.org> | 2019-02-15 13:18:35 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-02-15 13:18:35 +0000 |
commit | 921571c19bf4a7fcea666aa70744a02fe108d11a (patch) | |
tree | e480e315cfd0b296d0465362fb1bb20380acec02 /test | |
parent | b63a5e309d7a36c27b745eb74ec8a7115c60a820 (diff) | |
parent | c2e0a0c8d44f8697160d4597db45c5c4afd0d8a6 (diff) | |
download | pleroma-921571c19bf4a7fcea666aa70744a02fe108d11a.tar.gz pleroma-921571c19bf4a7fcea666aa70744a02fe108d11a.zip |
Merge branch 'hellthread-filter-fix' into 'develop'
Hellthread filter fix
Closes #634
See merge request pleroma/pleroma!831
Diffstat (limited to 'test')
-rw-r--r-- | test/web/activity_pub/mrf/hellthread_policy_test.exs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/web/activity_pub/mrf/hellthread_policy_test.exs b/test/web/activity_pub/mrf/hellthread_policy_test.exs new file mode 100644 index 000000000..ebf9997cd --- /dev/null +++ b/test/web/activity_pub/mrf/hellthread_policy_test.exs @@ -0,0 +1,50 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.MRF.HellthreadPolicyTest do + use Pleroma.DataCase + import Pleroma.Factory + + import Pleroma.Web.ActivityPub.MRF.HellthreadPolicy + + describe "hellthread filter tests" do + setup do + user = insert(:user) + + message = %{ + "actor" => user.ap_id, + "cc" => [user.follower_address], + "type" => "Create", + "to" => [ + "https://www.w3.org/ns/activitystreams#Public", + "https://instace.tld/users/user1", + "https://instace.tld/users/user2", + "https://instace.tld/users/user3" + ] + } + + [user: user, message: message] + end + + test "reject test", %{message: message} do + Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 0, reject_threshold: 2}) + + {:reject, nil} = filter(message) + end + + test "delist test", %{user: user, message: message} do + Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 2, reject_threshold: 0}) + + {:ok, message} = filter(message) + assert user.follower_address in message["to"] + assert "https://www.w3.org/ns/activitystreams#Public" in message["cc"] + end + + test "excludes follower collection and public URI from threshold count", %{message: message} do + Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 0, reject_threshold: 3}) + + {:ok, _} = filter(message) + end + end +end |