diff options
| -rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 3 | ||||
| -rw-r--r-- | test/web/activity_pub/transmogrifier/delete_handling_test.exs | 30 | 
2 files changed, 7 insertions, 26 deletions
| diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 855aab8d4..1e031a015 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -733,8 +733,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do          %{"type" => "Delete"} = data,          _options        ) do -    with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), -         {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do +    with {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do        {:ok, activity}      end    end diff --git a/test/web/activity_pub/transmogrifier/delete_handling_test.exs b/test/web/activity_pub/transmogrifier/delete_handling_test.exs index 64c908a05..c141e25bc 100644 --- a/test/web/activity_pub/transmogrifier/delete_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/delete_handling_test.exs @@ -13,7 +13,6 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do    alias Pleroma.Web.ActivityPub.Transmogrifier    import Pleroma.Factory -  import ExUnit.CaptureLog    setup_all do      Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) @@ -27,22 +26,15 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do      data =        File.read!("test/fixtures/mastodon-delete.json")        |> Poison.decode!() - -    object = -      data["object"] -      |> Map.put("id", activity.data["object"]) - -    data = -      data -      |> Map.put("object", object)        |> 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 base our timelines on it. +    # 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 @@ -54,25 +46,15 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do    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")      data =        File.read!("test/fixtures/mastodon-delete.json")        |> Poison.decode!() +      |> Map.put("actor", ap_id) +      |> put_in(["object", "id"], activity.data["object"]) -    object = -      data["object"] -      |> Map.put("id", activity.data["object"]) - -    data = -      data -      |> Map.put("object", object) - -    assert capture_log(fn -> -             {:error, _} = Transmogrifier.handle_incoming(data) -           end) =~ -             "[error] Could not decode user at fetch http://mastodon.example.org/users/gargron, {:error, :nxdomain}" - -    assert Activity.get_by_id(activity.id) +    assert match?({:error, _}, Transmogrifier.handle_incoming(data))    end    @tag capture_log: true | 
