|
|
@ -6,7 +6,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
|
|
|
|
use Pleroma.Web.ConnCase
|
|
|
|
use Pleroma.Web.ConnCase
|
|
|
|
use Oban.Testing, repo: Pleroma.Repo
|
|
|
|
use Oban.Testing, repo: Pleroma.Repo
|
|
|
|
|
|
|
|
|
|
|
|
import Pleroma.Factory
|
|
|
|
|
|
|
|
alias Pleroma.Activity
|
|
|
|
alias Pleroma.Activity
|
|
|
|
alias Pleroma.Config
|
|
|
|
alias Pleroma.Config
|
|
|
|
alias Pleroma.Delivery
|
|
|
|
alias Pleroma.Delivery
|
|
|
@ -14,13 +13,19 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
|
|
|
|
alias Pleroma.Object
|
|
|
|
alias Pleroma.Object
|
|
|
|
alias Pleroma.Tests.ObanHelpers
|
|
|
|
alias Pleroma.Tests.ObanHelpers
|
|
|
|
alias Pleroma.User
|
|
|
|
alias Pleroma.User
|
|
|
|
|
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
|
|
|
alias Pleroma.Web.ActivityPub.ObjectView
|
|
|
|
alias Pleroma.Web.ActivityPub.ObjectView
|
|
|
|
alias Pleroma.Web.ActivityPub.Relay
|
|
|
|
alias Pleroma.Web.ActivityPub.Relay
|
|
|
|
alias Pleroma.Web.ActivityPub.UserView
|
|
|
|
alias Pleroma.Web.ActivityPub.UserView
|
|
|
|
alias Pleroma.Web.ActivityPub.Utils
|
|
|
|
alias Pleroma.Web.ActivityPub.Utils
|
|
|
|
alias Pleroma.Web.CommonAPI
|
|
|
|
alias Pleroma.Web.CommonAPI
|
|
|
|
|
|
|
|
alias Pleroma.Web.Endpoint
|
|
|
|
alias Pleroma.Workers.ReceiverWorker
|
|
|
|
alias Pleroma.Workers.ReceiverWorker
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import Pleroma.Factory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
require Pleroma.Constants
|
|
|
|
|
|
|
|
|
|
|
|
setup_all do
|
|
|
|
setup_all do
|
|
|
|
Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
|
|
|
|
Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
|
|
|
|
:ok
|
|
|
|
:ok
|
|
|
@ -168,6 +173,60 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
describe "mastodon compatibility routes" do
|
|
|
|
|
|
|
|
test "it returns a json representation of the object with accept application/json", %{
|
|
|
|
|
|
|
|
conn: conn
|
|
|
|
|
|
|
|
} do
|
|
|
|
|
|
|
|
{:ok, object} =
|
|
|
|
|
|
|
|
%{
|
|
|
|
|
|
|
|
"type" => "Note",
|
|
|
|
|
|
|
|
"content" => "hey",
|
|
|
|
|
|
|
|
"id" => Endpoint.url() <> "/users/raymoo/statuses/999999999",
|
|
|
|
|
|
|
|
"actor" => Endpoint.url() <> "/users/raymoo",
|
|
|
|
|
|
|
|
"to" => [Pleroma.Constants.as_public()]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|> Object.create()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
conn =
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|
|
|
|> put_req_header("accept", "application/json")
|
|
|
|
|
|
|
|
|> get("/users/raymoo/statuses/999999999")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assert json_response(conn, 200) == ObjectView.render("object.json", %{object: object})
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test "it returns a json representation of the activity with accept application/json", %{
|
|
|
|
|
|
|
|
conn: conn
|
|
|
|
|
|
|
|
} do
|
|
|
|
|
|
|
|
{:ok, object} =
|
|
|
|
|
|
|
|
%{
|
|
|
|
|
|
|
|
"type" => "Note",
|
|
|
|
|
|
|
|
"content" => "hey",
|
|
|
|
|
|
|
|
"id" => Endpoint.url() <> "/users/raymoo/statuses/999999999",
|
|
|
|
|
|
|
|
"actor" => Endpoint.url() <> "/users/raymoo",
|
|
|
|
|
|
|
|
"to" => [Pleroma.Constants.as_public()]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|> Object.create()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{:ok, activity, _} =
|
|
|
|
|
|
|
|
%{
|
|
|
|
|
|
|
|
"id" => object.data["id"] <> "/activity",
|
|
|
|
|
|
|
|
"type" => "Create",
|
|
|
|
|
|
|
|
"object" => object.data["id"],
|
|
|
|
|
|
|
|
"actor" => object.data["actor"],
|
|
|
|
|
|
|
|
"to" => object.data["to"]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|> ActivityPub.persist(local: true)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
conn =
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|
|
|
|> put_req_header("accept", "application/json")
|
|
|
|
|
|
|
|
|> get("/users/raymoo/statuses/999999999/activity")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assert json_response(conn, 200) == ObjectView.render("object.json", %{object: activity})
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
describe "/objects/:uuid" do
|
|
|
|
describe "/objects/:uuid" do
|
|
|
|
test "it returns a json representation of the object with accept application/json", %{
|
|
|
|
test "it returns a json representation of the object with accept application/json", %{
|
|
|
|
conn: conn
|
|
|
|
conn: conn
|
|
|
|