OStatusController: Add Mastodon activity compat route.
This commit is contained in:
parent
355aa3bdc7
commit
91c8467582
2 changed files with 14 additions and 5 deletions
|
@ -59,8 +59,8 @@ def activity(%{assigns: %{format: format}} = conn, _params)
|
|||
ActivityPubController.call(conn, :activity)
|
||||
end
|
||||
|
||||
def activity(%{assigns: %{format: format}} = conn, %{"uuid" => uuid}) do
|
||||
with id <- o_status_url(conn, :activity, uuid),
|
||||
def activity(%{assigns: %{format: format}} = conn, _params) do
|
||||
with id <- Endpoint.url() <> conn.request_path,
|
||||
{_, %Activity{} = activity} <- {:activity, Activity.normalize(id)},
|
||||
{_, true} <- {:public?, Visibility.is_public?(activity)} do
|
||||
case format do
|
||||
|
|
|
@ -26,10 +26,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
|
|||
describe "Mastodon compatibility routes" do
|
||||
setup %{conn: conn} do
|
||||
conn = put_req_header(conn, "accept", "text/html")
|
||||
%{conn: conn}
|
||||
end
|
||||
|
||||
test "redirects to /notice/:id for html format", %{conn: conn} do
|
||||
{:ok, object} =
|
||||
%{
|
||||
"type" => "Note",
|
||||
|
@ -50,9 +47,21 @@ test "redirects to /notice/:id for html format", %{conn: conn} do
|
|||
}
|
||||
|> ActivityPub.persist(local: true)
|
||||
|
||||
%{conn: conn, activity: activity}
|
||||
end
|
||||
|
||||
test "redirects to /notice/:id for html format", %{conn: conn, activity: activity} do
|
||||
conn = get(conn, "/users/raymoo/statuses/999999999")
|
||||
assert redirected_to(conn) == "/notice/#{activity.id}"
|
||||
end
|
||||
|
||||
test "redirects to /notice/:id for html format for activity", %{
|
||||
conn: conn,
|
||||
activity: activity
|
||||
} do
|
||||
conn = get(conn, "/users/raymoo/statuses/999999999/activity")
|
||||
assert redirected_to(conn) == "/notice/#{activity.id}"
|
||||
end
|
||||
end
|
||||
|
||||
# Note: see ActivityPubControllerTest for JSON format tests
|
||||
|
|
Loading…
Reference in a new issue