diff options
author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2020-05-13 12:42:36 +0300 |
---|---|---|
committer | Ivan Tashkinov <ivantashkinov@gmail.com> | 2020-05-13 12:42:36 +0300 |
commit | fd2fb2bb2e2292997fbe6f70c4d12b50c56cfab9 (patch) | |
tree | 12f2ac82ed24394fb52b5d0664583dc668814421 /test/web/activity_pub/transmogrifier/delete_handling_test.exs | |
parent | bfb48e3db6009c31e52cfe5ac4828a6143d7e549 (diff) | |
parent | 156c8a508846bd6d4e55f666c4ecc6f0129ac5fc (diff) | |
download | pleroma-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.exs | 28 |
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") |