logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

force_bot_unlisted_policy_test.exs (1963B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.ActivityPub.MRF.ForceBotUnlistedPolicyTest do
  5. use Pleroma.DataCase, async: true
  6. import Pleroma.Factory
  7. alias Pleroma.Web.ActivityPub.MRF.ForceBotUnlistedPolicy
  8. @public "https://www.w3.org/ns/activitystreams#Public"
  9. defp generate_messages(actor) do
  10. {%{
  11. "actor" => actor.ap_id,
  12. "type" => "Create",
  13. "object" => %{},
  14. "to" => [@public, "f"],
  15. "cc" => [actor.follower_address, "d"]
  16. },
  17. %{
  18. "actor" => actor.ap_id,
  19. "type" => "Create",
  20. "object" => %{"to" => ["f", actor.follower_address], "cc" => ["d", @public]},
  21. "to" => ["f", actor.follower_address],
  22. "cc" => ["d", @public]
  23. }}
  24. end
  25. test "removes from the federated timeline by nickname heuristics 1" do
  26. actor = insert(:user, %{nickname: "annoying_ebooks@example.com"})
  27. {message, except_message} = generate_messages(actor)
  28. assert ForceBotUnlistedPolicy.filter(message) == {:ok, except_message}
  29. end
  30. test "removes from the federated timeline by nickname heuristics 2" do
  31. actor = insert(:user, %{nickname: "cirnonewsnetworkbot@meow.cat"})
  32. {message, except_message} = generate_messages(actor)
  33. assert ForceBotUnlistedPolicy.filter(message) == {:ok, except_message}
  34. end
  35. test "removes from the federated timeline by actor type Application" do
  36. actor = insert(:user, %{actor_type: "Application"})
  37. {message, except_message} = generate_messages(actor)
  38. assert ForceBotUnlistedPolicy.filter(message) == {:ok, except_message}
  39. end
  40. test "removes from the federated timeline by actor type Service" do
  41. actor = insert(:user, %{actor_type: "Service"})
  42. {message, except_message} = generate_messages(actor)
  43. assert ForceBotUnlistedPolicy.filter(message) == {:ok, except_message}
  44. end
  45. end