summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/load_testing/fetcher.ex2
-rw-r--r--lib/load_testing/generator.ex34
-rw-r--r--lib/pleroma/user.ex4
3 files changed, 30 insertions, 10 deletions
diff --git a/lib/load_testing/fetcher.ex b/lib/load_testing/fetcher.ex
index b92b6e04f..0ff2f28c0 100644
--- a/lib/load_testing/fetcher.ex
+++ b/lib/load_testing/fetcher.ex
@@ -215,7 +215,7 @@ defmodule Pleroma.LoadTesting.Fetcher do
for: user
})
end,
- "Render context ancestors" => fn ->
+ "Render context" => fn ->
Pleroma.Web.MastodonAPI.StatusView.render(
"index.json",
for: user,
diff --git a/lib/load_testing/generator.ex b/lib/load_testing/generator.ex
index 7ad68dcc1..61e3d8686 100644
--- a/lib/load_testing/generator.ex
+++ b/lib/load_testing/generator.ex
@@ -22,6 +22,8 @@ defmodule Pleroma.LoadTesting.Generator do
end
defp generate_user_data(i) do
+ remote = Enum.random([true, false])
+
user = %User{
name: "Test ใƒ†ใ‚นใƒˆ User #{i}",
email: "user#{i}@example.com",
@@ -29,16 +31,32 @@ defmodule Pleroma.LoadTesting.Generator do
password_hash: Comeonin.Pbkdf2.hashpwsalt("test"),
bio: "Tester Number #{i}",
info: %{},
- local: Enum.random([true, false])
+ local: remote
}
- user = %{
- user
- | ap_id: User.ap_id(user),
- follower_address: User.ap_followers(user),
- following_address: User.ap_following(user),
- following: [User.ap_id(user)]
- }
+ user_urls =
+ if remote do
+ base_url =
+ Enum.random(["https://domain1.com", "https://domain2.com", "https://domain3.com"])
+
+ ap_id = "#{base_url}/users/#{user.nickname}"
+
+ %{
+ ap_id: ap_id,
+ follower_address: ap_id <> "/followers",
+ following_address: ap_id <> "/following",
+ following: [ap_id]
+ }
+ else
+ %{
+ ap_id: User.ap_id(user),
+ follower_address: User.ap_followers(user),
+ following_address: User.ap_following(user),
+ following: [User.ap_id(user)]
+ }
+ end
+
+ user = Map.merge(user, user_urls)
Repo.insert!(user)
end
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 3aa245f2a..37e59a651 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -429,7 +429,9 @@ defmodule Pleroma.User do
{:error, "Could not follow user: #{followed.nickname} blocked you."}
true ->
- if !followed.local && follower.local && !ap_enabled?(followed) do
+ benchmark? = Pleroma.Config.get([:env]) == :benchmark
+
+ if !followed.local && follower.local && !ap_enabled?(followed) && !benchmark? do
Websub.subscribe(follower, followed)
end