@@ -4,9 +4,10 @@ | |||
defmodule Pleroma.Web.ActivityPub.Relay do | |||
alias Pleroma.Activity | |||
alias Pleroma.Object | |||
alias Pleroma.User | |||
alias Pleroma.Web.ActivityPub.ActivityPub | |||
alias Pleroma.Web.ActivityPub.Visibility | |||
alias Pleroma.Web.CommonAPI | |||
require Logger | |||
@relay_nickname "relay" | |||
@@ -48,11 +49,11 @@ defmodule Pleroma.Web.ActivityPub.Relay do | |||
end | |||
end | |||
@spec publish(any()) :: {:ok, Activity.t(), Object.t()} | {:error, any()} | |||
@spec publish(any()) :: {:ok, Activity.t()} | {:error, any()} | |||
def publish(%Activity{data: %{"type" => "Create"}} = activity) do | |||
with %User{} = user <- get_actor(), | |||
%Object{} = object <- Object.normalize(activity) do | |||
ActivityPub.announce(user, object, nil, true, false) | |||
true <- Visibility.is_public?(activity) do | |||
CommonAPI.repeat(activity.id, user) | |||
else | |||
error -> format_error(error) | |||
end | |||
@@ -11,7 +11,6 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do | |||
alias Pleroma.Repo | |||
alias Pleroma.User | |||
alias Pleroma.Web.ActivityPub.ActivityPub | |||
alias Pleroma.Web.ActivityPub.Visibility | |||
alias Pleroma.Web.ActivityPub.Utils | |||
def handle(object, meta \\ []) | |||
@@ -35,9 +34,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do | |||
def handle(%{data: %{"type" => "Announce"}} = object, meta) do | |||
announced_object = Object.get_by_ap_id(object.data["object"]) | |||
if Visibility.is_public?(object) do | |||
Utils.add_announce_to_object(object, announced_object) | |||
end | |||
Utils.add_announce_to_object(object, announced_object) | |||
Notification.create_notifications(object) | |||
ActivityPub.stream_out(object) | |||
@@ -210,7 +210,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do | |||
@doc "POST /api/v1/statuses/:id/reblog" | |||
def reblog(%{assigns: %{user: user}, body_params: params} = conn, %{id: ap_id_or_id}) do | |||
with {:ok, announce, _activity} <- CommonAPI.repeat(ap_id_or_id, user, params), | |||
with {:ok, announce} <- CommonAPI.repeat(ap_id_or_id, user, params), | |||
%Activity{} = announce <- Activity.normalize(announce.data) do | |||
try_render(conn, "show.json", %{activity: announce, for: user, as: :activity}) | |||
end | |||
@@ -648,7 +648,7 @@ defmodule Pleroma.NotificationTest do | |||
status: "hey @#{other_user.nickname}!" | |||
}) | |||
{:ok, activity_two, _} = CommonAPI.repeat(activity_one.id, third_user) | |||
{:ok, activity_two} = CommonAPI.repeat(activity_one.id, third_user) | |||
{enabled_receivers, _disabled_receivers} = | |||
Notification.get_notified_from_activity(activity_two) | |||
@@ -778,7 +778,7 @@ defmodule Pleroma.NotificationTest do | |||
assert Enum.empty?(Notification.for_user(user)) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user) | |||
assert length(Notification.for_user(user)) == 1 | |||
@@ -795,7 +795,7 @@ defmodule Pleroma.NotificationTest do | |||
assert Enum.empty?(Notification.for_user(user)) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user) | |||
assert length(Notification.for_user(user)) == 1 | |||
@@ -91,6 +91,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do | |||
describe "running rm" do | |||
test "user is deleted" do | |||
clear_config([:instance, :federating], true) | |||
user = insert(:user) | |||
with_mock Pleroma.Web.Federator, | |||
@@ -108,8 +109,10 @@ defmodule Mix.Tasks.Pleroma.UserTest do | |||
test "a remote user's create activity is deleted when the object has been pruned" do | |||
user = insert(:user) | |||
{:ok, post} = CommonAPI.post(user, %{status: "uguu"}) | |||
clear_config([:instance, :federating], true) | |||
object = Object.normalize(post) | |||
Object.prune(object) | |||
@@ -992,7 +992,7 @@ defmodule Pleroma.UserTest do | |||
user = insert(:user, local: true) | |||
{:ok, activity} = CommonAPI.post(actor, %{status: "hello"}) | |||
{:ok, announce, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, announce} = CommonAPI.repeat(activity.id, user) | |||
recipients = User.get_recipients_from_activity(announce) | |||
@@ -1147,7 +1147,7 @@ defmodule Pleroma.UserTest do | |||
{:ok, like} = CommonAPI.favorite(user, activity_two.id) | |||
{:ok, like_two} = CommonAPI.favorite(follower, activity.id) | |||
{:ok, repeat, _} = CommonAPI.repeat(activity_two.id, user) | |||
{:ok, repeat} = CommonAPI.repeat(activity_two.id, user) | |||
{:ok, job} = User.delete(user) | |||
{:ok, _user} = ObanHelpers.perform(job) | |||
@@ -537,7 +537,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
assert Enum.member?(activities, activity_one) | |||
{:ok, _user_relationship} = User.block(user, %{ap_id: activity_three.data["actor"]}) | |||
{:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(activity_three.id, booster) | |||
{:ok, %{data: %{"object" => id}}} = CommonAPI.repeat(activity_three.id, booster) | |||
%Activity{} = boost_activity = Activity.get_create_by_object_ap_id(id) | |||
activity_three = Activity.get_by_id(activity_three.id) | |||
@@ -592,7 +592,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
{:ok, activity_two} = CommonAPI.post(blockee, %{status: "hey! @#{friend.nickname}"}) | |||
{:ok, activity_three, _} = CommonAPI.repeat(activity_two.id, friend) | |||
{:ok, activity_three} = CommonAPI.repeat(activity_two.id, friend) | |||
activities = | |||
ActivityPub.fetch_activities([], %{"blocking_user" => blocker}) | |||
@@ -618,7 +618,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
followed_user = insert(:user) | |||
ActivityPub.follow(user, followed_user) | |||
{:ok, repeat_activity, _} = CommonAPI.repeat(activity.id, followed_user) | |||
{:ok, repeat_activity} = CommonAPI.repeat(activity.id, followed_user) | |||
activities = | |||
ActivityPub.fetch_activities([], %{"blocking_user" => user, "skip_preload" => true}) | |||
@@ -651,7 +651,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
another_user = insert(:user, %{ap_id: "https://#{domain}/@meanie2"}) | |||
bad_note = insert(:note, %{data: %{"actor" => another_user.ap_id}}) | |||
bad_activity = insert(:note_activity, %{note: bad_note}) | |||
{:ok, repeat_activity, _} = CommonAPI.repeat(bad_activity.id, domain_user) | |||
{:ok, repeat_activity} = CommonAPI.repeat(bad_activity.id, domain_user) | |||
activities = | |||
ActivityPub.fetch_activities([], %{"blocking_user" => blocker, "skip_preload" => true}) | |||
@@ -699,7 +699,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
activity_three_actor = User.get_by_ap_id(activity_three.data["actor"]) | |||
{:ok, _user_relationships} = User.mute(user, activity_three_actor) | |||
{:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(activity_three.id, booster) | |||
{:ok, %{data: %{"object" => id}}} = CommonAPI.repeat(activity_three.id, booster) | |||
%Activity{} = boost_activity = Activity.get_create_by_object_ap_id(id) | |||
activity_three = Activity.get_by_id(activity_three.id) | |||
@@ -749,7 +749,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
{:ok, user} = User.follow(user, booster) | |||
{:ok, announce, _object} = CommonAPI.repeat(activity_three.id, booster) | |||
{:ok, announce} = CommonAPI.repeat(activity_three.id, booster) | |||
[announce_activity] = ActivityPub.fetch_activities([user.ap_id | User.following(user)]) | |||
@@ -846,7 +846,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
booster = insert(:user) | |||
{:ok, _reblog_mute} = CommonAPI.hide_reblogs(user, booster) | |||
{:ok, activity, _} = CommonAPI.repeat(activity.id, booster) | |||
{:ok, activity} = CommonAPI.repeat(activity.id, booster) | |||
activities = ActivityPub.fetch_activities([], %{"muting_user" => user}) | |||
@@ -860,7 +860,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
{:ok, _reblog_mute} = CommonAPI.hide_reblogs(user, booster) | |||
{:ok, _reblog_mute} = CommonAPI.show_reblogs(user, booster) | |||
{:ok, activity, _} = CommonAPI.repeat(activity.id, booster) | |||
{:ok, activity} = CommonAPI.repeat(activity.id, booster) | |||
activities = ActivityPub.fetch_activities([], %{"muting_user" => user}) | |||
@@ -868,75 +868,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
end | |||
end | |||
describe "announcing an object" do | |||
test "adds an announce activity to the db" do | |||
note_activity = insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
user = insert(:user) | |||
{:ok, announce_activity, object} = ActivityPub.announce(user, object) | |||
assert object.data["announcement_count"] == 1 | |||
assert object.data["announcements"] == [user.ap_id] | |||
assert announce_activity.data["to"] == [ | |||
User.ap_followers(user), | |||
note_activity.data["actor"] | |||
] | |||
assert announce_activity.data["object"] == object.data["id"] | |||
assert announce_activity.data["actor"] == user.ap_id | |||
assert announce_activity.data["context"] == object.data["context"] | |||
end | |||
test "reverts annouce from object on error" do | |||
note_activity = insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
user = insert(:user) | |||
with_mock(Utils, [:passthrough], maybe_federate: fn _ -> {:error, :reverted} end) do | |||
assert {:error, :reverted} = ActivityPub.announce(user, object) | |||
end | |||
reloaded_object = Object.get_by_ap_id(object.data["id"]) | |||
assert reloaded_object == object | |||
refute reloaded_object.data["announcement_count"] | |||
refute reloaded_object.data["announcements"] | |||
end | |||
end | |||
describe "announcing a private object" do | |||
test "adds an announce activity to the db if the audience is not widened" do | |||
user = insert(:user) | |||
{:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"}) | |||
object = Object.normalize(note_activity) | |||
{:ok, announce_activity, object} = ActivityPub.announce(user, object, nil, true, false) | |||
assert announce_activity.data["to"] == [User.ap_followers(user)] | |||
assert announce_activity.data["object"] == object.data["id"] | |||
assert announce_activity.data["actor"] == user.ap_id | |||
assert announce_activity.data["context"] == object.data["context"] | |||
end | |||
test "does not add an announce activity to the db if the audience is widened" do | |||
user = insert(:user) | |||
{:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"}) | |||
object = Object.normalize(note_activity) | |||
assert {:error, _} = ActivityPub.announce(user, object, nil, true, true) | |||
end | |||
test "does not add an announce activity to the db if the announcer is not the author" do | |||
user = insert(:user) | |||
announcer = insert(:user) | |||
{:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"}) | |||
object = Object.normalize(note_activity) | |||
assert {:error, _} = ActivityPub.announce(announcer, object, nil, true, false) | |||
end | |||
end | |||
describe "uploading files" do | |||
test "copies the file to the configured folder" do | |||
file = %Plug.Upload{ | |||
@@ -6,7 +6,6 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do | |||
use Pleroma.DataCase | |||
alias Pleroma.Activity | |||
alias Pleroma.Object | |||
alias Pleroma.User | |||
alias Pleroma.Web.ActivityPub.ActivityPub | |||
alias Pleroma.Web.ActivityPub.Relay | |||
@@ -95,21 +94,20 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do | |||
end) | |||
assert capture_log(fn -> | |||
assert Relay.publish(activity) == {:error, nil} | |||
end) =~ "[error] error: nil" | |||
assert Relay.publish(activity) == {:error, false} | |||
end) =~ "[error] error: false" | |||
end | |||
test_with_mock "returns announce activity and publish to federate", | |||
Pleroma.Web.Federator, | |||
[:passthrough], | |||
[] do | |||
Pleroma.Config.put([:instance, :federating], true) | |||
clear_config([:instance, :federating], true) | |||
service_actor = Relay.get_actor() | |||
note = insert(:note_activity) | |||
assert {:ok, %Activity{} = activity, %Object{} = obj} = Relay.publish(note) | |||
assert {:ok, %Activity{} = activity} = Relay.publish(note) | |||
assert activity.data["type"] == "Announce" | |||
assert activity.data["actor"] == service_actor.ap_id | |||
assert activity.data["object"] == obj.data["id"] | |||
assert called(Pleroma.Web.Federator.publish(activity)) | |||
end | |||
@@ -117,13 +115,12 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do | |||
Pleroma.Web.Federator, | |||
[:passthrough], | |||
[] do | |||
Pleroma.Config.put([:instance, :federating], false) | |||
clear_config([:instance, :federating], false) | |||
service_actor = Relay.get_actor() | |||
note = insert(:note_activity) | |||
assert {:ok, %Activity{} = activity, %Object{} = obj} = Relay.publish(note) | |||
assert {:ok, %Activity{} = activity} = Relay.publish(note) | |||
assert activity.data["type"] == "Announce" | |||
assert activity.data["actor"] == service_actor.ap_id | |||
assert activity.data["object"] == obj.data["id"] | |||
refute called(Pleroma.Web.Federator.publish(activity)) | |||
end | |||
end | |||
@@ -325,14 +325,6 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do | |||
assert user.ap_id in object.data["announcements"] | |||
end | |||
test "does not add the announce to the original object if the announce is private", %{ | |||
private_announce: announce | |||
} do | |||
{:ok, announce, _} = SideEffects.handle(announce) | |||
object = Object.get_by_ap_id(announce.data["object"]) | |||
assert object.data["announcement_count"] == nil | |||
end | |||
test "does not add the announce to the original object if the actor is a service actor", %{ | |||
relay_announce: announce | |||
} do | |||
@@ -1079,7 +1079,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do | |||
{:ok, activity} = CommonAPI.post(user, %{status: "hey", visibility: "private"}) | |||
{:ok, announce_activity, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, announce_activity} = CommonAPI.repeat(activity.id, user) | |||
{:ok, modified} = Transmogrifier.prepare_outgoing(announce_activity.data) | |||
@@ -334,7 +334,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
assert object = Object.normalize(note_activity) | |||
actor = insert(:user) | |||
{:ok, announce, _object} = ActivityPub.announce(actor, object) | |||
{:ok, announce} = CommonAPI.repeat(note_activity.id, actor) | |||
assert Utils.get_existing_announce(actor.ap_id, object) == announce | |||
end | |||
end | |||
@@ -73,7 +73,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do | |||
object = Object.normalize(note) | |||
user = insert(:user) | |||
{:ok, announce_activity, _} = CommonAPI.repeat(note.id, user) | |||
{:ok, announce_activity} = CommonAPI.repeat(note.id, user) | |||
result = ObjectView.render("object.json", %{object: announce_activity}) | |||
@@ -148,6 +148,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do | |||
describe "DELETE /api/pleroma/admin/users" do | |||
test "single user", %{admin: admin, conn: conn} do | |||
user = insert(:user) | |||
clear_config([:instance, :federating], true) | |||
with_mock Pleroma.Web.Federator, | |||
publish: fn _ -> nil end do | |||
@@ -2944,6 +2945,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do | |||
assert ":proxy_url" in db | |||
end | |||
@tag capture_log: true | |||
test "doesn't set keys not in the whitelist", %{conn: conn} do | |||
clear_config(:database_config_whitelist, [ | |||
{:pleroma, :key1}, | |||
@@ -3096,7 +3098,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do | |||
test "excludes reblogs by default", %{conn: conn, user: user} do | |||
other_user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(user, %{status: "."}) | |||
{:ok, %Activity{}, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, %Activity{}} = CommonAPI.repeat(activity.id, other_user) | |||
conn_res = get(conn, "/api/pleroma/admin/users/#{other_user.nickname}/statuses") | |||
assert json_response(conn_res, 200) |> length() == 0 | |||
@@ -41,6 +41,8 @@ defmodule Pleroma.Web.CommonAPITest do | |||
{:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"}) | |||
clear_config([:instance, :federating], true) | |||
Object.normalize(post, false) | |||
|> Object.prune() | |||
@@ -59,6 +61,8 @@ defmodule Pleroma.Web.CommonAPITest do | |||
{:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"}) | |||
clear_config([:instance, :federating], true) | |||
with_mock Pleroma.Web.Federator, | |||
publish: fn _ -> nil end do | |||
assert {:ok, delete} = CommonAPI.delete(post.id, user) | |||
@@ -440,6 +444,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
CommonAPI.repeat(activity.id, user, %{visibility: "private"}) | |||
assert Visibility.is_private?(announce_activity) | |||
refute Visibility.visible_for_user?(announce_activity, nil) | |||
end | |||
test "favoriting a status" do | |||
@@ -256,7 +256,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do | |||
User.block(user_one, user_two) | |||
{:ok, activity} = CommonAPI.post(user_two, %{status: "User one sux0rz"}) | |||
{:ok, repeat, _} = CommonAPI.repeat(activity.id, user_three) | |||
{:ok, repeat} = CommonAPI.repeat(activity.id, user_three) | |||
assert resp = | |||
conn | |||
@@ -375,7 +375,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do | |||
test "gets a user's statuses without reblogs", %{user: user, conn: conn} do | |||
{:ok, %{id: post_id}} = CommonAPI.post(user, %{status: "HI!!!"}) | |||
{:ok, _, _} = CommonAPI.repeat(post_id, user) | |||
{:ok, _} = CommonAPI.repeat(post_id, user) | |||
conn = get(conn, "/api/v1/accounts/#{user.id}/statuses?exclude_reblogs=true") | |||
assert [%{"id" => ^post_id}] = json_response_and_validate_schema(conn, 200) | |||
@@ -678,7 +678,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do | |||
assert %{"showing_reblogs" => false} = json_response_and_validate_schema(ret_conn, 200) | |||
{:ok, activity} = CommonAPI.post(other_user, %{status: "hey"}) | |||
{:ok, %{id: reblog_id}, _} = CommonAPI.repeat(activity.id, followed) | |||
{:ok, %{id: reblog_id}} = CommonAPI.repeat(activity.id, followed) | |||
assert [] == | |||
conn | |||
@@ -280,8 +280,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do | |||
{:ok, unlisted_activity} = | |||
CommonAPI.post(other_user, %{status: ".", visibility: "unlisted"}) | |||
{:ok, _, _} = CommonAPI.repeat(public_activity.id, user) | |||
{:ok, _, _} = CommonAPI.repeat(unlisted_activity.id, user) | |||
{:ok, _} = CommonAPI.repeat(public_activity.id, user) | |||
{:ok, _} = CommonAPI.repeat(unlisted_activity.id, user) | |||
activity_ids = | |||
conn | |||
@@ -301,7 +301,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do | |||
{:ok, mention_activity} = CommonAPI.post(other_user, %{status: "hey @#{user.nickname}"}) | |||
{:ok, create_activity} = CommonAPI.post(user, %{status: "hey"}) | |||
{:ok, favorite_activity} = CommonAPI.favorite(other_user, create_activity.id) | |||
{:ok, reblog_activity, _} = CommonAPI.repeat(create_activity.id, other_user) | |||
{:ok, reblog_activity} = CommonAPI.repeat(create_activity.id, other_user) | |||
{:ok, _, _, follow_activity} = CommonAPI.follow(other_user, user) | |||
mention_notification_id = get_notification_id_by_activity(mention_activity) | |||
@@ -339,7 +339,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do | |||
{:ok, mention_activity} = CommonAPI.post(other_user, %{status: "hey @#{user.nickname}"}) | |||
{:ok, create_activity} = CommonAPI.post(user, %{status: "hey"}) | |||
{:ok, favorite_activity} = CommonAPI.favorite(other_user, create_activity.id) | |||
{:ok, reblog_activity, _} = CommonAPI.repeat(create_activity.id, other_user) | |||
{:ok, reblog_activity} = CommonAPI.repeat(create_activity.id, other_user) | |||
{:ok, _, _, follow_activity} = CommonAPI.follow(other_user, user) | |||
mention_notification_id = get_notification_id_by_activity(mention_activity) | |||
@@ -878,8 +878,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
user3 = insert(:user) | |||
{:ok, _} = CommonAPI.favorite(user2, activity.id) | |||
{:ok, _bookmark} = Pleroma.Bookmark.create(user2.id, activity.id) | |||
{:ok, reblog_activity1, _object} = CommonAPI.repeat(activity.id, user1) | |||
{:ok, _, _object} = CommonAPI.repeat(activity.id, user2) | |||
{:ok, reblog_activity1} = CommonAPI.repeat(activity.id, user1) | |||
{:ok, _} = CommonAPI.repeat(activity.id, user2) | |||
conn_res = | |||
build_conn() | |||
@@ -917,7 +917,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
test "unreblogs and returns the unreblogged status", %{user: user, conn: conn} do | |||
activity = insert(:note_activity) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, user) | |||
conn = | |||
conn | |||
@@ -1427,7 +1427,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
test "returns users who have reblogged the status", %{conn: conn, activity: activity} do | |||
other_user = insert(:user) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user) | |||
response = | |||
conn | |||
@@ -1458,7 +1458,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
other_user = insert(:user) | |||
{:ok, _user_relationship} = User.block(user, other_user) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user) | |||
response = | |||
conn | |||
@@ -1469,12 +1469,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
end | |||
test "does not return users who have reblogged the status privately", %{ | |||
conn: conn, | |||
activity: activity | |||
conn: conn | |||
} do | |||
other_user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(other_user, %{status: "my secret post"}) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user, %{visibility: "private"}) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user, %{visibility: "private"}) | |||
response = | |||
conn | |||
@@ -1486,7 +1486,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
test "does not fail on an unauthenticated request", %{activity: activity} do | |||
other_user = insert(:user) | |||
{:ok, _, _} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, _} = CommonAPI.repeat(activity.id, other_user) | |||
response = | |||
build_conn() | |||
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do | |||
user = insert(:user) | |||
another_user = insert(:user) | |||
{:ok, create_activity} = CommonAPI.post(user, %{status: "hey"}) | |||
{:ok, reblog_activity, _object} = CommonAPI.repeat(create_activity.id, another_user) | |||
{:ok, reblog_activity} = CommonAPI.repeat(create_activity.id, another_user) | |||
{:ok, [notification]} = Notification.create_notifications(reblog_activity) | |||
reblog_activity = Activity.get_by_id(create_activity.id) | |||
@@ -442,7 +442,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||
user = insert(:user) | |||
activity = insert(:note_activity) | |||
{:ok, reblog, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, reblog} = CommonAPI.repeat(activity.id, user) | |||
represented = StatusView.render("show.json", %{for: user, activity: reblog}) | |||
@@ -600,7 +600,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||
status: "˙˙ɐʎns" | |||
}) | |||
{:ok, activity, _object} = CommonAPI.repeat(activity.id, other_user) | |||
{:ok, activity} = CommonAPI.repeat(activity.id, other_user) | |||
result = StatusView.render("show.json", %{activity: activity, for: user}) | |||
@@ -151,7 +151,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." | |||
}) | |||
{:ok, announce_activity, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, announce_activity} = CommonAPI.repeat(activity.id, user) | |||
object = Object.normalize(activity) | |||
assert Impl.format_body(%{activity: announce_activity}, user, object) == | |||
@@ -106,7 +106,7 @@ defmodule Pleroma.Web.StreamerTest do | |||
other_user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(other_user, %{status: "hey"}) | |||
{:ok, announce, _} = CommonAPI.repeat(activity.id, user) | |||
{:ok, announce} = CommonAPI.repeat(activity.id, user) | |||
assert_receive {:render_with_user, Pleroma.Web.StreamerView, "update.json", ^announce} | |||
refute Streamer.filtered_by_user?(user, announce) | |||
@@ -427,7 +427,7 @@ defmodule Pleroma.Web.StreamerTest do | |||
{:ok, create_activity} = CommonAPI.post(user3, %{status: "I'm kawen"}) | |||
Streamer.get_topic_and_add_socket("user", user1) | |||
{:ok, announce_activity, _} = CommonAPI.repeat(create_activity.id, user2) | |||
{:ok, announce_activity} = CommonAPI.repeat(create_activity.id, user2) | |||
assert_receive {:render_with_user, _, _, ^announce_activity} | |||
assert Streamer.filtered_by_user?(user1, announce_activity) | |||
end | |||
@@ -440,7 +440,7 @@ defmodule Pleroma.Web.StreamerTest do | |||
{:ok, create_activity} = CommonAPI.post(user1, %{status: "I'm kawen"}) | |||
Streamer.get_topic_and_add_socket("user", user1) | |||
{:ok, _favorite_activity, _} = CommonAPI.repeat(create_activity.id, user2) | |||
{:ok, _announce_activity} = CommonAPI.repeat(create_activity.id, user2) | |||
assert_receive {:render_with_user, _, "notification.json", notif} | |||
assert Streamer.filtered_by_user?(user1, notif) | |||