aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-17 21:22:30 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-11-17 21:22:57 +0000
commitdfcfb184b10428af8d37492e64f271c0275fc2c9 (patch)
treed5920e48f086e916eb3d17bee22dafd38f204e9b /test
parentb1a6e8d80d47efdea5110e9d86e080a16b5aeaa8 (diff)
downloadpleroma-dfcfb184b10428af8d37492e64f271c0275fc2c9.tar.gz
activitypub: transmogrifier: make deletes secure
Diffstat (limited to 'test')
-rw-r--r--test/web/activity_pub/transmogrifier_test.exs20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs
index 9174d9b76..829da0a65 100644
--- a/test/web/activity_pub/transmogrifier_test.exs
+++ b/test/web/activity_pub/transmogrifier_test.exs
@@ -361,6 +361,26 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
refute Repo.get(Activity, activity.id)
end
+ test "it fails for incoming deletes with spoofed origin" do
+ activity = insert(:note_activity)
+
+ data =
+ File.read!("test/fixtures/mastodon-delete.json")
+ |> Poison.decode!()
+
+ object =
+ data["object"]
+ |> Map.put("id", activity.data["object"]["id"])
+
+ data =
+ data
+ |> Map.put("object", object)
+
+ :error = Transmogrifier.handle_incoming(data)
+
+ assert Repo.get(Activity, activity.id)
+ end
+
test "it works for incoming unannounces with an existing notice" do
user = insert(:user)
{:ok, activity} = CommonAPI.post(user, %{"status" => "hey"})