diff options
author | Mark Felder <feld@feld.me> | 2021-02-19 18:36:21 -0600 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-03-30 11:10:44 -0500 |
commit | f73d1667854fc4c6c721bf49a7deeefde1f569e3 (patch) | |
tree | a75cc2742e987e7041955352aad6599fbbf59681 | |
parent | c252ac71d4ea4f3b08bd3524f32ee3fe9308be06 (diff) | |
download | pleroma-f73d1667854fc4c6c721bf49a7deeefde1f569e3.tar.gz |
Only need to validate a follow request is generated for now
-rw-r--r-- | test/pleroma/web/activity_pub/mrf/followbot_policy_test.exs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/pleroma/web/activity_pub/mrf/followbot_policy_test.exs b/test/pleroma/web/activity_pub/mrf/followbot_policy_test.exs new file mode 100644 index 000000000..283e9b12c --- /dev/null +++ b/test/pleroma/web/activity_pub/mrf/followbot_policy_test.exs @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicyTest do + use Pleroma.DataCase, async: true + + alias Pleroma.User + alias Pleroma.Web.ActivityPub.MRF.FollowbotPolicy + + import Pleroma.Factory + + describe "FollowBotPolicy" do + test "follows remote users" do + bot = insert(:user, actor_type: "Service") + remote_user = insert(:user, local: false) + clear_config([:mrf_follow_bot, :follower_nickname], bot.nickname) + + message = %{ + "@context" => "https://www.w3.org/ns/activitystreams", + "to" => [remote_user.follower_address], + "cc" => ["https://www.w3.org/ns/activitystreams#Public"], + "type" => "Create", + "object" => %{ + "content" => "Test post", + "type" => "Note", + "attributedTo" => remote_user.ap_id, + "inReplyTo" => nil + }, + "actor" => remote_user.ap_id + } + + refute User.following?(bot, remote_user) + + assert User.get_follow_requests(remote_user) |> length == 0 + + FollowbotPolicy.filter(message) + + assert User.get_follow_requests(remote_user) |> length == 1 + end + end +end |