From 1d6970baf1fd09c357740a380351adf44f247279 Mon Sep 17 00:00:00 2001
From: Maksim Pechnikov <parallel588@gmail.com>
Date: Fri, 22 Nov 2019 14:17:12 +0300
Subject: [PATCH] fix

---
 benchmarks/load_testing/fetcher.ex | 36 ++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/benchmarks/load_testing/fetcher.ex b/benchmarks/load_testing/fetcher.ex
index 776105d34c..a45a71d4a4 100644
--- a/benchmarks/load_testing/fetcher.ex
+++ b/benchmarks/load_testing/fetcher.ex
@@ -57,9 +57,6 @@ def query_timelines(user) do
         Pleroma.Web.ActivityPub.ActivityPub.fetch_public_activities(
           mastodon_federated_timeline_params
         )
-      end,
-      "User favourites timeline" => fn ->
-        Pleroma.Web.ActivityPub.ActivityPub.fetch_favourites(user)
       end
     })
 
@@ -77,8 +74,6 @@ def query_timelines(user) do
         mastodon_federated_timeline_params
       )
 
-    user_favourites = Pleroma.Web.ActivityPub.ActivityPub.fetch_favourites(user)
-
     Benchee.run(%{
       "Rendering home timeline" => fn ->
         Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{
@@ -102,10 +97,33 @@ def query_timelines(user) do
         })
       end,
       "Rendering favorites timeline" => fn ->
-        Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{
-              activities: user_favourites,
-              for: user,
-              as: :activity})
+        conn = Phoenix.ConnTest.build_conn(:get, "http://localhost:4001/api/v1/favourites", nil)
+        Pleroma.Web.MastodonAPI.StatusController.favourites(
+          %Plug.Conn{conn |
+                     assigns: %{user: user},
+                     query_params:  %{"limit" => "0"},
+                     body_params: %{},
+                     cookies: %{},
+                     params: %{},
+                     path_params: %{},
+                     private: %{
+                       Pleroma.Web.Router => {[], %{}},
+                       phoenix_router: Pleroma.Web.Router,
+                       phoenix_action: :favourites,
+                       phoenix_controller: Pleroma.Web.MastodonAPI.StatusController,
+                       phoenix_endpoint: Pleroma.Web.Endpoint,
+                       phoenix_format: "json",
+                       phoenix_layout: {Pleroma.Web.LayoutView, "app.html"},
+                       phoenix_recycled: true,
+
+                       phoenix_view: Pleroma.Web.MastodonAPI.StatusView,
+                       plug_session: %{"user_id" => user.id},
+                       plug_session_fetch: :done,
+                       plug_session_info: :write,
+                       plug_skip_csrf_protection: true
+                     }
+          },
+          %{})
       end,
     })
   end
-- 
GitLab