[#1505] Removed wrapping of reply URIs into first element, added comments to transmogrifier tests.

This commit is contained in:
Ivan Tashkinov 2020-02-09 17:34:48 +03:00
parent 6ea3c06d8d
commit 24e49d14f2
3 changed files with 7 additions and 19 deletions

View File

@ -935,19 +935,9 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
end
defp set_replies(obj, replies_uris) do
# Note: stubs (Mastodon doesn't make separate requests via those URIs in FetchRepliesService)
masto_replies_uri = nil
masto_replies_next_page_uri = nil
replies_collection = %{
"type" => "Collection",
"id" => masto_replies_uri,
"first" => %{
"type" => "Collection",
"part_of" => masto_replies_uri,
"items" => replies_uris,
"next" => masto_replies_next_page_uri
}
"items" => replies_uris
}
Map.merge(obj, %{"replies" => replies_collection})

View File

@ -1361,6 +1361,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
%{data: data, items: items, collection: collection}
end
# Mastodon wraps reply URIs in `replies->first->items`
test "with wrapped `replies` collection, it schedules background fetching of items", %{
data: data,
items: items,
@ -1378,6 +1379,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
end
end
# Pleroma outputs reply URIs as `replies->items`
test "it schedules background fetching of unwrapped `replies` collection items", %{
data: data,
items: items,
@ -2135,10 +2137,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
object = Object.normalize(activity)
replies_uris = Enum.map([self_reply1, self_reply2], fn a -> a.object.data["id"] end)
assert %{
"type" => "Collection",
"first" => %{"type" => "Collection", "items" => ^replies_uris}
} = Transmogrifier.set_replies(object.data)["replies"]
assert %{"type" => "Collection", "items" => ^replies_uris} =
Transmogrifier.set_replies(object.data)["replies"]
end
end
end

View File

@ -51,10 +51,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do
replies_uris = [self_reply1.object.data["id"]]
result = ObjectView.render("object.json", %{object: refresh_record(activity)})
assert %{
"type" => "Collection",
"first" => %{"type" => "Collection", "items" => ^replies_uris}
} = get_in(result, ["object", "replies"])
assert %{"type" => "Collection", "items" => ^replies_uris} =
get_in(result, ["object", "replies"])
end
end