logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/
commit: f91474851050e5d9b67e301d3558f236d253f002
parent 3f16965178ef3751800ba4bd5e046be956adaeb2
Author: Phantasm <phantasm@centrum.cz>
Date:   Fri,  5 Dec 2025 15:59:25 +0100

Transmogrifier: make Listen Activity test more strict

Diffstat:

Mtest/pleroma/web/activity_pub/transmogrifier_test.exs32+++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs @@ -566,6 +566,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do test "it can handle Listen activities" do listen_activity = insert(:listen) + # This has an inlined object as in ObjectView {:ok, modified} = Transmogrifier.prepare_outgoing(listen_activity.data) assert modified["type"] == "Listen" @@ -574,7 +575,36 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do {:ok, activity} = CommonAPI.listen(user, %{"title" => "lain radio episode 1"}) - {:ok, _modified} = Transmogrifier.prepare_outgoing(activity.data) + user_ap_id = user.ap_id + activity_ap_id = activity.data["id"] + activity_to = activity.data["to"] + activity_cc = activity.data["cc"] + object_ap_id = activity.data["object"] + object_type = activity.object.data["type"] + + # This does not have an inlined object + {:ok, modified2} = Transmogrifier.prepare_outgoing(activity.data) + + assert match?( + %{ + "@context" => [_ | _], + "type" => "Listen", + "actor" => ^user_ap_id, + "to" => ^activity_to, + "cc" => ^activity_cc, + "context" => "http://localhost" <> _, + "id" => ^activity_ap_id, + "object" => %{ + "actor" => ^user_ap_id, + "attributedTo" => ^user_ap_id, + "id" => ^object_ap_id, + "type" => ^object_type, + "to" => ^activity_to, + "cc" => ^activity_cc + } + }, + modified2 + ) end test "custom emoji urls are URI encoded" do