Merge branch 'develop' into 'new-user-emails'

This commit is contained in:
feld 2021-02-08 22:01:32 +00:00 committed by Mark Felder
commit 593c0851d9
15 changed files with 475 additions and 149 deletions

View file

@ -45,6 +45,20 @@ defmodule Pleroma.NotificationTest do
assert notification.type == "pleroma:report"
end
test "suppresses notification to reporter if reporter is an admin" do
reporting_admin = insert(:user, is_admin: true)
reported_user = insert(:user)
other_admin = insert(:user, is_admin: true)
{:ok, activity} = CommonAPI.report(reporting_admin, %{account_id: reported_user.id})
{:ok, [notification]} = Notification.create_notifications(activity)
refute notification.user_id == reporting_admin.id
assert notification.user_id == other_admin.id
assert notification.type == "pleroma:report"
end
test "creates a notification for an emoji reaction" do
user = insert(:user)
other_user = insert(:user)

View file

@ -0,0 +1,154 @@
# 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.NoEmptyPolicyTest do
use Pleroma.DataCase
alias Pleroma.Web.ActivityPub.MRF.NoEmptyPolicy
setup_all do: clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.NoEmptyPolicy])
test "Notes with content are exempt" do
message = %{
"actor" => "http://localhost:4001/users/testuser",
"cc" => ["http://localhost:4001/users/testuser/followers"],
"object" => %{
"actor" => "http://localhost:4001/users/testuser",
"attachment" => [],
"cc" => ["http://localhost:4001/users/testuser/followers"],
"source" => "this is a test post",
"to" => ["https://www.w3.org/ns/activitystreams#Public"],
"type" => "Note"
},
"to" => ["https://www.w3.org/ns/activitystreams#Public"],
"type" => "Create"
}
assert NoEmptyPolicy.filter(message) == {:ok, message}
end
test "Polls are exempt" do
message = %{
"actor" => "http://localhost:4001/users/testuser",
"cc" => ["http://localhost:4001/users/testuser/followers"],
"object" => %{
"actor" => "http://localhost:4001/users/testuser",
"attachment" => [],
"cc" => ["http://localhost:4001/users/testuser/followers"],
"oneOf" => [
%{
"name" => "chocolate",
"replies" => %{"totalItems" => 0, "type" => "Collection"},
"type" => "Note"
},
%{
"name" => "vanilla",
"replies" => %{"totalItems" => 0, "type" => "Collection"},
"type" => "Note"
}
],
"source" => "@user2",
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Question"
},
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Create"
}
assert NoEmptyPolicy.filter(message) == {:ok, message}
end
test "Notes with attachments are exempt" do
message = %{
"actor" => "http://localhost:4001/users/testuser",
"cc" => ["http://localhost:4001/users/testuser/followers"],
"object" => %{
"actor" => "http://localhost:4001/users/testuser",
"attachment" => [
%{
"actor" => "http://localhost:4001/users/testuser",
"mediaType" => "image/png",
"name" => "",
"type" => "Document",
"url" => [
%{
"href" =>
"http://localhost:4001/media/68ba231cf12e1382ce458f1979969f8ed5cc07ba198a02e653464abaf39bdb90.png",
"mediaType" => "image/png",
"type" => "Link"
}
]
}
],
"cc" => ["http://localhost:4001/users/testuser/followers"],
"source" => "@user2",
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Note"
},
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Create"
}
assert NoEmptyPolicy.filter(message) == {:ok, message}
end
test "Notes with only mentions are denied" do
message = %{
"actor" => "http://localhost:4001/users/testuser",
"cc" => ["http://localhost:4001/users/testuser/followers"],
"object" => %{
"actor" => "http://localhost:4001/users/testuser",
"attachment" => [],
"cc" => ["http://localhost:4001/users/testuser/followers"],
"source" => "@user2",
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Note"
},
"to" => [
"https://www.w3.org/ns/activitystreams#Public",
"http://localhost:4001/users/user2"
],
"type" => "Create"
}
assert NoEmptyPolicy.filter(message) == {:reject, "[NoEmptyPolicy]"}
end
test "Notes with no content are denied" do
message = %{
"actor" => "http://localhost:4001/users/testuser",
"cc" => ["http://localhost:4001/users/testuser/followers"],
"object" => %{
"actor" => "http://localhost:4001/users/testuser",
"attachment" => [],
"cc" => ["http://localhost:4001/users/testuser/followers"],
"source" => "",
"to" => [
"https://www.w3.org/ns/activitystreams#Public"
],
"type" => "Note"
},
"to" => [
"https://www.w3.org/ns/activitystreams#Public"
],
"type" => "Create"
}
assert NoEmptyPolicy.filter(message) == {:reject, "[NoEmptyPolicy]"}
end
end