46 lines
1.4 KiB
Elixir
46 lines
1.4 KiB
Elixir
|
defmodule Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicyTest do
|
||
|
use Pleroma.DataCase
|
||
|
import Pleroma.Factory
|
||
|
|
||
|
alias Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicy
|
||
|
|
||
|
describe "reject notes from new accounts" do
|
||
|
test "rejects notes from accounts created more recently than `age`" do
|
||
|
clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400)
|
||
|
sender = insert(:user, %{inserted_at: Timex.now(), local: false})
|
||
|
|
||
|
message = %{
|
||
|
"actor" => sender.ap_id,
|
||
|
"type" => "Create"
|
||
|
}
|
||
|
|
||
|
assert {:reject, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message)
|
||
|
end
|
||
|
|
||
|
test "does not reject notes from accounts created longer ago" do
|
||
|
clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400)
|
||
|
a_day_ago = Timex.shift(Timex.now(), days: -1)
|
||
|
sender = insert(:user, %{inserted_at: a_day_ago, local: false})
|
||
|
|
||
|
message = %{
|
||
|
"actor" => sender.ap_id,
|
||
|
"type" => "Create"
|
||
|
}
|
||
|
|
||
|
assert {:ok, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message)
|
||
|
end
|
||
|
|
||
|
test "does not affect local users" do
|
||
|
clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400)
|
||
|
sender = insert(:user, %{inserted_at: Timex.now(), local: true})
|
||
|
|
||
|
message = %{
|
||
|
"actor" => sender.ap_id,
|
||
|
"type" => "Create"
|
||
|
}
|
||
|
|
||
|
assert {:ok, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message)
|
||
|
end
|
||
|
end
|
||
|
end
|