diff options
| author | lain <lain@soykaf.club> | 2020-04-30 21:23:18 +0200 |
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-04-30 21:23:18 +0200 |
| commit | 32b8386edeec3e9b24123c3ccc81a22f1edd5a1c (patch) | |
| tree | e815a92b350d3b038cd09d66b4d4cae255b36f8e /test/web/activity_pub | |
| parent | 999d639873b70f75c340dbac3360d25bca27a998 (diff) | |
| download | pleroma-32b8386edeec3e9b24123c3ccc81a22f1edd5a1c.tar.gz pleroma-32b8386edeec3e9b24123c3ccc81a22f1edd5a1c.zip | |
DeleteValidator: Don't federate local deletions of remote objects.
Closes #1497
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/object_validator_test.exs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index 1d3646487..412db09ff 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -52,9 +52,11 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do test "it's invalid if the actor of the object and the actor of delete are from different domains", %{valid_post_delete: valid_post_delete} do + valid_user = insert(:user) + valid_other_actor = valid_post_delete - |> Map.put("actor", valid_post_delete["actor"] <> "1") + |> Map.put("actor", valid_user.ap_id) assert match?({:ok, _, _}, ObjectValidator.validate(valid_other_actor, [])) @@ -66,6 +68,19 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do assert {:actor, {"is not allowed to delete object", []}} in cng.errors end + + test "it's valid if the actor of the object is a local superuser", + %{valid_post_delete: valid_post_delete} do + user = + insert(:user, local: true, is_moderator: true, ap_id: "https://gensokyo.2hu/users/raymoo") + + valid_other_actor = + valid_post_delete + |> Map.put("actor", user.ap_id) + + {:ok, _, meta} = ObjectValidator.validate(valid_other_actor, []) + assert meta[:do_not_federate] + end end describe "likes" do |
