summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-06-17 10:08:54 -0400
committerMark Felder <feld@feld.me>2024-06-17 10:41:14 -0400
commit9c6763725547e4927d09cf3cd8d33949a28c4824 (patch)
tree2769b9280d802eff2e8b49e0ef3ed89f446ff8b1 /test
parent825541b27c71d3a9b6f597a9934151831c52f6e5 (diff)
downloadpleroma-9c6763725547e4927d09cf3cd8d33949a28c4824.tar.gz
pleroma-9c6763725547e4927d09cf3cd8d33949a28c4824.zip
Refactor the async user refreshing to use Oban
Previous implementation could cause duplicate simultaneous profile fetches which is not polite.
Diffstat (limited to 'test')
-rw-r--r--test/pleroma/user_test.exs8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs
index 0da9969d0..031621875 100644
--- a/test/pleroma/user_test.exs
+++ b/test/pleroma/user_test.exs
@@ -953,8 +953,12 @@ defmodule Pleroma.UserTest do
{:ok, user} = User.get_or_fetch_by_ap_id("http://mastodon.example.org/users/admin")
- # User was updated async, fetch from cache now
- updated_user = User.get_cached_by_ap_id(user.ap_id)
+ # Oban job was generated to refresh the stale user
+ assert_enqueued(worker: "Pleroma.Workers.UserRefreshWorker", args: %{"ap_id" => user.ap_id})
+
+ # Run job to refresh the user; just capture its output instead of fetching it again
+ assert {:ok, updated_user} =
+ perform_job(Pleroma.Workers.UserRefreshWorker, %{"ap_id" => user.ap_id})
assert updated_user.inbox