diff options
author | kaniini <nenolod@gmail.com> | 2019-02-03 15:47:55 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-02-03 15:47:55 +0000 |
commit | 8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e (patch) | |
tree | f3d1923b58a7404d1159b32c04bd9917509c68d0 /test/web/federator_test.exs | |
parent | d5d91ae689e14103551dd3622e208ea31e40c858 (diff) | |
parent | 3913b0196e47c829df90aa835ade2efdb7c43850 (diff) | |
download | pleroma-8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e.tar.gz pleroma-8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e.zip |
Merge branch '582_federation_retirement_optimization' into 'develop'
[#582] Optimized federation retirement by reducing the number of SQL calls
Closes #582
See merge request pleroma/pleroma!762
Diffstat (limited to 'test/web/federator_test.exs')
-rw-r--r-- | test/web/federator_test.exs | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index c6d10ef78..05f813291 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -95,15 +95,18 @@ defmodule Pleroma.Web.FederatorTest do info: %{ap_enabled: true, source_data: %{"inbox" => inbox2}} }) - Instances.set_unreachable( - URI.parse(inbox2).host, - Instances.reachability_datetime_threshold() - ) + dt = NaiveDateTime.utc_now() + Instances.set_unreachable(inbox1, dt) + + Instances.set_consistently_unreachable(URI.parse(inbox2).host) {:ok, _activity} = CommonAPI.post(user, %{"status" => "HI @nick1@domain.com, @nick2@domain2.com!"}) - assert called(Federator.enqueue(:publish_single_ap, %{inbox: inbox1})) + assert called( + Federator.enqueue(:publish_single_ap, %{inbox: inbox1, unreachable_since: dt}) + ) + refute called(Federator.enqueue(:publish_single_ap, %{inbox: inbox2})) end @@ -128,11 +131,20 @@ defmodule Pleroma.Web.FederatorTest do callback: "https://pleroma2.soykaf.com/cb" }) + dt = NaiveDateTime.utc_now() + Instances.set_unreachable(sub2.callback, dt) + Instances.set_consistently_unreachable(sub1.callback) {:ok, _activity} = CommonAPI.post(user, %{"status" => "HI"}) - assert called(Federator.enqueue(:publish_single_websub, %{callback: sub2.callback})) + assert called( + Federator.enqueue(:publish_single_websub, %{ + callback: sub2.callback, + unreachable_since: dt + }) + ) + refute called(Federator.enqueue(:publish_single_websub, %{callback: sub1.callback})) end @@ -158,13 +170,22 @@ defmodule Pleroma.Web.FederatorTest do info: %{salmon: "https://domain2.com/salmon"} }) + dt = NaiveDateTime.utc_now() + Instances.set_unreachable(remote_user2.ap_id, dt) + Instances.set_consistently_unreachable("domain.com") {:ok, _activity} = CommonAPI.post(user, %{"status" => "HI @nick1@domain.com, @nick2@domain2.com!"}) - assert called(Federator.enqueue(:publish_single_salmon, {remote_user2, :_, :_})) - refute called(Federator.enqueue(:publish_single_websub, {remote_user1, :_, :_})) + assert called( + Federator.enqueue(:publish_single_salmon, %{ + recipient: remote_user2, + unreachable_since: dt + }) + ) + + refute called(Federator.enqueue(:publish_single_websub, %{recipient: remote_user1})) end end |