summaryrefslogtreecommitdiff
path: root/test/web/activity_pub/transmogrifier/delete_handling_test.exs
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-05-13 12:42:36 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-05-13 12:42:36 +0300
commitfd2fb2bb2e2292997fbe6f70c4d12b50c56cfab9 (patch)
tree12f2ac82ed24394fb52b5d0664583dc668814421 /test/web/activity_pub/transmogrifier/delete_handling_test.exs
parentbfb48e3db6009c31e52cfe5ac4828a6143d7e549 (diff)
parent156c8a508846bd6d4e55f666c4ecc6f0129ac5fc (diff)
downloadpleroma-fd2fb2bb2e2292997fbe6f70c4d12b50c56cfab9.tar.gz
pleroma-fd2fb2bb2e2292997fbe6f70c4d12b50c56cfab9.zip
Merge remote-tracking branch 'remotes/origin/develop' into restricted-relations-embedding
# Conflicts: # lib/pleroma/web/mastodon_api/controllers/status_controller.ex # lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex # test/web/mastodon_api/controllers/timeline_controller_test.exs # test/web/mastodon_api/views/status_view_test.exs
Diffstat (limited to 'test/web/activity_pub/transmogrifier/delete_handling_test.exs')
-rw-r--r--test/web/activity_pub/transmogrifier/delete_handling_test.exs28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/web/activity_pub/transmogrifier/delete_handling_test.exs b/test/web/activity_pub/transmogrifier/delete_handling_test.exs
index f235a8e63..c9a53918c 100644
--- a/test/web/activity_pub/transmogrifier/delete_handling_test.exs
+++ b/test/web/activity_pub/transmogrifier/delete_handling_test.exs
@@ -44,6 +44,34 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do
assert object.data["type"] == "Tombstone"
end
+ test "it works for incoming when the object has been pruned" do
+ activity = insert(:note_activity)
+
+ {:ok, object} =
+ Object.normalize(activity.data["object"])
+ |> Repo.delete()
+
+ Cachex.del(:object_cache, "object:#{object.data["id"]}")
+
+ deleting_user = insert(:user)
+
+ data =
+ File.read!("test/fixtures/mastodon-delete.json")
+ |> Poison.decode!()
+ |> Map.put("actor", deleting_user.ap_id)
+ |> put_in(["object", "id"], activity.data["object"])
+
+ {:ok, %Activity{actor: actor, local: false, data: %{"id" => id}}} =
+ Transmogrifier.handle_incoming(data)
+
+ assert id == data["id"]
+
+ # We delete the Create activity because we base our timelines on it.
+ # This should be changed after we unify objects and activities
+ refute Activity.get_by_id(activity.id)
+ assert actor == deleting_user.ap_id
+ end
+
test "it fails for incoming deletes with spoofed origin" do
activity = insert(:note_activity)
%{ap_id: ap_id} = insert(:user, ap_id: "https://gensokyo.2hu/users/raymoo")