aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2021-02-19 18:36:21 -0600
committerMark Felder <feld@feld.me>2021-03-30 11:10:44 -0500
commitf73d1667854fc4c6c721bf49a7deeefde1f569e3 (patch)
treea75cc2742e987e7041955352aad6599fbbf59681
parentc252ac71d4ea4f3b08bd3524f32ee3fe9308be06 (diff)
downloadpleroma-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.exs42
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