Now it defaults to not fetching, and the option is named.groups
@@ -274,7 +274,7 @@ defmodule Pleroma.Activity do | |||
defp get_in_reply_to_activity_from_object(_), do: nil | |||
def get_in_reply_to_activity(%Activity{} = activity) do | |||
get_in_reply_to_activity_from_object(Object.normalize(activity)) | |||
get_in_reply_to_activity_from_object(Object.normalize(activity, fetch: false)) | |||
end | |||
def normalize(obj) when is_map(obj), do: get_by_ap_id_with_object(obj["id"]) | |||
@@ -8,7 +8,7 @@ defmodule Pleroma.Activity.Ir.Topics do | |||
def get_activity_topics(activity) do | |||
activity | |||
|> Object.normalize() | |||
|> Object.normalize(fetch: false) | |||
|> generate_topics(activity) | |||
|> List.flatten() | |||
end | |||
@@ -5,6 +5,7 @@ | |||
defmodule Pleroma.Conversation do | |||
alias Pleroma.Conversation.Participation | |||
alias Pleroma.Conversation.Participation.RecipientShip | |||
alias Pleroma.Object | |||
alias Pleroma.Repo | |||
alias Pleroma.User | |||
use Ecto.Schema | |||
@@ -58,7 +59,7 @@ defmodule Pleroma.Conversation do | |||
def create_or_bump_for(activity, opts \\ []) do | |||
with true <- Pleroma.Web.ActivityPub.Visibility.is_direct?(activity), | |||
"Create" <- activity.data["type"], | |||
object <- Pleroma.Object.normalize(activity), | |||
%Object{} = object <- Object.normalize(activity, fetch: false), | |||
true <- object.data["type"] in ["Note", "Question"], | |||
ap_id when is_binary(ap_id) and byte_size(ap_id) > 0 <- object.data["context"] do | |||
{:ok, conversation} = create_for_ap_id(ap_id) | |||
@@ -119,7 +119,7 @@ defmodule Pleroma.Emails.UserEmail do | |||
notifications | |||
|> Enum.filter(&(&1.activity.data["type"] == "Create")) | |||
|> Enum.map(fn notification -> | |||
object = Pleroma.Object.normalize(notification.activity) | |||
object = Pleroma.Object.normalize(notification.activity, fetch: false) | |||
if not is_nil(object) do | |||
object = update_in(object.data["content"], &format_links/1) | |||
@@ -142,7 +142,7 @@ defmodule Pleroma.Emails.UserEmail do | |||
if not is_nil(from) do | |||
%{ | |||
data: notification, | |||
object: Pleroma.Object.normalize(notification.activity), | |||
object: Pleroma.Object.normalize(notification.activity, fetch: false), | |||
from: User.get_by_ap_id(notification.activity.actor) | |||
} | |||
end | |||
@@ -76,7 +76,7 @@ defmodule Pleroma.Gopher.Server.ProtocolHandler do | |||
|> Enum.map(fn activity -> | |||
user = User.get_cached_by_ap_id(activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
like_count = object.data["like_count"] || 0 | |||
announcement_count = object.data["announcement_count"] || 0 | |||
@@ -59,7 +59,7 @@ defmodule Pleroma.HTML do | |||
key = "#{key}#{generate_scrubber_signature(scrubbers)}|#{activity.id}" | |||
@cachex.fetch!(:scrubber_cache, key, fn _key -> | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
ensure_scrubbed_html(content, scrubbers, object.data["fake"] || false, callback) | |||
end) | |||
end | |||
@@ -358,7 +358,7 @@ defmodule Pleroma.Notification do | |||
def create_notifications(activity, options \\ []) | |||
def create_notifications(%Activity{data: %{"to" => _, "type" => "Create"}} = activity, options) do | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
if object && object.data["type"] == "Answer" do | |||
{:ok, []} | |||
@@ -625,7 +625,7 @@ defmodule Pleroma.Notification do | |||
def skip?(:filtered, %{data: %{"type" => type}}, _) when type in ["Follow", "Move"], do: false | |||
def skip?(:filtered, activity, user) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
cond do | |||
is_nil(object) -> | |||
@@ -108,39 +108,42 @@ defmodule Pleroma.Object do | |||
Logger.debug("Backtrace: #{inspect(Process.info(:erlang.self(), :current_stacktrace))}") | |||
end | |||
def normalize(_, fetch_remote \\ true, options \\ []) | |||
def normalize(_, options \\ [fetch: false]) | |||
# If we pass an Activity to Object.normalize(), we can try to use the preloaded object. | |||
# Use this whenever possible, especially when walking graphs in an O(N) loop! | |||
def normalize(%Object{} = object, _, _), do: object | |||
def normalize(%Activity{object: %Object{} = object}, _, _), do: object | |||
def normalize(%Object{} = object, _), do: object | |||
def normalize(%Activity{object: %Object{} = object}, _), do: object | |||
# A hack for fake activities | |||
def normalize(%Activity{data: %{"object" => %{"fake" => true} = data}}, _, _) do | |||
def normalize(%Activity{data: %{"object" => %{"fake" => true} = data}}, _) do | |||
%Object{id: "pleroma:fake_object_id", data: data} | |||
end | |||
# No preloaded object | |||
def normalize(%Activity{data: %{"object" => %{"id" => ap_id}}}, fetch_remote, _) do | |||
def normalize(%Activity{data: %{"object" => %{"id" => ap_id}}}, options) do | |||
warn_on_no_object_preloaded(ap_id) | |||
normalize(ap_id, fetch_remote) | |||
normalize(ap_id, options) | |||
end | |||
# No preloaded object | |||
def normalize(%Activity{data: %{"object" => ap_id}}, fetch_remote, _) do | |||
def normalize(%Activity{data: %{"object" => ap_id}}, options) do | |||
warn_on_no_object_preloaded(ap_id) | |||
normalize(ap_id, fetch_remote) | |||
normalize(ap_id, options) | |||
end | |||
# Old way, try fetching the object through cache. | |||
def normalize(%{"id" => ap_id}, fetch_remote, _), do: normalize(ap_id, fetch_remote) | |||
def normalize(ap_id, false, _) when is_binary(ap_id), do: get_cached_by_ap_id(ap_id) | |||
def normalize(%{"id" => ap_id}, options), do: normalize(ap_id, options) | |||
def normalize(ap_id, true, options) when is_binary(ap_id) do | |||
Fetcher.fetch_object_from_id!(ap_id, options) | |||
def normalize(ap_id, options) when is_binary(ap_id) do | |||
if Keyword.get(options, :fetch) do | |||
Fetcher.fetch_object_from_id!(ap_id, options) | |||
else | |||
get_cached_by_ap_id(ap_id) | |||
end | |||
end | |||
def normalize(_, _, _), do: nil | |||
def normalize(_, _), do: nil | |||
# Owned objects can only be accessed by their owner | |||
def authorize_access(%Object{data: %{"actor" => actor}}, %User{ap_id: ap_id}) do | |||
@@ -285,7 +288,7 @@ defmodule Pleroma.Object do | |||
end | |||
def increase_vote_count(ap_id, name, actor) do | |||
with %Object{} = object <- Object.normalize(ap_id), | |||
with %Object{} = object <- Object.normalize(ap_id, fetch: false), | |||
"Question" <- object.data["type"] do | |||
key = if poll_is_multiple?(object), do: "anyOf", else: "oneOf" | |||
@@ -326,7 +329,7 @@ defmodule Pleroma.Object do | |||
end | |||
def replies(object, opts \\ []) do | |||
object = Object.normalize(object) | |||
object = Object.normalize(object, fetch: false) | |||
query = | |||
Object | |||
@@ -83,13 +83,13 @@ defmodule Pleroma.Object.Fetcher do | |||
with {_, nil} <- {:fetch_object, Object.get_cached_by_ap_id(id)}, | |||
{_, true} <- {:allowed_depth, Federator.allowed_thread_distance?(options[:depth])}, | |||
{_, {:ok, data}} <- {:fetch, fetch_and_contain_remote_object_from_id(id)}, | |||
{_, nil} <- {:normalize, Object.normalize(data, false)}, | |||
{_, nil} <- {:normalize, Object.normalize(data, fetch: false)}, | |||
params <- prepare_activity_params(data), | |||
{_, :ok} <- {:containment, Containment.contain_origin(id, params)}, | |||
{_, {:ok, activity}} <- | |||
{:transmogrifier, Transmogrifier.handle_incoming(params, options)}, | |||
{_, _data, %Object{} = object} <- | |||
{:object, data, Object.normalize(activity, false)} do | |||
{:object, data, Object.normalize(activity, fetch: false)} do | |||
{:ok, object} | |||
else | |||
{:allowed_depth, false} -> | |||
@@ -128,7 +128,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do | |||
end | |||
defp maybe_set_tracking_data(conn, %Activity{data: %{"type" => "Create"}} = activity) do | |||
object_id = Object.normalize(activity).id | |||
object_id = Object.normalize(activity, fetch: false).id | |||
assign(conn, :tracking_fun_data, object_id) | |||
end | |||
@@ -434,7 +434,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do | |||
end | |||
defp handle_user_activity(%User{} = user, %{"type" => "Delete"} = params) do | |||
with %Object{} = object <- Object.normalize(params["object"]), | |||
with %Object{} = object <- Object.normalize(params["object"], fetch: false), | |||
true <- user.is_moderator || user.ap_id == object.data["actor"], | |||
{:ok, delete_data, _} <- Builder.delete(user, object.data["id"]), | |||
{:ok, delete, _} <- Pipeline.common_pipeline(delete_data, local: true) do | |||
@@ -445,7 +445,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do | |||
end | |||
defp handle_user_activity(%User{} = user, %{"type" => "Like"} = params) do | |||
with %Object{} = object <- Object.normalize(params["object"]), | |||
with %Object{} = object <- Object.normalize(params["object"], fetch: false), | |||
{_, {:ok, like_object, meta}} <- {:build_object, Builder.like(user, object)}, | |||
{_, {:ok, %Activity{} = activity, _meta}} <- | |||
{:common_pipeline, | |||
@@ -80,7 +80,7 @@ defmodule Pleroma.Web.ActivityPub.Builder do | |||
@spec delete(User.t(), String.t()) :: {:ok, map(), keyword()} | |||
def delete(actor, object_id) do | |||
object = Object.normalize(object_id, false) | |||
object = Object.normalize(object_id, fetch: false) | |||
user = !object && User.get_cached_by_ap_id(object_id) | |||
@@ -31,7 +31,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.EnsureRePrepended do | |||
when is_map(child_object) do | |||
child = | |||
child_object["inReplyTo"] | |||
|> Object.normalize(child_object["inReplyTo"]) | |||
|> Object.normalize(fetch: false) | |||
|> filter_by_summary(child_object) | |||
object = Map.put(object, "object", child) | |||
@@ -288,7 +288,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do | |||
def fetch_actor_and_object(object) do | |||
fetch_actor(object) | |||
Object.normalize(object["object"], true) | |||
Object.normalize(object["object"], fetch: true) | |||
:ok | |||
end | |||
end |
@@ -129,7 +129,7 @@ defmodule Pleroma.Web.ActivityPub.Publisher do | |||
fetchers = | |||
with %Activity{data: %{"type" => "Delete"}} <- activity, | |||
%Object{id: object_id} <- Object.normalize(activity), | |||
%Object{id: object_id} <- Object.normalize(activity, fetch: false), | |||
fetchers <- User.get_delivered_users_by_object_id(object_id), | |||
_ <- Delivery.delete_all_by_object_id(object_id) do | |||
fetchers | |||
@@ -268,7 +268,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do | |||
@impl true | |||
def handle(%{data: %{"type" => "Delete", "object" => deleted_object}} = object, meta) do | |||
deleted_object = | |||
Object.normalize(deleted_object, false) || | |||
Object.normalize(deleted_object, fetch: false) || | |||
User.get_cached_by_ap_id(deleted_object) | |||
result = | |||
@@ -653,7 +653,9 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do | |||
@spec get_obj_helper(String.t(), Keyword.t()) :: {:ok, Object.t()} | nil | |||
def get_obj_helper(id, options \\ []) do | |||
case Object.normalize(id, true, options) do | |||
options = Keyword.put(options, :fetch, true) | |||
case Object.normalize(id, options) do | |||
%Object{} = object -> {:ok, object} | |||
_ -> nil | |||
end | |||
@@ -672,7 +674,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do | |||
"actor" => attributed_to, | |||
"object" => data | |||
}) do | |||
{:ok, Object.normalize(activity)} | |||
{:ok, Object.normalize(activity, fetch: false)} | |||
else | |||
_ -> get_obj_helper(object_id) | |||
end | |||
@@ -763,7 +765,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do | |||
when activity_type in ["Create", "Listen"] do | |||
object = | |||
object_id | |||
|> Object.normalize() | |||
|> Object.normalize(fetch: false) | |||
|> Map.get(:data) | |||
|> prepare_object | |||
@@ -779,7 +781,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do | |||
def prepare_outgoing(%{"type" => "Announce", "actor" => ap_id, "object" => object_id} = data) do | |||
object = | |||
object_id | |||
|> Object.normalize() | |||
|> Object.normalize(fetch: false) | |||
data = | |||
if Visibility.is_private?(object) && object.data["actor"] == ap_id do | |||
@@ -18,7 +18,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectView do | |||
def render("object.json", %{object: %Activity{data: %{"type" => activity_type}} = activity}) | |||
when activity_type in ["Create", "Listen"] do | |||
base = Pleroma.Web.ActivityPub.Utils.make_json_ld_header() | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
additional = | |||
Transmogrifier.prepare_object(activity.data) | |||
@@ -29,7 +29,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectView do | |||
def render("object.json", %{object: %Activity{} = activity}) do | |||
base = Pleroma.Web.ActivityPub.Utils.make_json_ld_header() | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
additional = | |||
Transmogrifier.prepare_object(activity.data) | |||
@@ -142,7 +142,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
with {_, %Activity{data: %{"object" => _, "type" => "Create"}} = activity} <- | |||
{:find_activity, Activity.get_by_id(activity_id)}, | |||
{_, %Object{} = object, _} <- | |||
{:find_object, Object.normalize(activity, false), activity}, | |||
{:find_object, Object.normalize(activity, fetch: false), activity}, | |||
true <- User.superuser?(user) || user.ap_id == object.data["actor"], | |||
{:ok, delete_data, _} <- Builder.delete(user, object.data["id"]), | |||
{:ok, delete, _} <- Pipeline.common_pipeline(delete_data, local: true) do | |||
@@ -173,7 +173,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
def repeat(id, user, params \\ %{}) do | |||
with %Activity{data: %{"type" => "Create"}} = activity <- Activity.get_by_id(id), | |||
object = %Object{} <- Object.normalize(activity, false), | |||
object = %Object{} <- Object.normalize(activity, fetch: false), | |||
{_, nil} <- {:existing_announce, Utils.get_existing_announce(user.ap_id, object)}, | |||
public = public_announce?(object, params), | |||
{:ok, announce, _} <- Builder.announce(user, object, public: public), | |||
@@ -191,7 +191,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
def unrepeat(id, user) do | |||
with {_, %Activity{data: %{"type" => "Create"}} = activity} <- | |||
{:find_activity, Activity.get_by_id(id)}, | |||
%Object{} = note <- Object.normalize(activity, false), | |||
%Object{} = note <- Object.normalize(activity, fetch: false), | |||
%Activity{} = announce <- Utils.get_existing_announce(user.ap_id, note), | |||
{:ok, undo, _} <- Builder.undo(user, announce), | |||
{:ok, activity, _} <- Pipeline.common_pipeline(undo, local: true) do | |||
@@ -253,7 +253,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
def unfavorite(id, user) do | |||
with {_, %Activity{data: %{"type" => "Create"}} = activity} <- | |||
{:find_activity, Activity.get_by_id(id)}, | |||
%Object{} = note <- Object.normalize(activity, false), | |||
%Object{} = note <- Object.normalize(activity, fetch: false), | |||
%Activity{} = like <- Utils.get_existing_like(user.ap_id, note), | |||
{:ok, undo, _} <- Builder.undo(user, like), | |||
{:ok, activity, _} <- Pipeline.common_pipeline(undo, local: true) do | |||
@@ -266,7 +266,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
def react_with_emoji(id, user, emoji) do | |||
with %Activity{} = activity <- Activity.get_by_id(id), | |||
object <- Object.normalize(activity), | |||
object <- Object.normalize(activity, fetch: false), | |||
{:ok, emoji_react, _} <- Builder.emoji_react(user, object, emoji), | |||
{:ok, activity, _} <- Pipeline.common_pipeline(emoji_react, local: true) do | |||
{:ok, activity} | |||
@@ -377,7 +377,7 @@ defmodule Pleroma.Web.CommonAPI do | |||
def get_replied_to_visibility(nil), do: nil | |||
def get_replied_to_visibility(activity) do | |||
with %Object{} = object <- Object.normalize(activity) do | |||
with %Object{} = object <- Object.normalize(activity, fetch: false) do | |||
Visibility.get_visibility(object) | |||
end | |||
end | |||
@@ -319,7 +319,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do | |||
defp add_in_reply_to(object, nil), do: object | |||
defp add_in_reply_to(object, in_reply_to) do | |||
with %Object{} = in_reply_to_object <- Object.normalize(in_reply_to) do | |||
with %Object{} = in_reply_to_object <- Object.normalize(in_reply_to, fetch: false) do | |||
Map.put(object, "inReplyTo", in_reply_to_object.data["id"]) | |||
else | |||
_ -> object | |||
@@ -399,7 +399,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do | |||
%Activity{data: %{"to" => _to, "type" => type} = data} = activity | |||
) | |||
when type == "Create" do | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
object_data = | |||
cond do | |||
@@ -31,7 +31,7 @@ defmodule Pleroma.Web.EmbedController do | |||
end | |||
defp get_counts(%Activity{} = activity) do | |||
%Object{data: data} = Object.normalize(activity) | |||
%Object{data: data} = Object.normalize(activity, fetch: false) | |||
%{ | |||
likes: Map.get(data, "like_count", 0), | |||
@@ -23,7 +23,7 @@ defmodule Pleroma.Web.Feed.FeedView do | |||
def pub_date(%DateTime{} = date), do: Timex.format!(date, "{RFC822}") | |||
def prepare_activity(activity, opts \\ []) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
actor = | |||
if opts[:actor] do | |||
@@ -318,7 +318,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do | |||
with true <- Pleroma.Config.get([:instance, :show_reactions]), | |||
%Activity{} = activity <- Activity.get_by_id_with_object(id), | |||
{:visible, true} <- {:visible, Visibility.visible_for_user?(activity, user)}, | |||
%Object{data: %{"likes" => likes}} <- Object.normalize(activity) do | |||
%Object{data: %{"likes" => likes}} <- Object.normalize(activity, fetch: false) do | |||
users = | |||
User | |||
|> Ecto.Query.where([u], u.ap_id in ^likes) | |||
@@ -339,7 +339,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do | |||
with %Activity{} = activity <- Activity.get_by_id_with_object(id), | |||
{:visible, true} <- {:visible, Visibility.visible_for_user?(activity, user)}, | |||
%Object{data: %{"announcements" => announces, "id" => ap_id}} <- | |||
Object.normalize(activity) do | |||
Object.normalize(activity, fetch: false) do | |||
announces = | |||
"Announce" | |||
|> Activity.Queries.by_type() | |||
@@ -139,7 +139,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationView do | |||
end | |||
defp put_chat_message(response, activity, reading_user, opts) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
author = User.get_cached_by_ap_id(object.data["actor"]) | |||
chat = Pleroma.Chat.get(reading_user.id, author.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -41,7 +41,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
activities | |||
|> Enum.map(fn | |||
%{data: %{"type" => "Create"}} = activity -> | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
object && object.data["inReplyTo"] != "" && object.data["inReplyTo"] | |||
_ -> | |||
@@ -51,7 +51,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
|> Activity.create_by_object_ap_id_with_object() | |||
|> Repo.all() | |||
|> Enum.reduce(%{}, fn activity, acc -> | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
if object, do: Map.put(acc, object.data["id"], activity), else: acc | |||
end) | |||
end | |||
@@ -65,7 +65,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
defp get_context_id(_), do: nil | |||
defp reblogged?(activity, user) do | |||
object = Object.normalize(activity) || %{} | |||
object = Object.normalize(activity, fetch: false) || %{} | |||
present?(user && user.ap_id in (object.data["announcements"] || [])) | |||
end | |||
@@ -84,7 +84,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
parent_activities = | |||
activities | |||
|> Enum.filter(&(&1.data["type"] == "Announce" && &1.data["object"])) | |||
|> Enum.map(&Object.normalize(&1).data["id"]) | |||
|> Enum.map(&Object.normalize(&1, fetch: false).data["id"]) | |||
|> Activity.create_by_object_ap_id() | |||
|> Activity.with_preloaded_object(:left) | |||
|> Activity.with_preloaded_bookmark(reading_user) | |||
@@ -124,7 +124,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
) do | |||
user = CommonAPI.get_user(activity.data["actor"]) | |||
created_at = Utils.to_masto_date(activity.data["published"]) | |||
activity_object = Object.normalize(activity) | |||
activity_object = Object.normalize(activity, fetch: false) | |||
reblogged_parent_activity = | |||
if opts[:parent_activities] do | |||
@@ -193,7 +193,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
end | |||
def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
user = CommonAPI.get_user(activity.data["actor"]) | |||
user_follower_address = user.follower_address | |||
@@ -451,7 +451,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
end | |||
def get_reply_to(activity, %{replied_to_activities: replied_to_activities}) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
with nil <- replied_to_activities[object.data["inReplyTo"]] do | |||
# If user didn't participate in the thread | |||
@@ -460,7 +460,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||
end | |||
def get_reply_to(%{data: %{"object" => _object}} = activity, _) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
if object.data["inReplyTo"] && object.data["inReplyTo"] != "" do | |||
Activity.get_create_by_object_ap_id(object.data["inReplyTo"]) | |||
@@ -74,14 +74,14 @@ defmodule Pleroma.Web.OStatus.OStatusController do | |||
cond do | |||
format in ["json", "activity+json"] -> | |||
if activity.local do | |||
%{data: %{"id" => redirect_url}} = Object.normalize(activity) | |||
%{data: %{"id" => redirect_url}} = Object.normalize(activity, fetch: false) | |||
redirect(conn, external: redirect_url) | |||
else | |||
{:error, :not_found} | |||
end | |||
activity.data["type"] == "Create" -> | |||
%Object{} = object = Object.normalize(activity) | |||
%Object{} = object = Object.normalize(activity, fetch: false) | |||
RedirectController.redirector_with_meta( | |||
conn, | |||
@@ -112,7 +112,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do | |||
with %Activity{data: %{"type" => "Create"}} = activity <- Activity.get_by_id_with_object(id), | |||
true <- Visibility.is_public?(activity), | |||
{_, true} <- {:visible?, Visibility.visible_for_user?(activity, _reading_user = nil)}, | |||
%Object{} = object <- Object.normalize(activity), | |||
%Object{} = object <- Object.normalize(activity, fetch: false), | |||
%{data: %{"attachment" => [%{"url" => [url | _]} | _]}} <- object, | |||
true <- String.starts_with?(url["mediaType"], ["audio", "video"]) do | |||
conn | |||
@@ -82,7 +82,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatController do | |||
media_id: params[:media_id], | |||
idempotency_key: idempotency_key(conn) | |||
), | |||
message <- Object.normalize(activity, false), | |||
message <- Object.normalize(activity, fetch: false), | |||
cm_ref <- MessageReference.for_chat_and_object(chat, message) do | |||
conn | |||
|> put_view(MessageReferenceView) | |||
@@ -29,7 +29,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionController do | |||
with true <- Pleroma.Config.get([:instance, :show_reactions]), | |||
%Activity{} = activity <- Activity.get_by_id_with_object(activity_id), | |||
%Object{data: %{"reactions" => reactions}} when is_list(reactions) <- | |||
Object.normalize(activity) do | |||
Object.normalize(activity, fetch: false) do | |||
reactions = | |||
reactions | |||
|> filter(params) | |||
@@ -15,7 +15,7 @@ defmodule Pleroma.Web.PleromaAPI.ScrobbleView do | |||
alias Pleroma.Web.MastodonAPI.AccountView | |||
def render("show.json", %{activity: %Activity{data: %{"type" => "Listen"}} = activity} = opts) do | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
user = CommonAPI.get_user(activity.data["actor"]) | |||
created_at = Utils.to_masto_date(activity.data["published"]) | |||
@@ -32,7 +32,7 @@ defmodule Pleroma.Web.Push.Impl do | |||
mastodon_type = notification.type | |||
gcm_api_key = Application.get_env(:web_push_encryption, :gcm_api_key) | |||
avatar_url = User.avatar_url(actor) | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
user = User.get_cached_by_id(user_id) | |||
direct_conversation_id = Activity.direct_conversation_id(activity, user) | |||
@@ -69,7 +69,7 @@ defmodule Pleroma.Web.RichMedia.Helpers do | |||
def fetch_data_for_activity(%Activity{data: %{"type" => "Create"}} = activity) do | |||
with true <- Config.get([:rich_media, :enabled]), | |||
%Object{} = object <- Object.normalize(activity) do | |||
%Object{} = object <- Object.normalize(activity, fetch: false) do | |||
fetch_data_for_object(object) | |||
else | |||
_ -> %{} | |||
@@ -122,7 +122,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do | |||
end | |||
defp get_counts(%Activity{} = activity) do | |||
%Object{data: data} = Object.normalize(activity) | |||
%Object{data: data} = Object.normalize(activity, fetch: false) | |||
%{ | |||
likes: data["like_count"] || 0, | |||
@@ -151,7 +151,7 @@ defmodule Pleroma.Web.Streamer do | |||
recipients = MapSet.new(item.recipients) | |||
domain_blocks = Pleroma.Web.ActivityPub.MRF.subdomains_regex(user.domain_blocks) | |||
with parent <- Object.normalize(item) || item, | |||
with parent <- Object.normalize(item, fetch: false) || item, | |||
true <- Enum.all?([blocked_ap_ids, muted_ap_ids], &(item.actor not in &1)), | |||
true <- item.data["type"] != "Announce" || item.actor not in reblog_muted_ap_ids, | |||
true <- | |||
@@ -114,7 +114,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do | |||
{:ok, post} = CommonAPI.post(user, %{status: "uguu"}) | |||
{:ok, post2} = CommonAPI.post(user2, %{status: "test"}) | |||
obj = Object.normalize(post2) | |||
obj = Object.normalize(post2, fetch: false) | |||
{:ok, like_object, meta} = Pleroma.Web.ActivityPub.Builder.like(user, obj) | |||
@@ -130,7 +130,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do | |||
clear_config([:instance, :federating], true) | |||
object = Object.normalize(post) | |||
object = Object.normalize(post, fetch: false) | |||
Object.prune(object) | |||
with_mock Pleroma.Web.Federator, | |||
@@ -25,7 +25,7 @@ defmodule Pleroma.ActivityTest do | |||
test "returns activities by it's objects AP ids" do | |||
activity = insert(:note_activity) | |||
object_data = Object.normalize(activity).data | |||
object_data = Object.normalize(activity, fetch: false).data | |||
[found_activity] = Activity.get_all_create_by_object_ap_id(object_data["id"]) | |||
@@ -34,7 +34,7 @@ defmodule Pleroma.ActivityTest do | |||
test "returns the activity that created an object" do | |||
activity = insert(:note_activity) | |||
object_data = Object.normalize(activity).data | |||
object_data = Object.normalize(activity, fetch: false).data | |||
found_activity = Activity.get_create_by_object_ap_id(object_data["id"]) | |||
@@ -54,7 +54,7 @@ defmodule Pleroma.BBS.HandlerTest do | |||
) | |||
assert activity.actor == user.ap_id | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == "this is a test post" | |||
end | |||
@@ -63,7 +63,7 @@ defmodule Pleroma.BBS.HandlerTest do | |||
another_user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(another_user, %{status: "this is a test post"}) | |||
activity_object = Object.normalize(activity) | |||
activity_object = Object.normalize(activity, fetch: false) | |||
output = | |||
capture_io(fn -> | |||
@@ -82,7 +82,7 @@ defmodule Pleroma.BBS.HandlerTest do | |||
assert reply.actor == user.ap_id | |||
reply_object_data = Object.normalize(reply).data | |||
reply_object_data = Object.normalize(reply, fetch: false).data | |||
assert reply_object_data["content"] == "this is a reply" | |||
assert reply_object_data["inReplyTo"] == activity_object.data["id"] | |||
end | |||
@@ -175,8 +175,8 @@ defmodule Pleroma.Conversation.ParticipationTest do | |||
assert [participation_one, participation_two] = Participation.for_user(user) | |||
object2 = Pleroma.Object.normalize(activity_two) | |||
object3 = Pleroma.Object.normalize(activity_three) | |||
object2 = Pleroma.Object.normalize(activity_two, fetch: false) | |||
object3 = Pleroma.Object.normalize(activity_three, fetch: false) | |||
user = Repo.get(Pleroma.User, user.id) | |||
@@ -48,7 +48,7 @@ defmodule Pleroma.ConversationTest do | |||
user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(user, %{status: "Hey"}) | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
context = object.data["context"] | |||
conversation = Conversation.get_for_ap_id(context) | |||
@@ -64,7 +64,7 @@ defmodule Pleroma.ConversationTest do | |||
{:ok, activity} = | |||
CommonAPI.post(har, %{status: "Hey @#{jafnhar.nickname}", visibility: "direct"}) | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
context = object.data["context"] | |||
conversation = | |||
@@ -86,7 +86,7 @@ defmodule Pleroma.ConversationTest do | |||
in_reply_to_status_id: activity.id | |||
}) | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
context = object.data["context"] | |||
conversation_two = | |||
@@ -110,7 +110,7 @@ defmodule Pleroma.ConversationTest do | |||
in_reply_to_status_id: activity.id | |||
}) | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
context = object.data["context"] | |||
conversation_three = | |||
@@ -175,7 +175,7 @@ defmodule Pleroma.HTMLTest do | |||
"I think I just found the best github repo https://github.com/komeiji-satori/Dress" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, url} = HTML.extract_first_external_url_from_object(object) | |||
assert url == "https://github.com/komeiji-satori/Dress" | |||
end | |||
@@ -190,7 +190,7 @@ defmodule Pleroma.HTMLTest do | |||
"@#{other_user.nickname} install misskey! https://github.com/syuilo/misskey/blob/develop/docs/setup.en.md" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, url} = HTML.extract_first_external_url_from_object(object) | |||
assert url == "https://github.com/syuilo/misskey/blob/develop/docs/setup.en.md" | |||
@@ -206,7 +206,7 @@ defmodule Pleroma.HTMLTest do | |||
status: "#cofe https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72255140" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, url} = HTML.extract_first_external_url_from_object(object) | |||
assert url == "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72255140" | |||
@@ -222,7 +222,7 @@ defmodule Pleroma.HTMLTest do | |||
content_type: "text/html" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, url} = HTML.extract_first_external_url_from_object(object) | |||
assert url == "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72255140" | |||
@@ -233,7 +233,7 @@ defmodule Pleroma.HTMLTest do | |||
{:ok, activity} = CommonAPI.post(user, %{status: "\"http://cofe.com/?boomer=ok&foo=bar\""}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert {:ok, nil} = HTML.extract_first_external_url_from_object(object) | |||
end | |||
@@ -247,7 +247,7 @@ defmodule Pleroma.HTMLTest do | |||
"<a href=\"https://pleroma.gov/media/d24caa3a498e21e0298377a9ca0149a4f4f8b767178aacf837542282e2d94fb1.png?name=image.png\" class=\"attachment\">image.png</a>" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert {:ok, nil} = HTML.extract_first_external_url_from_object(object) | |||
end | |||
@@ -256,23 +256,22 @@ defmodule Pleroma.ObjectTest do | |||
end | |||
describe "normalizer" do | |||
test "fetches unknown objects by default" do | |||
%Object{} = | |||
object = Object.normalize("http://mastodon.example.org/@admin/99541947525187367") | |||
assert object.data["url"] == "http://mastodon.example.org/@admin/99541947525187367" | |||
@url "http://mastodon.example.org/@admin/99541947525187367" | |||
test "does not fetch unknown objects by default" do | |||
assert nil == Object.normalize(@url) | |||
end | |||
test "fetches unknown objects when fetch_remote is explicitly true" do | |||
%Object{} = | |||
object = Object.normalize("http://mastodon.example.org/@admin/99541947525187367", true) | |||
test "fetches unknown objects when fetch is explicitly true" do | |||
%Object{} = object = Object.normalize(@url, fetch: true) | |||
assert object.data["url"] == "http://mastodon.example.org/@admin/99541947525187367" | |||
assert object.data["url"] == @url | |||
end | |||
test "does not fetch unknown objects when fetch_remote is false" do | |||
test "does not fetch unknown objects when fetch is false" do | |||
assert is_nil( | |||
Object.normalize("http://mastodon.example.org/@admin/99541947525187367", false) | |||
Object.normalize(@url, | |||
fetch: false | |||
) | |||
) | |||
end | |||
end | |||
@@ -310,7 +309,10 @@ defmodule Pleroma.ObjectTest do | |||
mock_modified: mock_modified | |||
} do | |||
%Object{} = | |||
object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d") | |||
object = | |||
Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d", | |||
fetch: true | |||
) | |||
Object.set_cache(object) | |||
@@ -332,7 +334,10 @@ defmodule Pleroma.ObjectTest do | |||
test "returns the old object if refetch fails", %{mock_modified: mock_modified} do | |||
%Object{} = | |||
object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d") | |||
object = | |||
Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d", | |||
fetch: true | |||
) | |||
Object.set_cache(object) | |||
@@ -355,7 +360,10 @@ defmodule Pleroma.ObjectTest do | |||
mock_modified: mock_modified | |||
} do | |||
%Object{} = | |||
object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d") | |||
object = | |||
Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d", | |||
fetch: true | |||
) | |||
Object.set_cache(object) | |||
@@ -377,7 +385,10 @@ defmodule Pleroma.ObjectTest do | |||
test "preserves internal fields on refetch", %{mock_modified: mock_modified} do | |||
%Object{} = | |||
object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d") | |||
object = | |||
Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d", | |||
fetch: true | |||
) | |||
Object.set_cache(object) | |||
@@ -28,8 +28,10 @@ defmodule Pleroma.User.WelcomeChatMessageTest do | |||
{:ok, %Pleroma.Activity{} = activity} = WelcomeChatMessage.post_message(user) | |||
assert user.ap_id in activity.recipients | |||
assert Pleroma.Object.normalize(activity).data["type"] == "ChatMessage" | |||
assert Pleroma.Object.normalize(activity).data["content"] == "Hello, welcome to Blob/Cat!" | |||
assert Pleroma.Object.normalize(activity, fetch: false).data["type"] == "ChatMessage" | |||
assert Pleroma.Object.normalize(activity, fetch: false).data["content"] == | |||
"Hello, welcome to Blob/Cat!" | |||
end | |||
end | |||
end |
@@ -28,7 +28,9 @@ defmodule Pleroma.User.WelcomeMessageTest do | |||
{:ok, %Pleroma.Activity{} = activity} = WelcomeMessage.post_message(user) | |||
assert user.ap_id in activity.recipients | |||
assert activity.data["directMessage"] == true | |||
assert Pleroma.Object.normalize(activity).data["content"] =~ "Hello. Welcome to Pleroma" | |||
assert Pleroma.Object.normalize(activity, fetch: false).data["content"] =~ | |||
"Hello. Welcome to Pleroma" | |||
end | |||
end | |||
end |
@@ -438,7 +438,7 @@ defmodule Pleroma.UserTest do | |||
activity = Repo.one(Pleroma.Activity) | |||
assert registered_user.ap_id in activity.recipients | |||
assert Object.normalize(activity).data["content"] =~ "direct message" | |||
assert Object.normalize(activity, fetch: false).data["content"] =~ "direct message" | |||
assert activity.actor == welcome_user.ap_id | |||
end | |||
@@ -454,7 +454,7 @@ defmodule Pleroma.UserTest do | |||
activity = Repo.one(Pleroma.Activity) | |||
assert registered_user.ap_id in activity.recipients | |||
assert Object.normalize(activity).data["content"] =~ "chat message" | |||
assert Object.normalize(activity, fetch: false).data["content"] =~ "chat message" | |||
assert activity.actor == welcome_user.ap_id | |||
end | |||
@@ -493,7 +493,7 @@ defmodule Pleroma.UserTest do | |||
activity = Repo.one(Pleroma.Activity) | |||
assert registered_user.ap_id in activity.recipients | |||
assert Object.normalize(activity).data["content"] =~ "chat message" | |||
assert Object.normalize(activity, fetch: false).data["content"] =~ "chat message" | |||
assert activity.actor == welcome_user.ap_id | |||
end | |||
@@ -219,7 +219,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post) | |||
object = Object.normalize(post, false) | |||
object = Object.normalize(post, fetch: false) | |||
uuid = String.split(object.data["id"], "/") |> List.last() | |||
conn = | |||
@@ -712,7 +712,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it returns a note activity in a collection", %{conn: conn} do | |||
note_activity = insert(:direct_note_activity) | |||
note_object = Object.normalize(note_activity) | |||
note_object = Object.normalize(note_activity, fetch: false) | |||
user = User.get_cached_by_ap_id(hd(note_activity.data["to"])) | |||
conn = | |||
@@ -999,7 +999,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it returns a note activity in a collection", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
note_object = Object.normalize(note_activity) | |||
note_object = Object.normalize(note_activity, fetch: false) | |||
user = User.get_cached_by_ap_id(note_activity.data["actor"]) | |||
conn = | |||
@@ -1073,7 +1073,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
assert Activity.get_by_ap_id(result["id"]) | |||
assert result["object"] | |||
assert %Object{data: object} = Object.normalize(result["object"]) | |||
assert %Object{data: object} = Object.normalize(result["object"], fetch: false) | |||
assert object["content"] == activity["object"]["content"] | |||
end | |||
@@ -1109,7 +1109,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
assert Activity.get_by_ap_id(response["id"]) | |||
assert response["object"] | |||
assert %Object{data: response_object} = Object.normalize(response["object"]) | |||
assert %Object{data: response_object} = Object.normalize(response["object"], fetch: false) | |||
assert response_object["sensitive"] == true | |||
assert response_object["content"] == activity["object"]["content"] | |||
@@ -1137,7 +1137,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it erects a tombstone when receiving a delete activity", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
note_object = Object.normalize(note_activity) | |||
note_object = Object.normalize(note_activity, fetch: false) | |||
user = User.get_cached_by_ap_id(note_activity.data["actor"]) | |||
data = %{ | |||
@@ -1162,7 +1162,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it rejects delete activity of object from other actor", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
note_object = Object.normalize(note_activity) | |||
note_object = Object.normalize(note_activity, fetch: false) | |||
user = insert(:user) | |||
data = %{ | |||
@@ -1183,7 +1183,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it increases like count when receiving a like action", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
note_object = Object.normalize(note_activity) | |||
note_object = Object.normalize(note_activity, fetch: false) | |||
user = User.get_cached_by_ap_id(note_activity.data["actor"]) | |||
data = %{ | |||
@@ -1240,7 +1240,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
assert cirno_outbox["attributedTo"] == nil | |||
assert cirno_outbox["actor"] == cirno.ap_id | |||
assert cirno_object = Object.normalize(cirno_outbox["object"]) | |||
assert cirno_object = Object.normalize(cirno_outbox["object"], fetch: false) | |||
assert cirno_object.data["actor"] == cirno.ap_id | |||
assert cirno_object.data["attributedTo"] == cirno.ap_id | |||
end | |||
@@ -1503,7 +1503,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it tracks a signed object fetch", %{conn: conn} do | |||
user = insert(:user, local: false) | |||
activity = insert(:note_activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
object_path = String.trim_leading(object.data["id"], Pleroma.Web.Endpoint.url()) | |||
@@ -1519,7 +1519,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
test "it tracks a signed activity fetch", %{conn: conn} do | |||
user = insert(:user, local: false) | |||
activity = insert(:note_activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
activity_path = String.trim_leading(activity.data["id"], Pleroma.Web.Endpoint.url()) | |||
@@ -1536,7 +1536,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
user = insert(:user, local: false) | |||
other_user = insert(:user, local: false) | |||
activity = insert(:note_activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
object_path = String.trim_leading(object.data["id"], Pleroma.Web.Endpoint.url()) | |||
@@ -1560,7 +1560,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
user = insert(:user, local: false) | |||
other_user = insert(:user, local: false) | |||
activity = insert(:note_activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
activity_path = String.trim_leading(activity.data["id"], Pleroma.Web.Endpoint.url()) | |||
@@ -1650,7 +1650,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do | |||
assert activity_response["actor"] == user.ap_id | |||
assert %Object{data: %{"attachment" => [attachment]}} = | |||
Object.normalize(activity_response["object"]) | |||
Object.normalize(activity_response["object"], fetch: false) | |||
assert attachment["type"] == "Document" | |||
assert attachment["name"] == desc | |||
@@ -321,7 +321,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
} | |||
{:ok, %Activity{} = activity} = ActivityPub.insert(data) | |||
object = Pleroma.Object.normalize(activity) | |||
object = Pleroma.Object.normalize(activity, fetch: false) | |||
assert is_binary(activity.data["context"]) | |||
assert is_binary(object.data["context"]) | |||
@@ -344,7 +344,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
} | |||
{:ok, %Activity{} = activity} = ActivityPub.insert(data) | |||
assert object = Object.normalize(activity) | |||
assert object = Object.normalize(activity, fetch: false) | |||
assert is_binary(object.data["id"]) | |||
end | |||
end | |||
@@ -678,7 +678,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do | |||
{:ok, activity_two} = CommonAPI.post(blockee, %{status: "hey! @#{friend.nickname}"}) | |||
assert object = Pleroma.Object.normalize(activity_two) | |||
assert object = Pleroma.Object.normalize(activity_two, fetch: false) | |||
data = %{ | |||
"actor" => friend.ap_id, | |||
@@ -18,7 +18,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidationTest do | |||
announcer = insert(:user) | |||
{:ok, post_activity} = CommonAPI.post(user, %{status: "uguu"}) | |||
object = Object.normalize(post_activity, false) | |||
object = Object.normalize(post_activity, fetch: false) | |||
{:ok, valid_announce, []} = Builder.announce(announcer, object) | |||
%{ | |||
@@ -81,7 +81,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidationTest do | |||
{:ok, post_activity} = | |||
CommonAPI.post(user, %{status: "a secret post", visibility: "private"}) | |||
object = Object.normalize(post_activity, false) | |||
object = Object.normalize(post_activity, fetch: false) | |||
# Another user can't announce it | |||
{:ok, announce, []} = Builder.announce(announcer, object, public: false) | |||
@@ -17,7 +17,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.ChatValidationTest do | |||
user = insert(:user) | |||
recipient = insert(:user) | |||
{:ok, activity} = CommonAPI.post_chat_message(user, recipient, "hey") | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, create_data, _} = Builder.create(user, object.data, [recipient.ap_id]) | |||
@@ -322,7 +322,7 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do | |||
actor = insert(:user) | |||
note_activity = insert(:note_activity, user: actor) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
activity_path = String.trim_leading(note_activity.data["id"], Pleroma.Web.Endpoint.url()) | |||
object_path = String.trim_leading(object.data["id"], Pleroma.Web.Endpoint.url()) | |||
@@ -139,7 +139,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do | |||
{:ok, op} = CommonAPI.post(other_user, %{status: "big oof"}) | |||
{:ok, post} = CommonAPI.post(user, %{status: "hey", in_reply_to_id: op}) | |||
{:ok, favorite} = CommonAPI.favorite(user, post.id) | |||
object = Object.normalize(post) | |||
object = Object.normalize(post, fetch: false) | |||
{:ok, delete_data, _meta} = Builder.delete(user, object.data["id"]) | |||
{:ok, delete_user_data, _meta} = Builder.delete(user, user.ap_id) | |||
{:ok, delete, _meta} = ActivityPub.persist(delete_data, local: true) | |||
@@ -182,7 +182,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do | |||
user = User.get_by_id(user.id) | |||
assert user.note_count == 0 | |||
object = Object.normalize(op.data["object"], false) | |||
object = Object.normalize(op.data["object"], fetch: false) | |||
assert object.data["repliesCount"] == 0 | |||
end | |||
@@ -211,7 +211,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do | |||
user = User.get_by_id(user.id) | |||
assert user.note_count == 0 | |||
object = Object.normalize(op.data["object"], false) | |||
object = Object.normalize(op.data["object"], fetch: false) | |||
assert object.data["repliesCount"] == 0 | |||
end | |||
@@ -130,7 +130,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnnounceHandlingTest do | |||
assert data["id"] == | |||
"http://mastodon.example.org/users/admin/statuses/99542391527669785/activity" | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["id"] == "http://mastodon.example.org/@admin/99541947525187368" | |||
assert object.data["content"] == "this is a private toot" | |||
@@ -158,7 +158,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnnounceHandlingTest do | |||
data = | |||
File.read!("test/fixtures/mastodon-announce.json") | |||
|> Jason.decode!() | |||
|> Map.put("object", Object.normalize(activity).data["id"]) | |||
|> Map.put("object", Object.normalize(activity, fetch: false).data["id"]) | |||
|> Map.put("to", ["http://mastodon.example.org/users/admin/followers"]) | |||
|> Map.put("cc", []) | |||
@@ -26,7 +26,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnswerHandlingTest do | |||
poll: %{options: ["suya", "suya.", "suya.."], expires_in: 10} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["repliesCount"] == nil | |||
data = | |||
@@ -37,7 +37,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnswerHandlingTest do | |||
|> Kernel.put_in(["object", "to"], user.ap_id) | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
answer_object = Object.normalize(activity) | |||
answer_object = Object.normalize(activity, fetch: false) | |||
assert answer_object.data["type"] == "Answer" | |||
assert answer_object.data["inReplyTo"] == object.data["id"] | |||
@@ -62,7 +62,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnswerHandlingTest do | |||
poll: %{options: ["suya", "suya.", "suya.."], expires_in: 10} | |||
}) | |||
poll_object = Object.normalize(poll_activity) | |||
poll_object = Object.normalize(poll_activity, fetch: false) | |||
# TODO: Replace with CommonAPI vote creation when implemented | |||
data = | |||
File.read!("test/fixtures/mastodon-vote.json") | |||
@@ -25,7 +25,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.ArticleHandlingTest do | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["name"] == "The end is near: Mastodon plans to drop OStatus support" | |||
@@ -75,7 +75,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.ArticleHandlingTest do | |||
data = File.read!("test/fixtures/prismo-url-map.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["url"] == "https://prismo.news/posts/83" | |||
end | |||
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AudioHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["title"] == "lain radio episode 1" | |||
assert object.data["artist"] == "lain" | |||
@@ -57,7 +57,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AudioHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
assert object = Object.normalize(activity, false) | |||
assert object = Object.normalize(activity, fetch: false) | |||
assert object.data["to"] == ["https://www.w3.org/ns/activitystreams#Public"] | |||
@@ -40,7 +40,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do | |||
assert actor == deleting_user.ap_id | |||
# Objects are replaced by a tombstone object. | |||
object = Object.normalize(activity.data["object"]) | |||
object = Object.normalize(activity.data["object"], fetch: false) | |||
assert object.data["type"] == "Tombstone" | |||
end | |||
@@ -48,7 +48,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do | |||
activity = insert(:note_activity) | |||
{:ok, object} = | |||
Object.normalize(activity.data["object"]) | |||
Object.normalize(activity.data["object"], fetch: false) | |||
|> Repo.delete() | |||
# TODO: mock cachex | |||
@@ -28,7 +28,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = File.read!("test/fixtures/kroeg-array-less-emoji.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["emoji"] == %{ | |||
"icon_e_smile" => "https://puckipedia.com/forum/images/smilies/icon_e_smile.png" | |||
@@ -37,7 +37,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = File.read!("test/fixtures/kroeg-array-less-hashtag.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert "test" in object.data["tag"] | |||
end | |||
@@ -66,7 +66,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
assert data["to"] == [] | |||
assert data["cc"] == to | |||
object_data = Object.normalize(activity).data | |||
object_data = Object.normalize(activity, fetch: false).data | |||
assert object_data["to"] == [] | |||
assert object_data["cc"] == to | |||
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = | |||
File.read!("test/fixtures/mastodon-post-activity.json") | |||
|> Jason.decode!() | |||
|> Map.put("object", Object.normalize(activity).data) | |||
|> Map.put("object", Object.normalize(activity, fetch: false).data) | |||
{:ok, returned_activity} = Transmogrifier.handle_incoming(data) | |||
@@ -97,7 +97,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = Map.put(data, "object", object) | |||
{:ok, returned_activity} = Transmogrifier.handle_incoming(data) | |||
returned_object = Object.normalize(returned_activity, false) | |||
returned_object = Object.normalize(returned_activity, fetch: false) | |||
assert %Activity{} = | |||
Activity.get_create_by_object_ap_id( | |||
@@ -123,7 +123,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
allowed_thread_distance?: fn _ -> false end do | |||
{:ok, returned_activity} = Transmogrifier.handle_incoming(data) | |||
returned_object = Object.normalize(returned_activity, false) | |||
returned_object = Object.normalize(returned_activity, fetch: false) | |||
refute Activity.get_create_by_object_ap_id( | |||
"tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" | |||
@@ -179,7 +179,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
assert data["actor"] == "http://mastodon.example.org/users/admin" | |||
object_data = Object.normalize(data["object"]).data | |||
object_data = Object.normalize(data["object"], fetch: false).data | |||
assert object_data["id"] == | |||
"http://mastodon.example.org/users/admin/statuses/99512778738411822" | |||
@@ -209,7 +209,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object_data = Object.normalize(data["object"], false).data | |||
object_data = Object.normalize(data["object"], fetch: false).data | |||
assert object_data["sensitive"] == true | |||
end | |||
@@ -218,7 +218,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = File.read!("test/fixtures/mastodon-post-activity-hashtag.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert Enum.at(object.data["tag"], 2) == "moo" | |||
end | |||
@@ -227,7 +227,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = File.read!("test/fixtures/mastodon-post-activity-contentmap.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["content"] == | |||
"<p><span class=\"h-card\"><a href=\"http://localtesting.pleroma.lol/users/lain\" class=\"u-url mention\">@<span>lain</span></a></span></p>" | |||
@@ -237,7 +237,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
data = File.read!("test/fixtures/kroeg-post-activity.json") |> Jason.decode!() | |||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(data["object"]) | |||
object = Object.normalize(data["object"], fetch: false) | |||
assert object.data["content"] == | |||
"<p>henlo from my Psion netBook</p><p>message sent from my Psion netBook</p>" | |||
@@ -725,7 +725,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do | |||
in_reply_to_status_id: id1 | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
replies_uris = Enum.map([self_reply1, self_reply2], fn a -> a.object.data["id"] end) | |||
assert %{"type" => "Collection", "items" => ^replies_uris} = | |||
@@ -22,7 +22,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["url"] == "https://mastodon.sdf.org/@rinpatch/102070944809637304" | |||
@@ -65,7 +65,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do | |||
{:ok, reply_activity} = CommonAPI.post(user, %{status: "hewwo", in_reply_to_id: activity.id}) | |||
reply_object = Object.normalize(reply_activity, false) | |||
reply_object = Object.normalize(reply_activity, fetch: false) | |||
assert reply_object.data["context"] == object.data["context"] | |||
assert reply_object.data["context_id"] == object.data["context_id"] | |||
@@ -101,7 +101,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do | |||
|> Kernel.put_in(["object", "oneOf"], options) | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Enum.sort(object.data["oneOf"]) == Enum.sort(options) | |||
end | |||
@@ -147,7 +147,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do | |||
|> Kernel.put_in(["object", "tag"], tag) | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["oneOf"] == options | |||
@@ -24,7 +24,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
assert object = Object.normalize(activity, false) | |||
assert object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == nil | |||
end | |||
@@ -34,7 +34,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
assert object = Object.normalize(activity, false) | |||
assert object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == | |||
"<p>Après avoir mené avec un certain succès la campagne « Dégooglisons Internet » en 2014, l’association Framasoft annonce fin 2019 arrêter progressivement un certain nombre de ses services alternatifs aux GAFAM. Pourquoi ?</p><p>Transcription par @aprilorg ici : <a href=\"https://www.april.org/deframasoftisons-internet-pierre-yves-gosset-framasoft\">https://www.april.org/deframasoftisons-internet-pierre-yves-gosset-framasoft</a></p>" | |||
@@ -70,7 +70,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do | |||
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) | |||
assert object = Object.normalize(activity, false) | |||
assert object = Object.normalize(activity, fetch: false) | |||
assert object.data["attachment"] == [ | |||
%{ | |||
@@ -56,7 +56,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do | |||
other_user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(user, %{status: "test post"}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
note_obj = %{ | |||
"type" => "Note", | |||
@@ -165,7 +165,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, votes, object} = CommonAPI.vote(other_user, object, [0, 1]) | |||
assert Enum.sort(Utils.get_existing_votes(other_user.ap_id, object)) == Enum.sort(votes) | |||
end | |||
@@ -183,7 +183,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, [vote], object} = CommonAPI.vote(other_user, object, [0]) | |||
{:ok, _activity} = CommonAPI.favorite(user, activity.id) | |||
[fetched_vote] = Utils.get_existing_votes(other_user.ap_id, object) | |||
@@ -242,7 +242,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
test "updates likes" do | |||
user = insert(:user) | |||
activity = insert(:note_activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert {:ok, updated_object} = | |||
Utils.update_element_in_object( | |||
@@ -302,7 +302,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
describe "get_existing_like/2" do | |||
test "fetches existing like" do | |||
note_activity = insert(:note_activity) | |||
assert object = Object.normalize(note_activity) | |||
assert object = Object.normalize(note_activity, fetch: false) | |||
user = insert(:user) | |||
refute Utils.get_existing_like(user.ap_id, object) | |||
@@ -320,7 +320,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
test "fetches existing announce" do | |||
note_activity = insert(:note_activity) | |||
assert object = Object.normalize(note_activity) | |||
assert object = Object.normalize(note_activity, fetch: false) | |||
actor = insert(:user) | |||
{:ok, announce} = CommonAPI.repeat(note_activity.id, actor) | |||
@@ -412,7 +412,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
describe "lazy_put_activity_defaults/2" do | |||
test "returns map with id and published data" do | |||
note_activity = insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
res = Utils.lazy_put_activity_defaults(%{"context" => object.data["id"]}) | |||
assert res["context"] == object.data["id"] | |||
assert res["context_id"] == object.id | |||
@@ -431,7 +431,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do | |||
test "returns activity data with object" do | |||
note_activity = insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
res = | |||
Utils.lazy_put_activity_defaults(%{ | |||
@@ -24,7 +24,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do | |||
test "renders a note activity" do | |||
note = insert(:note_activity) | |||
object = Object.normalize(note) | |||
object = Object.normalize(note, fetch: false) | |||
result = ObjectView.render("object.json", %{object: note}) | |||
@@ -56,7 +56,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do | |||
test "renders a like activity" do | |||
note = insert(:note_activity) | |||
object = Object.normalize(note) | |||
object = Object.normalize(note, fetch: false) | |||
user = insert(:user) | |||
{:ok, like_activity} = CommonAPI.favorite(user, note.id) | |||
@@ -70,7 +70,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do | |||
test "renders an announce activity" do | |||
note = insert(:note_activity) | |||
object = Object.normalize(note) | |||
object = Object.normalize(note, fetch: false) | |||
user = insert(:user) | |||
{:ok, announce_activity} = CommonAPI.repeat(note.id, user) | |||
@@ -36,7 +36,7 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do | |||
{:ok, message} = | |||
CommonAPI.post_chat_message(user, recipient, "Hello darkness my old friend") | |||
object = Object.normalize(message, false) | |||
object = Object.normalize(message, fetch: false) | |||
chat = Chat.get(user.id, recipient.ap_id) | |||
recipient_chat = Chat.get(recipient.id, user.ap_id) | |||
@@ -143,7 +143,7 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do | |||
recipient = insert(:user) | |||
{:ok, message} = CommonAPI.post_chat_message(user, recipient, "Yo") | |||
object = Object.normalize(message, false) | |||
object = Object.normalize(message, fetch: false) | |||
chat = Chat.get(user.id, recipient.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -183,7 +183,7 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do | |||
recipient = insert(:user) | |||
{:ok, message} = CommonAPI.post_chat_message(user, recipient, "Yo") | |||
object = Object.normalize(message, false) | |||
object = Object.normalize(message, fetch: false) | |||
chat = Chat.get(user.id, recipient.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -39,7 +39,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
poll: %{expires_in: 600, options: ["reimu", "marisa"]} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["type"] == "Question" | |||
assert object.data["oneOf"] |> length() == 2 | |||
@@ -174,7 +174,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
assert other_user.ap_id not in activity.recipients | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == "uguu<br/>uguuu" | |||
end | |||
@@ -194,7 +194,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
assert other_user.ap_id not in activity.recipients | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == | |||
"<a href=\"https://example.org\" rel=\"ugc\">https://example.org</a> is the site of <span class=\"h-card\"><a class=\"u-url mention\" data-user=\"#{ | |||
@@ -215,7 +215,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
assert activity.data["type"] == "Create" | |||
assert activity.local | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["type"] == "ChatMessage" | |||
assert object.data["to"] == [recipient.ap_id] | |||
@@ -281,7 +281,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
clear_config([:instance, :federating], true) | |||
Object.normalize(post, false) | |||
Object.normalize(post, fetch: false) | |||
|> Object.prune() | |||
with_mock Pleroma.Web.Federator, | |||
@@ -491,7 +491,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(user, %{status: "#2hu #2HU"}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["tag"] == ["2hu"] | |||
end | |||
@@ -500,7 +500,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
user = insert(:user) | |||
{:ok, activity} = CommonAPI.post(user, %{status: ":firefox:"}) | |||
assert Object.normalize(activity).data["emoji"]["firefox"] | |||
assert Object.normalize(activity, fetch: false).data["emoji"]["firefox"] | |||
end | |||
describe "posting" do | |||
@@ -539,7 +539,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
content_type: "text/html" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')" | |||
assert object.data["source"] == post | |||
@@ -556,7 +556,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
content_type: "text/markdown" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')" | |||
assert object.data["source"] == post | |||
@@ -1211,7 +1211,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
poll: %{options: ["Yes", "No"], expires_in: 20} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, _, object} = CommonAPI.vote(other_user, object, [0]) | |||
@@ -1231,7 +1231,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
length: 180_000 | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["title"] == "lain radio episode 1" | |||
@@ -1250,7 +1250,7 @@ defmodule Pleroma.Web.CommonAPITest do | |||
visibility: "private" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert object.data["title"] == "lain radio episode 1" | |||
@@ -24,7 +24,7 @@ defmodule Pleroma.Web.Feed.TagControllerTest do | |||
user = insert(:user) | |||
{:ok, activity1} = CommonAPI.post(user, %{status: "yeah #PleromaArt"}) | |||
object = Object.normalize(activity1) | |||
object = Object.normalize(activity1, fetch: false) | |||
object_data = | |||
Map.put(object.data, "attachment", [ | |||
@@ -91,7 +91,7 @@ defmodule Pleroma.Web.Feed.TagControllerTest do | |||
user = insert(:user) | |||
{:ok, activity1} = CommonAPI.post(user, %{status: "yeah #PleromaArt"}) | |||
object = Object.normalize(activity1) | |||
object = Object.normalize(activity1, fetch: false) | |||
object_data = | |||
Map.put(object.data, "attachment", [ | |||
@@ -147,8 +147,8 @@ defmodule Pleroma.Web.Feed.TagControllerTest do | |||
"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4" | |||
] | |||
obj1 = Object.normalize(activity1) | |||
obj2 = Object.normalize(activity2) | |||
obj1 = Object.normalize(activity1, fetch: false) | |||
obj2 = Object.normalize(activity2, fetch: false) | |||
assert xpath(xml, ~x"//channel/item/description/text()"sl) == [ | |||
HtmlEntities.decode(FeedView.activity_content(obj2.data)), | |||
@@ -58,7 +58,7 @@ defmodule Pleroma.Web.Feed.UserControllerTest do | |||
) | |||
note_activity2 = insert(:note_activity, note: note2) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
[user: user, object: object, max_id: note_activity2.id] | |||
end | |||
@@ -20,7 +20,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
poll: %{options: ["what Mastodon't", "n't what Mastodoes"], expires_in: 20} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
conn = get(conn, "/api/v1/polls/#{object.id}") | |||
@@ -39,7 +39,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
visibility: "private" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
conn = get(conn, "/api/v1/polls/#{object.id}") | |||
@@ -63,7 +63,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
conn = | |||
conn | |||
@@ -85,7 +85,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
poll: %{options: ["Yes", "No"], expires_in: 20} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert conn | |||
|> put_req_header("content-type", "application/json") | |||
@@ -106,7 +106,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
poll: %{options: ["half empty", "half full"], expires_in: 20} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert conn | |||
|> put_req_header("content-type", "application/json") | |||
@@ -129,7 +129,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
poll: %{options: ["Yes", "No"], expires_in: 20} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
conn = | |||
conn | |||
@@ -158,7 +158,7 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do | |||
visibility: "private" | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
conn = | |||
conn | |||
@@ -309,7 +309,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do | |||
}) | |||
capture_log(fn -> | |||
q = Object.normalize(activity).data["id"] | |||
q = Object.normalize(activity, fetch: false).data["id"] | |||
results = | |||
conn | |||
@@ -800,7 +800,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
test "when you created it" do | |||
%{user: author, conn: conn} = oauth_access(["write:statuses"]) | |||
activity = insert(:note_activity, user: author) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
content = object.data["content"] | |||
source = object.data["source"] | |||
@@ -1374,7 +1374,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do | |||
activity = Activity.get_by_id_with_object(id) | |||
assert Object.normalize(activity).data["inReplyTo"] == Object.normalize(replied_to).data["id"] | |||
assert Object.normalize(activity, fetch: false).data["inReplyTo"] == | |||
Object.normalize(replied_to, fetch: false).data["id"] | |||
assert Activity.get_in_reply_to_activity(activity).id == replied_to.id | |||
# Reblog from the third user | |||
@@ -44,7 +44,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do | |||
{:ok, [notification]} = Notification.create_notifications(activity) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
chat = Chat.get(recipient.id, user.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -29,7 +29,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
expected = %{ | |||
emojis: [], | |||
@@ -72,7 +72,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
voter = insert(:user) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, _votes, object} = CommonAPI.vote(voter, object, [0, 1]) | |||
@@ -98,7 +98,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert %{emojis: [%{shortcode: "blank"}]} = PollView.render("show.json", %{object: object}) | |||
end | |||
@@ -117,7 +117,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
{:ok, _, object} = CommonAPI.vote(other_user, object, [1, 2]) | |||
@@ -129,7 +129,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
end | |||
test "does not crash on polls with no end date" do | |||
object = Object.normalize("https://skippers-bin.com/notes/7x9tmrp97i") | |||
object = Object.normalize("https://skippers-bin.com/notes/7x9tmrp97i", fetch: true) | |||
result = PollView.render("show.json", %{object: object}) | |||
assert result[:expires_at] == nil | |||
@@ -153,7 +153,7 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do | |||
} | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert %{ | |||
options: [ | |||
@@ -61,7 +61,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||
{:ok, activity} = CommonAPI.post(user, %{status: "yo"}) | |||
activity | |||
|> Object.normalize(false) | |||
|> Object.normalize(fetch: false) | |||
|> Object.update_data(%{"reactions" => %{"☕" => [user.ap_id], "x" => 1}}) | |||
activity = Activity.get_by_id(activity.id) | |||
@@ -204,7 +204,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||
test "a note with null content" do | |||
note = insert(:note_activity) | |||
note_object = Object.normalize(note) | |||
note_object = Object.normalize(note, fetch: false) | |||
data = | |||
note_object.data | |||
@@ -223,7 +223,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||
test "a note activity" do | |||
note = insert(:note_activity) | |||
object_data = Object.normalize(note).data | |||
object_data = Object.normalize(note, fetch: false).data | |||
user = User.get_cached_by_ap_id(note.data["actor"]) | |||
convo_id = Utils.context_to_conversation_id(object_data["context"]) | |||
@@ -72,7 +72,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
test "redirects to /notice/id for html format", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
[_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, object.data["id"])) | |||
url = "/objects/#{uuid}" | |||
@@ -82,7 +82,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
test "404s on private objects", %{conn: conn} do | |||
note_activity = insert(:direct_note_activity) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
[_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, object.data["id"])) | |||
conn | |||
@@ -133,7 +133,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
conn: conn | |||
} do | |||
note_activity = insert(:note_activity) | |||
expected_redirect_url = Object.normalize(note_activity).data["id"] | |||
expected_redirect_url = Object.normalize(note_activity, fetch: false).data["id"] | |||
redirect_url = | |||
conn | |||
@@ -230,7 +230,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
describe "GET /notice/:id/embed_player" do | |||
setup do | |||
note_activity = insert(:note_activity) | |||
object = Pleroma.Object.normalize(note_activity) | |||
object = Pleroma.Object.normalize(note_activity, fetch: false) | |||
object_data = | |||
Map.put(object.data, "attachment", [ | |||
@@ -287,7 +287,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
test "404s when attachment is empty", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
object = Pleroma.Object.normalize(note_activity) | |||
object = Pleroma.Object.normalize(note_activity, fetch: false) | |||
object_data = Map.put(object.data, "attachment", []) | |||
object | |||
@@ -301,7 +301,7 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do | |||
test "404s when attachment isn't audio or video", %{conn: conn} do | |||
note_activity = insert(:note_activity) | |||
object = Pleroma.Object.normalize(note_activity) | |||
object = Pleroma.Object.normalize(note_activity, fetch: false) | |||
object_data = | |||
Map.put(object.data, "attachment", [ | |||
@@ -22,7 +22,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do | |||
{:ok, create} = CommonAPI.post_chat_message(other_user, user, "sup") | |||
{:ok, _create} = CommonAPI.post_chat_message(other_user, user, "sup part 2") | |||
{:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id) | |||
object = Object.normalize(create, false) | |||
object = Object.normalize(create, fetch: false) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
assert cm_ref.unread == true | |||
@@ -52,7 +52,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do | |||
{:ok, create} = CommonAPI.post_chat_message(other_user, user, "sup") | |||
{:ok, _create} = CommonAPI.post_chat_message(other_user, user, "sup part 2") | |||
{:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id) | |||
object = Object.normalize(create, false) | |||
object = Object.normalize(create, fetch: false) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
assert cm_ref.unread == true | |||
@@ -158,7 +158,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do | |||
{:ok, other_message} = CommonAPI.post_chat_message(recipient, user, "nico nico ni") | |||
object = Object.normalize(message, false) | |||
object = Object.normalize(message, fetch: false) | |||
chat = Chat.get(user.id, recipient.ap_id) | |||
@@ -176,7 +176,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do | |||
assert %{data: %{"type" => "Tombstone"}} = Object.get_by_id(object.id) | |||
# Deleting other people's messages just removes the reference | |||
object = Object.normalize(other_message, false) | |||
object = Object.normalize(other_message, fetch: false) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
result = | |||
@@ -31,7 +31,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageReferenceViewTest do | |||
chat = Chat.get(user.id, recipient.ap_id) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -58,7 +58,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageReferenceViewTest do | |||
media_id: upload.id | |||
) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatViewTest do | |||
{:ok, chat_message_creation} = CommonAPI.post_chat_message(user, recipient, "hello") | |||
chat_message = Object.normalize(chat_message_creation, false) | |||
chat_message = Object.normalize(chat_message_creation, fetch: false) | |||
{:ok, chat} = Chat.get_or_create(user.id, recipient.ap_id) | |||
@@ -118,7 +118,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." | |||
}) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.format_body( | |||
%{ | |||
@@ -137,7 +137,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
user = insert(:user, nickname: "Bob") | |||
other_user = insert(:user) | |||
{:ok, _, _, activity} = CommonAPI.follow(user, other_user) | |||
object = Object.normalize(activity, false) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.format_body(%{activity: activity, type: "follow"}, user, object) == | |||
"@Bob has followed you" | |||
@@ -156,7 +156,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
}) | |||
{:ok, announce_activity} = CommonAPI.repeat(activity.id, user) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.format_body(%{activity: announce_activity}, user, object) == | |||
"@#{user.nickname} repeated: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis fini..." | |||
@@ -175,7 +175,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
}) | |||
{:ok, activity} = CommonAPI.favorite(user, activity.id) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.format_body(%{activity: activity, type: "favourite"}, user, object) == | |||
"@Bob has favorited your post" | |||
@@ -193,7 +193,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
}) | |||
{:ok, activity} = CommonAPI.react_with_emoji(activity.id, user, "👍") | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.format_body(%{activity: activity, type: "pleroma:emoji_reaction"}, user, object) == | |||
"@Bob reacted with 👍" | |||
@@ -221,7 +221,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
recipient = insert(:user) | |||
{:ok, chat} = CommonAPI.post_chat_message(user, recipient, "hey") | |||
object = Object.normalize(chat, false) | |||
object = Object.normalize(chat, fetch: false) | |||
[notification] = Notification.for_user(recipient) | |||
res = Impl.build_content(notification, user, object) | |||
@@ -245,7 +245,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
{:ok, upload} = ActivityPub.upload(file, actor: user.ap_id) | |||
{:ok, chat} = CommonAPI.post_chat_message(user, recipient, nil, media_id: upload.id) | |||
object = Object.normalize(chat, false) | |||
object = Object.normalize(chat, fetch: false) | |||
[notification] = Notification.for_user(recipient) | |||
res = Impl.build_content(notification, user, object) | |||
@@ -271,7 +271,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity) | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: "New Direct Message" | |||
@@ -286,7 +286,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity, type: "mention") | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: "New Mention" | |||
@@ -297,7 +297,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity, type: "favourite") | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: "New Favorite" | |||
@@ -320,7 +320,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity) | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: | |||
@@ -338,7 +338,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity, type: "mention") | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: | |||
@@ -351,7 +351,7 @@ defmodule Pleroma.Web.Push.ImplTest do | |||
notif = insert(:notification, user: user2, activity: activity, type: "favourite") | |||
actor = User.get_cached_by_ap_id(notif.activity.data["actor"]) | |||
object = Object.normalize(activity) | |||
object = Object.normalize(activity, fetch: false) | |||
assert Impl.build_content(notif, actor, object) == %{ | |||
body: "@Bob has favorited your post", | |||
@@ -266,7 +266,7 @@ defmodule Pleroma.Web.StreamerTest do | |||
{:ok, create_activity} = | |||
CommonAPI.post_chat_message(other_user, user, "hey cirno", idempotency_key: "123") | |||
object = Object.normalize(create_activity, false) | |||
object = Object.normalize(create_activity, fetch: false) | |||
chat = Chat.get(user.id, other_user.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
cm_ref = %{cm_ref | chat: chat, object: object} | |||
@@ -284,7 +284,7 @@ defmodule Pleroma.Web.StreamerTest do | |||
other_user = insert(:user) | |||
{:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey cirno") | |||
object = Object.normalize(create_activity, false) | |||
object = Object.normalize(create_activity, fetch: false) | |||
chat = Chat.get(user.id, other_user.ap_id) | |||
cm_ref = MessageReference.for_chat_and_object(chat, object) | |||
cm_ref = %{cm_ref | chat: chat, object: object} | |||
@@ -36,7 +36,7 @@ defmodule Pleroma.Workers.ScheduledActivityWorkerTest do | |||
refute Repo.get(ScheduledActivity, scheduled_activity.id) | |||
activity = Repo.all(Pleroma.Activity) |> Enum.find(&(&1.actor == user.ap_id)) | |||
assert Pleroma.Object.normalize(activity).data["content"] == "hi" | |||
assert Pleroma.Object.normalize(activity, fetch: false).data["content"] == "hi" | |||
end | |||
test "adds log message if ScheduledActivity isn't find" do | |||
@@ -259,7 +259,7 @@ defmodule Pleroma.Factory do | |||
def like_activity_factory(attrs \\ %{}) do | |||
note_activity = attrs[:note_activity] || insert(:note_activity) | |||
object = Object.normalize(note_activity) | |||
object = Object.normalize(note_activity, fetch: false) | |||
user = insert(:user) | |||
data = | |||